
🐺 Vulfy – Fast Rust based package version scanner
Vulfy — это молниеносно быстрый сканер уязвимостей, который проверяет зависимости вашего проекта на наличие известных проблем безопасности на 9 языках программирования. Написан на Rust для максимальной производительности, интегрируется с базой данных OSV.dev, предоставляя точную и актуальную информацию об уязвимостях.
📖 Полная документация — исчерпывающие руководства, учебники и справочники по API
# Linux/WSL
curl -LO https://github.com/mindPatch/vulfy/releases/latest/download/vulfy-linux-x86_64.tar.gz
tar -xzf vulfy-linux-x86_64.tar.gz
sudo mv vulfy /usr/local/bin/
# macOS (Intel)
curl -LO https://github.com/mindPatch/vulfy/releases/latest/download/vulfy-macos-x86_64.tar.gz
tar -xzf vulfy-macos-x86_64.tar.gz
sudo mv vulfy /usr/local/bin/
# macOS (Apple Silicon)
curl -LO https://github.com/mindPatch/vulfy/releases/latest/download/vulfy-macos-aarch64.tar.gz
tar -xzf vulfy-macos-aarch64.tar.gz
sudo mv vulfy /usr/local/bin/
cargo install vulfy
git clone https://github.com/mindPatch/vulfy.git
cd vulfy
cargo build --release
sudo cp target/release/vulfy /usr/local/bin/
Проверка установки:
vulfy --version
# Должно вывести: vulfy 0.1.0
# Сканирование текущей директории
vulfy scan packages
# Сканирование указанной директории
vulfy scan packages --path /path/to/project
# Показать только уязвимости высокого уровня
vulfy scan packages --high-only
# JSON для автоматизации/CI
vulfy scan packages --format json --output security-report.json
# CSV для анализа в электронных таблицах
vulfy scan packages --format csv --output vulnerabilities.csv
# SARIF для вкладки "Безопасность" на GitHub
vulfy scan packages --format sarif --output vulfy.sarif
# Завершить сборку с ошибкой, если найдены уязвимости высокой степени серьёзности
vulfy scan packages --high-only --quiet || exit 1
# Сканировать только определённые экосистемы
vulfy scan packages --ecosystems npm,pypi --no-dev-deps
🔍 Сканирование файлов с пакетами...
📦 Найдено 6 файлов с пакетами в 4 экосистемах
🛡️ ОТЧЁТ ОБ УЯЗВИМОСТЯХ
┌─────────────────────────────────────────┬──────────────┬──────────┬─────────────────┬──────┐
│ Название │ CVE ID │ Серьёзность│ Пакет │ Год │
├─────────────────────────────────────────┼──────────────┼──────────┼─────────────────┼──────┤
│ Удалённое выполнение кода в lodash │ CVE-2021-123 │ 🔥 Высок.│ [email protected] │ 2021 │
│ Path Traversal в express │ CVE-2022-456 │ 🟡 Сред. │ [email protected] │ 2022 │
│ SQL-инъекция в sequelize │ CVE-2020-789 │ 🔥 Высок.│ [email protected] │ 2020 │
└─────────────────────────────────────────┴──────────────┴──────────┴─────────────────┴──────┘
📊 СВОДКА СКАНИРОВАНИЯ
• Всего просканировано пакетов: 42
• Уязвимых пакетов: 8
• Всего уязвимостей: 12
• 🔥 Высокая серьёзность: 4
• 🟡 Средняя серьёзность: 6
• 🟢 Низкая серьёзность: 2
📖 Посмотреть все форматы вывода — примеры JSON, CSV, SARIF
Vulfy включает мощную систему автоматизации для непрерывного мониторинга безопасности Git-репозиториев.
# Инициализация автоматизации с примером конфигурации
vulfy automation init --with-examples
# Проверка конфигурации
vulfy automation validate
# Ручное сканирование с использованием конфигурации автоматизации
vulfy automation run
# Запуск непрерывного мониторинга
vulfy automation start --foreground
# Мониторинг нескольких репозиториев
[[repositories]]
name = "my-web-app"
url = "https://github.com/user/my-web-app.git"
branches = ["main", "develop"]
ecosystems = ["npm", "pypi"]
[repositories.credentials]
username = "git"
token = "your_github_token_here"
# Ежедневное сканирование в 02:00 UTC
[schedule]
frequency = "daily"
time = "02:00"
timezone = "UTC"
# Уведомления через Discord webhook
[[notifications.webhooks]]
name = "Оповещения безопасности"
url = "https://discord.com/api/webhooks/..."
webhook_type = "discord"
enabled = true
# Продвинутые политики безопасности
[[policies]]
name = "Критические проблемы аутентификации"
enabled = true
[policies.conditions]
title_contains = ["authentication", "auth", "bypass"]
severity = ["high", "critical"]
[policies.actions]
notify = true
priority = "critical"
custom_message = "🚀 Обнаружена критическая уязвимость аутентификации!"
📖 Полное руководство по автоматизации — подробная настройка и конфигурация
vulfy scan packages [OPTIONS]
OPTIONS:
-p, --path <PATH> Директория для сканирования [по умолчанию: текущая]
-f, --format <FORMAT> Формат вывода: table, json, csv, summary, sarif
-o, --output <FILE> Сохранить результаты в файл
-e, --ecosystems <LIST> Сканировать только указанные экосистемы (через запятую)
-q, --quiet Не показывать прогресс
--high-only Показывать только уязвимости высокой/критической серьёзности
--no-recursive Не сканировать поддиректории
--no-dev-deps Пропустить зависимости для разработки
Создайте .vulfy.toml в корне проекта:
[scan]
ecosystems = ["npm", "pypi", "crates.io"]
min_severity = "medium"
skip_dev_deps = true
ignore_paths = ["node_modules", "vendor", ".git"]
[output]
format = "table"
color = "auto"
[api]
timeout = 30
max_concurrent = 10
retry_attempts = 3
📖 Полный справочник по конфигурации — документация полной схемы
Есть предложения по функциям? Откройте issue и обсудим!
Vulfy построен на принципах производительности и надёжности:
📖 Глубокое погружение в архитектуру — детали технической реализации
Мы приветствуем вклад! Исправления ошибок, новые функции или поддержка экосистем — всё приветствуется.
git clone https://github.com/mindPatch/vulfy.git
cd vulfy
cargo build
cargo test
cargo clippy📖 Руководство по вкладу — подробные инструкции
vulfy исполняемый: chmod +x vulfyЭтот проект лицензирован по лицензии MIT — подробности в файле LICENSE.
| Экосистема | Файлы с пакетами | Статус |
|---|
| 📦 npm | package-lock.json, yarn.lock, pnpm-lock.yaml, package.json | ✅ |
| 🐍 Python | requirements.txt, Pipfile.lock, poetry.lock, pyproject.toml | ✅ |
| 🦀 Rust | Cargo.lock, Cargo.toml | ✅ |
| ☕ Java | pom.xml, build.gradle, build.gradle.kts | ✅ |
| 🐹 Go | go.mod, go.sum, go.work | ✅ |
| 💎 Ruby | Gemfile.lock, Gemfile, *.gemspec | ✅ |
| ⚙️ C/C++ | vcpkg.json, CMakeLists.txt, conanfile.txt | 🆕 НОВИНКА! |
| 🐘 PHP | composer.json, composer.lock | 🆕 НОВИНКА! |
| 🔷 .NET | *.csproj, packages.config, *.nuspec | 🆕 НОВИНКА! |