Pular para o conteúdo principal
O tool @osv verifica as dependências fixadas do projeto contra a base pública OSV.devkeyless, sem API key e sem CLI externa. Inspirado no osv_check do hermes-agent, implementado nativamente em Go.

Subcomandos

<tool_call name="@osv" args='{"cmd":"scan","args":{"path":"go.mod"}}' />
<tool_call name="@osv" args='{"cmd":"check","args":{"ecosystem":"PyPI","package":"requests","version":"2.19.0"}}' />

scan {path}

Lê um manifesto (ou um diretório que contenha um) e checa cada dependência fixada:
EcossistemaManifesto
Gogo.mod
PyPIrequirements.txt (pins ==)
npmpackage-lock.json (v1 e v2+)
crates.ioCargo.lock
path padrão é o diretório atual; um diretório é resolvido para o primeiro manifesto suportado encontrado.

check {ecosystem, package, version}

Verifica uma única dependência. Ecossistemas: Go | PyPI | npm | crates.io | Maven | RubyGems | NuGet | Packagist.

Saída

Para cada dependência vulnerável, lista o ID do advisory, aliases (CVE/GHSA), severidade (CVSS) e um resumo:
@osv scan of go.mod — 42 dependencies checked

⚠️  1 vulnerable dependenc(ies):

• github.com/evil/pkg@v1.0.0 (Go)
    GHSA-xxxx (CVE-2020-0001) [CVSS_V3:9.8] — descrição da falha
Quando nada é encontrado: ✅ No known vulnerabilities found.

Notas

  • É read-only e concurrency-safe — o orquestrador pode rodar vários @osv em paralelo.
  • Falhas transitórias de rede em deps individuais são puladas sem abortar o scan inteiro.
  • Por ser keyless e baseado em HTTP público, funciona em qualquer SO.
Combine com o Scheduler para um scan periódico e @send para te notificar quando surgir uma CVE nova nas suas dependências.