Skip to content

Add SecuLens and SBOM Vulnerability Scanner - #187

Open
masahiroid wants to merge 6 commits into
CycloneDX:mainfrom
masahiroid:codex/add-seculens-sbom-scanner
Open

masahiroid wants to merge 6 commits into
CycloneDX:mainfrom
masahiroid:codex/add-seculens-sbom-scanner

Conversation

@masahiroid

Copy link
Copy Markdown

Adds two Apache-2.0 tools with CycloneDX JSON SBOM generation and analysis capabilities:

  • SecuLens: TypeScript CLI/library importing CycloneDX 1.4–1.7 and SPDX 2.2/2.3 JSON, matching npm/PyPI/Composer dependencies against OSV advisory records, evaluating license policies, and generating Word/JSON reports. npm SBOM generation delegates to npm sbom.
  • SBOM Vulnerability Scanner: VS Code extension generating/importing CycloneDX and SPDX JSON, providing dependency/license inspection, known-vulnerability scanning through Trivy or npm audit, and HTML/JSON/Word reports. Classified as APPLICATION because 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. Generated tools.json is intentionally unchanged, following the contribution instructions.

@masahiroid
masahiroid requested a review from a team as a code owner October 21, 2026 13:32
Copilot AI balanced review requested due to automatic review settings October 21, 2026 13:32
Signed-off-by: masahiroid <masahiro@antennefrance.com>
@masahiroid
masahiroid force-pushed the codex/add-seculens-sbom-scanner branch from bee8bf2 to 1704f0d Compare October 21, 2026 13:33

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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

Comment thread tools/sbom_vulnerability_scanner.json Resolved
Comment thread tools/seculens.json Resolved
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>
@masahiroid
masahiroid force-pushed the codex/add-seculens-sbom-scanner branch from a626ace to b11ec63 Compare November 5, 2026 12:20
masahiroid and others added 2 commits November 6, 2026 23:36
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>
@masahiroid

Copy link
Copy Markdown
Author

@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?

@masahiroid
masahiroid requested a review from jkowalleck November 6, 2026 15:07
"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.",

@jkowalleck jkowalleck Nov 12, 2026 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@masahiroid

Copy link
Copy Markdown
Author

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants