
vet v1.19.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 # Контейнерные образы