
vet v1.18.1
Защита от вредоносных пакетов с открытым исходным кодом 🤖
[!NOTE]
vetподдерживает специальный режим для Agent Skills. Выполнитеvet scan --agent-skill <owner/repo>для сканирования Agent Skill, размещённого в репозитории GitHub.
Зачем нужен vet?
70–90% современного программного обеспечения — это код с открытым исходным кодом — как узнать, что он безопасен?
Традиционные SCA-инструменты заваливают вас шумом из CVE. vet предлагает иной подход:
- Обнаружение теневого ИИ — выявляет сигналы использования ИИ-инструментов в различных инструментах и конфигурациях
- Ловите вредоносное ПО до его поставки — обнаружение нулевого дня с помощью статического и динамического поведенческого анализа (требуется доступ к SafeDep Cloud)
- Режьте сквозь шум уязвимостей — анализирует фактическое использование кода, чтобы показывать только значимые риски
- Политики как код — выражайте требования безопасности, лицензий и качества в виде CEL выражений
- Интеграция с CI/CD — защитные барьеры безопасности в CI/CD без настройки
Бесплатно для open source. Хостируемый SaaS доступен на SafeDep.
Быстрый старт
Установка за секунды:
# macOS и Linux
brew install safedep/tap/vet
# Через npm
npm install -g @safedep/vet
или скачайте готовый бинарный файл
Приступайте к работе немедленно:
# Сканирование зависимостей на вредоносное ПО
vet scan -D . --malware-query
# Остановка CI при критических уязвимостях
vet scan -D . --filter 'vulns.critical.exists(p, true)' --filter-fail
Архитектура
vet использует конвейерную архитектуру: ридеры (readers) загружают манифесты пакетов из разнообразных источников (каталогов, репозиториев, контейнерных образов, SBOM), обогатители (enrichers) дополняют каждый пакет данными об уязвимостях, вредоносном ПО и скоринг-картах из SafeDep Cloud, CEL-движок политик оценивает политики безопасности на основе обогащённых данных, а репортеры (reporters) формируют практичный результат в таких форматах, как SARIF, JSON и Markdown.
Просмотреть схему архитектуры
graph TB
subgraph "OSS Ecosystem"
R1[npm Registry]
R2[PyPI Registry]
R3[Maven Central]
R4[Other Registries]
end
subgraph "SafeDep Cloud"
M[Continuous Monitoring]
A[Real-time Code Analysis<br/>Malware Detection]
T[Threat Intelligence DB<br/>Vulnerabilities • Malware • Scorecard]
end
subgraph "vet CLI"
S[Source Repository<br/>Scanner]
P[CEL Policy Engine]
O[Reports & Actions<br/>SARIF/JSON/CSV]
end
R1 -->|New Packages| M
R2 -->|New Packages| M
R3 -->|New Packages| M
R4 -->|New Packages| M
M -->|Behavioral Analysis| A
A -->|Malware Signals| T
S -->|Query Package Info| T
T -->|Security Intelligence| S
S -->|Analysis Results| P
P -->|Policy Decisions| O
style M fill:#7CB9E8,stroke:#5A8DB8,color:#1a1a1a
style A fill:#E8A87C,stroke:#B88A5A,color:#1a1a1a
style T fill:#7CB9E8,stroke:#5A8DB8,color:#1a1a1a
style S fill:#90C695,stroke:#6B9870,color:#1a1a1a
style P fill:#E8C47C,stroke:#B89B5A,color:#1a1a1a
style O fill:#B8A3D4,stroke:#9478AA,color:#1a1a1a
Ключевые возможности
Обнаружение вредоносных пакетов
Защита от вредоносных пакетов в реальном времени на базе SafeDep Cloud. Бесплатно для проектов с открытым исходным кодом. Обнаруживает вредоносное ПО нулевого дня с помощью активного анализа кода.
Анализ уязвимостей
В отличие от сканеров зависимостей, которые заваливают вас шумом, vet анализирует ваше фактическое использование кода, чтобы расставить приоритеты для реальных рисков.
Подробнее см. в разделе оценка использования зависимостей.
Политики как код
Определяйте политики безопасности с помощью CEL-выражений для применения требований, учитывающих контекст:
# Блокировка пакетов с критическими CVE
vet scan --filter 'vulns.critical.exists(p, true)' --filter-fail
# Обеспечение соблюдения лицензий
vet scan --filter 'licenses.contains_license("GPL-3.0")' --filter-fail
# Требование минимальных оценок OpenSSF Scorecard
vet scan --filter 'scorecard.scores.Maintained < 5' --filter-fail
Поддержка множества экосистем
Менеджеры пакетов: npm, PyPI, Maven, Go, Ruby, Rust, PHP Контейнерные образы: Docker, OCI Форматы SBOM: CycloneDX, SPDX Исходные репозитории: GitHub, GitLab
Обнаружение вредоносных пакетов
Защита от вредоносных пакетов в реальном времени путём запросов к базе угроз SafeDep, которая непрерывно пополняется за счёт статического и динамического поведенческого анализа.
Быстрая настройка
# Запрос известных вредоносных пакетов (ключ API не требуется)
vet scan -D . --malware-query
[!NOTE] Флаг
--malwareустарел. Активное (по запросу) сканирование прекращено в пользу запросов к базе угроз SafeDep. Теперь--malwareведёт себя идентично--malware-queryи сохранён для обратной совместимости.
Примеры обнаружений:
- MAL-2025-3541: express-cookie-parser
- MAL-2025-4339: eslint-config-airbnb-compat
- MAL-2025-4029: ts-runtime-compat-check
Ключевые функции безопасности:
- Запросы в реальном времени к базе известных вредоносных пакетов SafeDep
- Поведенческий анализ с использованием статических и динамических методов (выполняется непрерывно в SafeDep Cloud)
- Разбор важных находок с участием человека (human-in-the-loop)
- Публичный журнал анализа для прозрачности
Расширенное использование
# Специализированные сканирования
vet scan --vsx --malware-query # Расширения VS Code
vet scan -D .github/workflows --malware-query # GitHub Actions
vet scan --image nats:2.10 --malware-query # Контейнерные образы
[!NOTE] Команда
vet inspect malware(анализ одного пакета по запросу) устарела и будет удалена в одном из будущих релизов. Используйтеvet scan --malware-queryдля проверки пакетов по базе известных вредоносных пакетов SafeDep.
Интеграции для продакшена
GitHub Actions
Защитные барьеры безопасности в CI/CD без настройки:
- uses: safedep/vet-action@v1
with:
policy: ".github/vet/policy.yml"
См. документацию vet-action.
GitLab CI
Корпоративное сканирование с помощью CI Component для vet:
include:
- component: gitlab.com/safedep/ci-components/vet/scan@main
Интеграция с контейнерами
Запускайте vet где угодно с помощью нашего контейнерного образа:
docker run --rm -v $(pwd):/app ghcr.io/safedep/vet:latest scan -D /app --malware-query
Установка
Homebrew (рекомендуется)
brew install safedep/tap/vet
npm
npm install @safedep/vet
Прямое скачивание
Смотрите релизы для готовых бинарных файлов.
Установка через Go
go install github.com/safedep/vet@latest
Контейнерный образ
# Быстрая проверка
docker run --rm ghcr.io/safedep/vet:latest version
# Сканирование локального каталога
docker run --rm -v $(pwd):/workspace ghcr.io/safedep/vet:latest scan -D /workspace
Проверка установки
vet version
# Должна отобразиться информация о версии и сборке
Расширенные возможности
Подробнее в нашей исчерпывающей документации:
- Обнаружение использования ИИ — выявляет сигналы использования ИИ-инструментов в различных инструментах и конфигурациях
- Режим ИИ-агента — запуск vet в роли ИИ-агента
- MCP-сервер — запуск vet в роли MCP-сервера для анализа кода с помощью ИИ
- Отчёты — форматы SARIF, JSON, CSV, HTML, Markdown
- Поддержка SBOM — импорт/экспорт CycloneDX, SPDX
- Режим запросов — сканируйте один раз, анализируйте многократно
- Интеграция с GitHub — сканирование репозиториев и организаций
- Пиннинг GitHub Actions — фиксация GitHub Actions на commit SHA для предотвращения атак на цепочку поставок
Конфиденциальность
vet собирает анонимную телеметрию использования для улучшения продукта. Ваш код и информация о пакетах никогда не передаются.
# Отключение телеметрии (необязательно)
export VET_DISABLE_TELEMETRY=true
Сообщество и поддержка
Получите помощь и поделитесь идеями
- Интерактивный учебник — практическое знакомство с vet
- Полная документация — исчерпывающие руководства
- Сообщество Discord — поддержка в реальном времени
- Трекер задач — отчёты об ошибках и запросы функций
- Руководство по внесению вклада — присоединяйтесь к разработке
История звёзд
Создано на основе открытого исходного кода
vet стоит на плечах гигантов:
OSV • OpenSSF Scorecard • SLSA • OSV-SCALIBR • Syft
Контрибьюторы
Спасибо всем контрибьюторам ❤️
Защитите свою цепочку поставок уже сегодня. Поставьте звезду репозиторию и начните!
Создано с любовью командой SafeDep и сообществом открытого исходного кода
