Repository navigation
Add SecuLens and SBOM Vulnerability Scanner - #187
masahiroid wants to merge 6 commits into
Conversation
Signed-off-by: masahiroid <masahiro@antennefrance.com>
bee8bf2 to
1704f0d
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The scanner listing overstates its BOM vulnerability-analysis capability and misidentifies its SPDX output format.
2 open issues
What changed in this PR
Adds two open-source tools to the CycloneDX tool catalog.
Changes:
- Adds SecuLens with SBOM generation, analysis, and reporting capabilities.
- Adds SBOM Vulnerability Scanner with generation, import, inspection, and reporting metadata.
| File | Description |
|---|---|
| tools/seculens.json | Registers the SecuLens CLI and library. |
| tools/sbom_vulnerability_scanner.json | Registers the VS Code extension. |
Review effort: Balanced
Both tools generate or analyze BOMs automatically rather than letting a human author them by hand (see CycloneDX#130). Use a publisher-scoped file name for the scanner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: masahiroid <masahiro@antennefrance.com>
a626ace to
b11ec63
Compare
The scanner inspects source directories rather than BOM contents, so it does not claim SECURITY_VULNERABILITIES. SPDX is generated as tag-value; SPDX JSON is import-only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: masahiroid <masahiro@antennefrance.com>
Scanner 9.7.0 keeps SPDX JSON from Syft and Trivy; the built-in manifest reader writes tag-value. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: masahiroid <masahiro@antennefrance.com>
|
@jkowalleck Thanks for the review. All your comments are addressed:
I also addressed the two Copilot comments: the scanner no longer claims SECURITY_VULNERABILITIES, because it scans source directories rather than BOM contents, and the description now states the SPDX output per generator, matching scanner release 9.7.0. Could you please approve the pending workflow runs and take another look? |
| "PACKAGE_URL" | ||
| ], | ||
| "name": "SBOM Vulnerability Scanner", | ||
| "description": "VS Code extension that generates CycloneDX JSON and SPDX SBOMs (SPDX JSON with Syft or Trivy, tag-value with its built-in npm manifest reader), imports CycloneDX/SPDX JSON SBOMs, explores dependencies and licenses, scans source directories for known vulnerabilities using Trivy or npm audit, and exports HTML, JSON and Word reports.", |
There was a problem hiding this comment.
Schema validation errors were encountered.
tools/masahiroid-sbom-vulnerability-scanner.json::$.tool.description: 'VS Code extension that generates CycloneDX JSON and SPDX SBOMs (SPDX JSON with Syft or Trivy, tag-value with its built-in npm manifest reader), imports CycloneDX/SPDX JSON SBOMs, explores dependencies and licenses, scans source directories for known vulnerabilities using Trivy or npm audit, and exports HTML, JSON and Word reports.' is too long
max 255 chars.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Shortened the description of the SBOM Vulnerability Scanner entry to fit the 225-character limit. The AUTHOR function was removed and the file was renamed in the previous push. Could you take another look? Thanks! |


Adds two Apache-2.0 tools with CycloneDX JSON SBOM generation and analysis capabilities:
npm sbom.APPLICATIONbecause the schema has no VS Code extension packaging category. The version field conservatively lists 1.4, which its built-in CycloneDX exporter emits; this does not claim complete validation of every CycloneDX feature.The listings describe SBOM-related functionality only. No certification or regulatory-conformance claims are made. SecuLens's separate Python/PHP implementations are not submitted as duplicate entries here.
Capability references
SecuLens source inspected at c487ccf20bcd6d792d365f542ddf803e1d3d71ee:
SBOM Vulnerability Scanner source inspected at aba8d3d7f3ab90cbffd51f50a89645c65e8f289e:
Validation
Both new files pass
check-jsonschema --schemafile schemas/tool.schema.json. Descriptions are within the 250-character limit. No existing entries for these tools were found. Generatedtools.jsonis intentionally unchanged, following the contribution instructions.