Назад к обновлениям
New releaseSep 1, 2026

vet v1.19.0

Защита от вредоносных пакетов с открытым исходным кодом 🤖

Поделиться

SafeDep vet

Находите вредоносные пакеты, уязвимости и рискованные CI-процессы до того, как они попадут в продакшен.

[!NOTE] Эта ветка — vet v2, в альфа-версии. vet v1 находится в ветке main и остаётся последним релизом. Примечания к выпуску v2.0.0 сопоставляют каждую команду и флаг v1 с v2.

Зачем нужен vet

Ваши зависимости, ваши рабочие процессы GitHub Actions и конфигурации AI-агентов выполняют код, который написали не вы. vet находит риски в них.

  • Вредоносные пакеты. vet проверяет каждый пакет по SafeDep Threat Intel. Threat Intel анализирует новые версии пакетов, когда реестры их публикуют.
  • Известные уязвимости, с указанием версии, до которой нужно обновиться.
  • Рискованные рабочие процессы. Опасные триггеры, внедрение шаблонов, раскрытые секреты и действия без закреплённого commit SHA.
  • Подмена lockfile и свежие версии. Записи из недоверенного реестра и версии в пределах окна ожидания.
  • Политики как код. Правила на CEL определяют, когда сканирование завершается неудачей. Вы можете протестировать правило на сохранённом сканировании.
  • Инвентаризация AI и криптографии. vet перечисляет AI-библиотеки и криптографические алгоритмы, которые вызывает ваш код, и создаёт CycloneDX xBOM и CBOM.

vet не требует учётной записи и не отправляет исходный код.

Быстрый старт

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

vet scan находит вредоносный пакет, уязвимости и внедрение в рабочий процесс

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

Установка

КаналКоманда
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
Контейнерdocker run --rm -v "$PWD:/src" -w /src ghcr.io/safedep/vet:v2-latest scan

mise устанавливает релиз через день после его публикации. В install.md есть команда для самой новой сборки, релизных бинарников и аттестаций сборки.

Что сканирует vet

ЦельПример
Каталог (по умолчанию)vet scan, vet scan ./service
Git-репозиторийvet scan https://github.com/safedep/vet
Образ контейнераvet scan oci://alpine:3.20, vet scan image.tar
SBOM (CycloneDX или SPDX)vet scan sbom.cdx.json
Один пакетvet scan pkg:npm/[email protected]
Инструменты на этой машинеvet endpoint audit

vet читает lockfile и манифесты npm, PyPI, Go, Maven, Gradle, Cargo, RubyGems, NuGet, Packagist, Pub и других. Он также читает рабочие процессы GitHub Actions и конфигурации AI-агентов цели. Он не устанавливает и не запускает ничего из этого. Контроли превращают эти данные в находки. См. controls.md.

Политики

Политика определяет, когда сканирование завершается неудачей. Сохраните этот файл как 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

Протестируйте её на последнем сканировании, без нового сканирования. Затем примените её к pull request:

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

После даты истечения подавление больше не скрывает находку. Читайте policy.md для полей правил, дополнительных правил и Agent Skill, который напишет политику за вас.

Сценарии использования

  • Проверка pull request. vet GitHub Action комментирует pull request, который добавляет пакет, рабочий процесс или находку, и проваливает проверку при атаке. vet ci init добавляет его в репозиторий.
  • CI-гейт. Коды выхода, SARIF для сканирования кода GitHub, отчёты GitLab и Bitbucket. См. ci.md.
  • Ревью pull request. --base-ref сообщает только о пакетах и рабочих процессах, которые добавляет изменение.
  • xBOM и CBOM. Инвентаризация CycloneDX 1.7 AI-библиотек и криптографии, которую использует ваш код. См. inventory.md.
  • AI-агенты. vet находит Claude Code и других агентов, а затем выводит JSON и никогда не задаёт вопросов.
  • Аудит конечных точек. vet endpoint audit перечисляет AI-инструменты, MCP-серверы, расширения редакторов и глобальные npm-пакеты на машине разработчика и проверяет их на вредоносное ПО.

Документация

Категории