Voltar às atualizações
New releaseSep 1, 2026

vet v1.19.0

Proteja-se contra pacotes de código aberto maliciosos 🤖

Compartilhar

SafeDep vet

Encontre pacotes maliciosos, vulnerabilidades e workflows de CI arriscados antes que cheguem à produção.

[!NOTE] Este branch é o vet v2, em alpha. O vet v1 está em main e continua sendo a versão mais recente. As notas de versão do v2.0.0 mapeiam cada comando e flag do v1 para o v2.

Por que usar o vet

Suas dependências, seus workflows do GitHub Actions e suas configurações de agentes de IA executam código que você não escreveu. O vet encontra o risco neles.

  • Pacotes maliciosos. O vet verifica cada pacote contra o SafeDep Threat Intel. O Threat Intel analisa novas versões de pacotes quando os registries as publicam.
  • Vulnerabilidades conhecidas, com a versão corrigida para a qual atualizar.
  • Workflows arriscados. Triggers perigosos, injeção de template, segredos expostos e actions sem commit SHA fixado.
  • Adulteração de lockfile e versões recentes. Entradas de um registry não confiável e versões dentro da janela de cooldown.
  • Política como código. Regras em CEL decidem quando um scan falha. Você pode testar uma regra em um scan salvo.
  • Inventário de IA e criptografia. O vet lista as bibliotecas de IA e os algoritmos de criptografia que seu código chama, e escreve um CycloneDX xBOM e CBOM.

O vet não precisa de conta e não envia código-fonte.

Início rápido

brew install --cask safedep/tap/vet@edge
vet scan

vet scan finds a malicious package, vulnerabilities and workflow injection

vet scan --fail-on high                         # exit 1 on a high or critical finding
vet scan --base-ref origin/main --fail-on high  # report only what a pull request changes
vet report show --report sarif=vet.sarif        # write SARIF from the saved scan, with no new scan

Instalação

CanalComando
Homebrewbrew install --cask safedep/tap/vet@edge
misemise use -g 'github:safedep/vet[prerelease=true]@2'
Gogo install github.com/safedep/vet/v2/cmd/vet@latest
Containerdocker run --rm -v "$PWD:/src" -w /src ghcr.io/safedep/vet:v2-latest scan

O mise instala uma versão um dia após sua publicação. O install.md tem o comando para a build mais recente, os binários de release e as atestações de build.

O que o vet escaneia

AlvoExemplo
Um diretório (o padrão)vet scan, vet scan ./service
Um repositório gitvet scan https://github.com/safedep/vet
Uma imagem de containervet scan oci://alpine:3.20, vet scan image.tar
Um SBOM (CycloneDX ou SPDX)vet scan sbom.cdx.json
Um pacotevet scan pkg:npm/[email protected]
As ferramentas nesta máquinavet endpoint audit

O vet lê os lockfiles e manifests de npm, PyPI, Go, Maven, Gradle, Cargo, RubyGems, NuGet, Packagist, Pub e mais. Ele também lê os workflows do GitHub Actions e as configurações de agentes de IA do alvo. Ele não instala nem executa nenhum deles. Os controles transformam esses dados em achados. Veja controls.md.

Política

Uma política decide quando um scan falha. Salve este arquivo como vet-policy.yml:

version: 2
rules:
  - id: no-malware
    description: A malicious or suspicious package fails the build.
    when: finding.family == "malware"
    action: fail
  - id: no-workflow-injection
    when: finding.control_id in ["dangerous-trigger", "template-injection"]
    action: fail
  - id: no-critical-vulnerability
    when: finding.control_id == "vulnerability" && finding.severity == "critical"
    action: fail
  - id: new-dependency-age
    description: A pull request cannot add a version that is less than 14 days old.
    when: package.change == "ADDED" && has(package.days_since_publish) && package.days_since_publish < 14
    action: fail
suppressions:
  - purl: pkg:npm/[email protected]
    reason: The upgrade to 4.18.1 is in pull request 42.
    expires: 2026-12-31

Teste-a no último scan, sem um novo scan. Depois aplique-a a um pull request:

vet report show last --policy vet-policy.yml
vet scan --base-ref origin/main --policy vet-policy.yml

Após sua data de expiração, a supressão deixa de ocultar o achado. Leia policy.md para os campos de regra, mais regras e a Agent Skill que escreve uma política para você.

Casos de uso

  • Verificação de pull request. A vet GitHub Action comenta em um pull request que adiciona um pacote, um workflow ou um achado, e falha a verificação em um ataque. vet ci init a adiciona a um repositório.
  • Gate de CI. Códigos de saída, SARIF para o code scanning do GitHub, relatórios do GitLab e Bitbucket. Veja ci.md.
  • Revisão de pull request. --base-ref reporta apenas os pacotes e workflows que uma mudança adiciona.
  • xBOM e CBOM. Um inventário CycloneDX 1.7 das bibliotecas de IA e da criptografia que seu código usa. Veja inventory.md.
  • Agentes de IA. O vet encontra o Claude Code e outros agentes, e então escreve JSON e nunca solicita entrada.
  • Auditoria de endpoint. vet endpoint audit lista as ferramentas de IA, servidores MCP, extensões de editor e pacotes npm globais em uma máquina de desenvolvedor, e os verifica em busca de malware.

Documentação

Categorias