𓆣 𝔗̶𝔢̶𝔱̶𝔰̶𝔱̶𝔞̶𝔠̶𝔨̶ 𓆣
I present dSBOM Well as of this days every major company is obsessed with supply chain security and generating Software Bill of Materials (SBOMs) to comply with government regulations. and mainly 99% of current tools only generate Static SBOMs. They…
Okay let's lockin tonight, i am stream even with no views it doesn't matter. So anyways back to dSBOM
[*] Initiating: basic_link
[*] dSBOM Engine: Tracking initialization on PID 5775
[dSBOM Found] -> /usr/lib/ld-linux-x86-64.so.2
[dSBOM Found] -> /usr/lib/libgcc_s.so.1
[dSBOM Found] -> /usr/lib/libstdc++.so.6.0.35
[dSBOM Found] -> /usr/lib/libm.so.6
[dSBOM Found] -> /usr/lib/libc.so.6
[dSBOM Found] -> /home/picasothedealer/Documents/Projects/dSBOM-engine/build/dSBOM
[dSBOM Found] -> /home/picasothedealer/Documents/Projects/dSBOM-engine/build/basic_link
calculation result is 5.000000
[*] Target process terminated normally. Exit Code: 0
--- Final Real-Time Dynamic SBOM Composition ---
- /home/picasothedealer/Documents/Projects/dSBOM-engine/build/dSBOM
- /usr/lib/libc.so.6
- /usr/lib/libm.so.6
- /home/picasothedealer/Documents/Projects/dSBOM-engine/build/basic_link
- /usr/lib/libstdc++.so.6.0.35
- /usr/lib/libgcc_s.so.1
- /usr/lib/ld-linux-x86-64.so.2
[+] Complete: basic_link
[*] Initiating: dynamic_load
[*] dSBOM Engine: Tracking initialization on PID 5777
[dSBOM Found] -> /usr/lib/ld-linux-x86-64.so.2
[dSBOM Found] -> /usr/lib/libgcc_s.so.1
[dSBOM Found] -> /usr/lib/libstdc++.so.6.0.35
[dSBOM Found] -> /usr/lib/libm.so.6
[dSBOM Found] -> /usr/lib/libc.so.6
[dSBOM Found] -> /home/picasothedealer/Documents/Projects/dSBOM-engine/build/dSBOM
[dSBOM Found] -> /home/picasothedealer/Documents/Projects/dSBOM-engine/build/dynamic_load
[*] Target process terminated normally. Exit Code: 0
--- Final Real-Time Dynamic SBOM Composition ---
- /home/picasothedealer/Documents/Projects/dSBOM-engine/build/dynamic_load
- /home/picasothedealer/Documents/Projects/dSBOM-engine/build/dSBOM
- /usr/lib/libc.so.6
- /usr/lib/libm.so.6
- /usr/lib/libstdc++.so.6.0.35
- /usr/lib/libgcc_s.so.1
- /usr/lib/ld-linux-x86-64.so.2
[+] Complete: dynamic_load
[*] Initiating: memory_injections
[*] dSBOM Engine: Tracking initialization on PID 5779
[dSBOM Found] -> /usr/lib/ld-linux-x86-64.so.2
[dSBOM Found] -> /usr/lib/libgcc_s.so.1
[dSBOM Found] -> /usr/lib/libstdc++.so.6.0.35
[dSBOM Found] -> /usr/lib/libm.so.6
[dSBOM Found] -> /usr/lib/libc.so.6
[dSBOM Found] -> /home/picasothedealer/Documents/Projects/dSBOM-engine/build/dSBOM
[dSBOM Found] -> /home/picasothedealer/Documents/Projects/dSBOM-engine/build/memory_injections
[*] Target process terminated normally. Exit Code: 0
--- Final Real-Time Dynamic SBOM Composition ---
- /home/picasothedealer/Documents/Projects/dSBOM-engine/build/memory_injections
- /home/picasothedealer/Documents/Projects/dSBOM-engine/build/dSBOM
- /usr/lib/libc.so.6
- /usr/lib/libm.so.6
- /usr/lib/libstdc++.so.6.0.35
- /usr/lib/libgcc_s.so.1
- /usr/lib/ld-linux-x86-64.so.2
[+] Complete: memory_injections
[*] Initiating: stress_syscall
[*] dSBOM Engine: Tracking initialization on PID 5781
[dSBOM Found] -> /usr/lib/ld-linux-x86-64.so.2
[dSBOM Found] -> /usr/lib/libgcc_s.so.1
[dSBOM Found] -> /usr/lib/libm.so.6
[dSBOM Found] -> /usr/lib/libstdc++.so.6.0.35
[dSBOM Found] -> /usr/lib/libc.so.6
[dSBOM Found] -> /home/picasothedealer/Documents/Projects/dSBOM-engine/build/dSBOM
[dSBOM Found] -> /home/picasothedealer/Documents/Projects/dSBOM-engine/build/stress_syscall
[*] Target process terminated normally. Exit Code: 0
--- Final Real-Time Dynamic SBOM Composition ---
- /home/picasothedealer/Documents/Projects/dSBOM-engine/build/dSBOM
- /usr/lib/libc.so.6
- /usr/lib/libstdc++.so.6.0.35
- /home/picasothedealer/Documents/Projects/dSBOM-engine/build/stress_syscall
- /usr/lib/libm.so.6
- /usr/lib/libgcc_s.so.1
- /usr/lib/ld-linux-x86-64.so.2
[+] Complete: stress_syscall
𓆣 𝔗̶𝔢̶𝔱̶𝔰̶𝔱̶𝔞̶𝔠̶𝔨̶ 𓆣
[*] Initiating: basic_link [*] dSBOM Engine: Tracking initialization on PID 5775 [dSBOM Found] -> /usr/lib/ld-linux-x86-64.so.2 [dSBOM Found] -> /usr/lib/libgcc_s.so.1 [dSBOM Found] -> /usr/lib/libstdc++.so.6.0.35 [dSBOM Found] -> /usr/lib/libm.so.6 [dSBOM…
Now to phase 2 into building the
CycloneDX generator, the out put uses /usr/lib/libstdc++.so.6.0.35 but the programs are not c++ but C files. So i will fix it in phase 2 even if it is harmless, it's happening cuz the ProcessSpawner calls fork() the kernel creates an exact memory clone of the main process which is the engine.*] Initiating: basic_link
[*] dSBOM Engine: Tracking initialization on PID 12571
[dSBOM Found] -> /usr/lib/ld-linux-x86-64.so.2
[dSBOM Found] -> /usr/lib/libm.so.6
[dSBOM Found] -> /usr/lib/libc.so.6
calculation result is 5.000000
[*] Target execution finished. Generating Artifacts...
[+] CycloneDX SBOM generated successfully: runtime-sbom.json
[+] Complete: basic_link
[*] Initiating: dynamic_load
[*] dSBOM Engine: Tracking initialization on PID 12573
[dSBOM Found] -> /usr/lib/ld-linux-x86-64.so.2
[dSBOM Found] -> /usr/lib/libm.so.6
[dSBOM Found] -> /usr/lib/libc.so.6
[*] Target execution finished. Generating Artifacts...
[+] CycloneDX SBOM generated successfully: runtime-sbom.json
[+] Complete: dynamic_load
[*] Initiating: memory_injections
[*] dSBOM Engine: Tracking initialization on PID 12575
[dSBOM Found] -> /usr/lib/ld-linux-x86-64.so.2
[dSBOM Found] -> /usr/lib/libm.so.6
[dSBOM Found] -> /usr/lib/libc.so.6
[*] Target execution finished. Generating Artifacts...
[+] CycloneDX SBOM generated successfully: runtime-sbom.json
[+] Complete: memory_injections
[*] Initiating: stress_syscall
[*] dSBOM Engine: Tracking initialization on PID 12577
[dSBOM Found] -> /usr/lib/ld-linux-x86-64.so.2
[dSBOM Found] -> /usr/lib/libm.so.6
[dSBOM Found] -> /usr/lib/libc.so.6
[*] Target execution finished. Generating Artifacts...
[+] CycloneDX SBOM generated successfully: runtime-sbom.json
[+] Complete: stress_syscall
Now it's clean
{
"bomFormat": "CycloneDX",
"specVersion": "1.5",
"version": 1,
"components": [
{
"type": "library",
"name": "libc.so.6",
"version": "dynamic-runtime",
"hashes": [
{ "alg": "SHA-256", "content": "9bf40a540836d90c7d46c95eeb222a217597834eea29ab9e537428317c021c3a" }
],
"properties": [
{ "name": "dsbom:path", "value": "/usr/lib/libc.so.6" }
]
},
{
"type": "library",
"name": "libm.so.6",
"version": "dynamic-runtime",
"hashes": [
{ "alg": "SHA-256", "content": "8f85ea3a02885cda4ecff8758e6e758c69ccaa25b6580cb97b5713ac512f0a1b" }
],
"properties": [
{ "name": "dsbom:path", "value": "/usr/lib/libm.so.6" }
]
},
{
"type": "library",
"name": "ld-linux-x86-64.so.2",
"version": "dynamic-runtime",
"hashes": [
{ "alg": "SHA-256", "content": "d52fe2ff87fff536ed5c5eae8e954cb50655884e4709fedd24cf57f9ec98ad80" }
],
"properties": [
{ "name": "dsbom:path", "value": "/usr/lib/ld-linux-x86-64.so.2" }
]
},
{
"type": "library",
"name": "stress_syscall",
"version": "dynamic-runtime",
"hashes": [
{ "alg": "SHA-256", "content": "a33f3874e4433337ff7ae5c396a3aaf5e5553f7f4a48a1ae6ec6d3ce47bdc374" }
],
"properties": [
{ "name": "dsbom:path", "value": "./build/stress_syscall" }
]
}
]
}I wish I knew the exact step, I started with C++ with Arduino and robotics and then it was just here and there but if you want to do low level stuff check out https://pwn.college
I present dSBOM-engine
https://github.com/PicasoTheDeal/dSBOM-engine
Static SBOM tools miss a massive execution blind spot: what's on disk isn't always what runs in memory. Malware easily bypasses them by packing payloads inside clean ELF envelopes and dynamic libraries via dlopen().
dSBOM-engine uses low-level kernel tracing (ptrace) to track live memory maps and export footprints into CycloneDX.
We fixed a fork() inheritance bug where the engine's own C++ libraries bled into audits, automated memory safety checks via CodeQL, and locked down continuous Trivy scanning.
Optimized binaries and SHA256 signatures are live on the repo.
https://github.com/PicasoTheDeal/dSBOM-engine
Static SBOM tools miss a massive execution blind spot: what's on disk isn't always what runs in memory. Malware easily bypasses them by packing payloads inside clean ELF envelopes and dynamic libraries via dlopen().
dSBOM-engine uses low-level kernel tracing (ptrace) to track live memory maps and export footprints into CycloneDX.
We fixed a fork() inheritance bug where the engine's own C++ libraries bled into audits, automated memory safety checks via CodeQL, and locked down continuous Trivy scanning.
Optimized binaries and SHA256 signatures are live on the repo.
GitHub
GitHub - PicasoTheDeal/dSBOM-engine: A high-performance, low-overhead dynamic runtime SBOM generator for Linux, utilizing ptrace…
A high-performance, low-overhead dynamic runtime SBOM generator for Linux, utilizing ptrace hooks for real-time CycloneDX compliance. - PicasoTheDeal/dSBOM-engine
🔥2