π Security SBOM generator with vulnerability chechup
Salute,
Today I want to share a tula that I twirled on the yoke. This tool helps you quickly and in a more convenient form collect SBOM for a project; this will be especially useful for certification according to FSTEC of Russia, including monitoring your supply-chain.
Tula is built in such a way that you donβt have to fumble around with dependencies, but get a normal, structured picture of the softwareβs composition. that is, a clear map of components, versions and metadata, which further helps with auditing, supply chain risks and checking vulnerabilities for each component.
It is this approach that fits well in practices where the SBOM is generated automatically from a repository or assembly artifact, and then used further in pipelines and control systems.
How does it work?
β’ Generates a project SBOM in one of the standard formats so that it can be further transferred to other tools or stored as an artifact
β’ Helps bring the result into a more convenient form, so that the SBOM is not just a βdamp sheetβ, but is readable
β’ Suitable for automation in CI/CD, as a permanent part of the supply-chain process
β’ Can be used as a starting point for further analysis of dependencies, licenses and vulnerabilities
β’ Can be used for certification in FSTEC of Russia according to the requirements of the testing laboratory, including
β’ Works well in scenarios where you need to quickly export dependencies and then run them through security tools or load them into an external loop
Functionally
β’ Generates SBOM from a local directory or Git repository (GitHub / GitLab)
β’ Scans vulnerabilities via Trivy, OWASP Dependency-Check, Clair
β’ Embeds detected vulnerabilities into SBOM (CycloneDX 1.5)
β’ Exports readable reports: Excel (.xlsx), Word (.docx), ODT (.odt)
β’ Signs the resulting SBOM (SHA-256)
Why?
β’ Before release, to understand what it consists of and what dependencies are used
β’ In CI/CD, so that the SBOM is automatically generated for each build or release and it is possible to check workarounds from commands for used dependencies
β’ For security review, when you need to quickly show the composition of dependencies and risk points
β’ For compliance and supply-chain control
I plan to tighten it up
β’ More flexible generation modes for different types of projects
β’ Make post-processing and result validation more convenient
Links
β’ PyPi
β’ DockerHub
β’ Github Package
Structure
sbom_genform/
βββ src/sbom_pipeline/
β βββ cli.py #secsbom/secsbom-pipeline (typer)
β βββ pipeline.py # orchestrator
β βββ generate.py # SBOM generation
β βββ dedup.py # deduplication
β βββ sign.py # SHA-256 signature
β βββ exporter.py #xlsx/docx/odt
β βββ vuln_merger.py # embedding vulnerabilities
β βββ config.py # configuration
β βββ scanner/
β βοΏ½οΏ½β trivy.py
β βββ depcheck.py
β βββclair.py
βββdocker/
β βββ Dockerfile.secgensbom
βββ examples/project_inject/ # vulnerable PHP
βββ secgensbom/secgensbom.yml # GitLab CI shared template
βββ .github/workflows/
β βββ ci.yml
β βββ secgensbom.yml
β βββ publish.yml
βββ tests/test_smoke.py
βββ pyproject.toml
βββ .env.example
#appsec #devsecops #specialty #toolchain #techsolution #paper #sbom
