db_update
Update the local vulnerability database now. Scans already refresh it automatically once a day; call this only when the newest advisories matter.
Takes no parameters.

io.github.ciloopsPublished by GitHub account ciloopsv0.1.3Updated Nov 6, 2026
Local vulnerability scan on top of grype, with prioritised upgrade actions for agents.
The publisher's own server: check.tattoo: tattoo size and placement guide
Local vulnerability scanner built on grype that lets an assistant scan project directories, container images and SBOMs and get prioritized upgrade actions.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
[ci] [codecov] [release] [go] [license]
Vulnerability truth for AI agents. Runs grype locally, merges an OSV freshness overlay, and returns a prioritised answer with concrete upgrade targets instead of a 40 KB JSON dump.
breaking flag.CLEAN is ~20 tokens. Nothing runs on a server; nothing leaves your machine except the optional OSV query.Binaries for Linux/macOS/Windows on the Releases page. Docker: ghcr.io/ciloops/vuln-check (bundles grype).
Output (--format agent):
status: CLEAN | REVIEW (all findings < 40) | ACTION_REQUIRED. fresh: true marks advisories that came from OSV before grype-db ingested them. unfixable counts findings with no fix on the current release line.
Tools: scan_dir, scan_image, scan_sbom, vuln_lookup, db_update.
Claude Code:
Cursor / Windsurf / VS Code (.cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json, .vscode/mcp.json):
Codex (~/.codex/config.toml):
Add --no-osv to the args to keep the dependency list off the network.
severity = CVSS base × 6 (label fallback) · exploit = EPSS × 30 · KEV: +10, floor 85 · no fix: × 0.85. Clamped to 0–100. See internal/score.
grype-db builds daily and grype refreshes it at most every 2 h. The OSV overlay queries api.osv.dev with the purls grype inventoried (language ecosystems only) and adds anything grype-db has not seen yet, usually minutes after a GHSA is published. Disable with --no-osv.
Tests run against a fake grype (cmd/vuln-check/testdata/fake-grype.sh) and fixtures in internal/grype/testdata. CI runs a real grype e2e.
Release: tag vX.Y.Z → goreleaser publishes binaries, checksums, ghcr image, Homebrew cask for macOS (needs HOMEBREW_TAP_GITHUB_TOKEN and the ciloops/homebrew-tap repo) and the npm package via trusted publishing (OIDC, no token: configure the GitHub Actions trusted publisher for @ciloops/vuln-check on npmjs.com, workflow release.yml).
Apache-2.0. grype and syft are Apache-2.0 by Anchore. Vulnerability data: NVD (public domain), GHSA (CC-BY 4.0), OSV (per source), CISA KEV, FIRST EPSS.
Source: README.md at commit dfb645a
Update the local vulnerability database now. Scans already refresh it automatically once a day; call this only when the newest advisories matter.
Takes no parameters.
Scan a project directory for known vulnerabilities in its dependencies (any language with a lockfile) and OS packages. Returns a prioritized summary with concrete upgrade actions. Call this before changing dependency files.
toppathrequiredScan a container image (pulled from the registry, no Docker daemon needed) for vulnerabilities in OS packages and bundled dependencies. Use it to check a Dockerfile's FROM base image before building.
topimagerequiredScan an existing CycloneDX or SPDX SBOM file for vulnerabilities.
toppathrequiredLook up a vulnerability by id (CVE, GHSA, ...) in the local database: severity, affected packages and fixes.
idrequired90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
tattoo.checkOfficial publisher
check.tattoo: tattoo size and placement guide's hosted MCP server, published by check.tattoo; no sign-in required; Streamable HTTP; 5 tools.
pt.ivaOfficial publisher
Validates EU VAT numbers against VIES and returns Portuguese VAT Code (CIVA) and RITI articles, in Portuguese or English.

Published by GitHub account throttler300
A local MCP server that binds an assistant's citations to admitted source text with spans and can reject stale-hash references.

Published by GitHub account kriton-dev
Remote Apify-hosted MCP server that lets an assistant check seven declared HTTP security header families on a site, without returning raw header values.

Published by GitHub account Voopa-Corp
Reviews a completed AI-generated video against its brief and recommends whether to edit, retry once, or change approach before paying for another render.
# grype is requiredbrew install grype # or: curl -sSfL https://get.anchore.io/grype | sh -s -- -b /usr/local/bin
go install github.com/ciloops/vuln-check/cmd/vuln-check@latest# orbrew install ciloops/tap/vuln-check # macOS cask# ornpx @ciloops/vuln-check scan .vuln-check scan . # agent format, OSV overlay onvuln-check scan python:3.12-slim # image, pulled from the registryvuln-check scan sbom:bom.cdx.jsonvuln-check scan --format sarif --sarif-out out.sarif .vuln-check scan --fail-above 69 --no-osv . # CI gate, exit 2 above thresholdvuln-check vuln CVE-2024-3094vuln-check db update{"status":"ACTION_REQUIRED","target":"dir:.","packages":412,"findings":17,"shown":5,"sources":["grype","osv"], "actions":[{"package":"pkg:npm/minimist","current":"1.2.5","target":"1.2.6","breaking":false,"fixes":["CVE-2021-44906"],"score":59}], "top":[{"id":"CVE-2021-44906","package":"[email protected]","severity":"CRITICAL","score":59,"epss":0.015,"fixed_in":["1.2.6"]}], "unfixable":3}claude mcp add vuln-check -- vuln-check mcp# or the plugin (adds a skill that tells Claude when to scan):claude plugin marketplace add ciloops/vuln-check && claude plugin install vuln-check{ "mcpServers": { "vuln-check": { "command": "vuln-check", "args": ["mcp"] } } }[mcp_servers.vuln-check]command = "vuln-check"args = ["mcp"]- uses: ciloops/vuln-check@v1 with: target: . # or an image ref fail-above: 69 sarif: vuln.sarif- uses: github/codeql-action/upload-sarif@v3 if: always() with: { sarif_file: vuln.sarif }go test ./...go build ./cmd/vuln-check