Use this skill to answer vulnerability-intelligence questions through agent-bom's existing scanners and canonical evidence model. Do not create one-off OSV, GHSA, NVD, EPSS, or KEV clients in the agent session; route through agent-bom so advisory provenance, aliases, severity gates, cache behavior, redaction, and output schemas stay consistent.
Start with the smallest mode that answers the user:
ModeUse WhenData Boundaryexplain-onlyUser wants to know what would be queriedNo advisory callscheck-packageUser names one package/version/ecosystemOnly that package identifier is queriedscan-localUser wants findings from local agents or a local inventory fileLocal parse first; advisory calls use package identifiers onlyoffline-reviewPrivate package names cannot leave the environmentUse local/cache-approved data only; disclose reduced coverageexportUser wants PR gate, SARIF, JSON, or audit evidenceWrite only to an operator-selected path
NVD_API_KEY, GITHUB_TOKEN, package-registry
credentials, cloud credentials, or env values.When the user asks "what leaves my environment?", answer before running:
text
This lookup sends package identifiers (name, version, ecosystem/PURL) and CVE
IDs to public advisory databases. It does not send source code, raw configs,
secrets, env values, credentials, or full scan reports. Use offline-review if
private package names are sensitive.
bash
agent-bom check flask==2.0.0 --ecosystem pypi
Use this for quick triage and fix-version checks. If the package name belongs
to a private registry or internal project, use explain-only first and let the
operator decide whether the identifier may be queried externally.
bash
agent-bom scan --inventory inventory.json --format json --output findings.json
Use this after an operator-pull adapter or discovery skill emits canonical inventory. The inventory can stop at the file boundary; scanning is an explicit operator handoff.
bash
agent-bom scan --inventory inventory.json --format sarif --output agent-bom.sarif
Use SARIF only when the user wants GitHub code-scanning or AppSec PR-gate evidence. Keep JSON for local analysis and audit trails.
If external advisory calls are not allowed, run with the project's offline or cache-approved mode and say clearly that coverage depends on the locally available vulnerability database. Do not call a clean offline result equivalent to a fresh OSV/GHSA/NVD lookup.