> ## Documentation Index
> Fetch the complete documentation index at: https://chatcli.edilsonfreitas.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scan de Vulnerabilidades (@osv)

> Checa dependências contra a base OSV.dev — keyless, sem CLI externa. Suporta go.mod, requirements.txt, package-lock.json e Cargo.lock.

O tool **`@osv`** verifica as dependências fixadas do projeto contra a base pública **[OSV.dev](https://osv.dev)** — **keyless**, sem API key e sem CLI externa. Inspirado no `osv_check` do hermes-agent, implementado nativamente em Go.

***

## Subcomandos

```text theme={"system"}
<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:

| Ecossistema | Manifesto                      |
| ----------- | ------------------------------ |
| Go          | `go.mod`                       |
| PyPI        | `requirements.txt` (pins `==`) |
| npm         | `package-lock.json` (v1 e v2+) |
| crates.io   | `Cargo.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:

```text theme={"system"}
@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.

<Tip>
  Combine com o [Scheduler](/pt/features/scheduler) para um scan periódico e `@send` para te notificar quando surgir uma CVE nova nas suas dependências.
</Tip>
