
🐺 Vulfy – Fast Rust based package version scanner
O Vulfy é um scanner de vulnerabilidades ultrarrápido que verifica as dependências do seu projeto em busca de problemas de segurança conhecidos em 9 linguagens de programação. Construído com Rust para máxima performance, ele se integra ao banco de dados OSV.dev para fornecer informações precisas e atualizadas sobre vulnerabilidades.
📖 Documentação Completa - Guias abrangentes, tutoriais e referência da 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/
Verificar Instalação:
vulfy --version
# Deve exibir: vulfy 0.1.0
# Escanear o diretório atual
vulfy scan packages
# Escanear um diretório específico
vulfy scan packages --path /caminho/para/projeto
# Mostrar apenas vulnerabilidades de alta gravidade
vulfy scan packages --high-only
# JSON para automação/CI
vulfy scan packages --format json --output security-report.json
# CSV para análise em planilhas
vulfy scan packages --format csv --output vulnerabilities.csv
# SARIF para a aba de Segurança do GitHub
vulfy scan packages --format sarif --output vulfy.sarif
# Falhar o build se vulnerabilidades de alta gravidade forem encontradas
vulfy scan packages --high-only --quiet || exit 1
# Escanear apenas ecossistemas específicos
vulfy scan packages --ecosystems npm,pypi --no-dev-deps
🔍 Escaneando arquivos de pacote...
📦 Encontrados 6 arquivos de pacote em 4 ecossistemas
🛡️ RELATÓRIO DE VULNERABILIDADES
┌─────────────────────────────────────────┬──────────────┬──────────┬─────────────────┬──────┐
│ Título │ ID CVE │ Severidade │ Pacote │ Ano │
├─────────────────────────────────────────┼──────────────┼──────────┼─────────────────┼──────┤
│ Execução Remota de Código no lodash │ CVE-2021-123 │ 🔥 Alta │ [email protected] │ 2021 │
│ Path Traversal no express │ CVE-2022-456 │ 🟡 Média │ [email protected] │ 2022 │
│ Injeção de SQL no sequelize │ CVE-2020-789 │ 🔥 Alta │ [email protected] │ 2020 │
└─────────────────────────────────────────┴──────────────┴──────────┴─────────────────┴──────┘
📊 RESUMO DO ESCANEAMENTO
• Total de pacotes escaneados: 42
• Pacotes vulneráveis: 8
• Total de vulnerabilidades: 12
• 🔥 Alta gravidade: 4
• 🟡 Média gravidade: 6
• 🟢 Baixa gravidade: 2
📖 Ver Todos os Formatos de Saída - Exemplos em JSON, CSV, SARIF
O Vulfy inclui um sistema de automação poderoso para monitoramento contínuo de segurança de repositórios Git.
# Inicializar automação com configuração de exemplo
vulfy automation init --with-examples
# Validar configuração
vulfy automation validate
# Executar escaneamento manual usando a configuração de automação
vulfy automation run
# Iniciar monitoramento contínuo
vulfy automation start --foreground
# Monitorar múltiplos repositórios
[[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"
# Agendar escaneamentos diários às 02:00 UTC
[schedule]
frequency = "daily"
time = "02:00"
timezone = "UTC"
# Notificações via webhook do Discord
[[notifications.webhooks]]
name = "Alertas de Segurança"
url = "https://discord.com/api/webhooks/..."
webhook_type = "discord"
enabled = true
# Políticas de segurança avançadas
[[policies]]
name = "Problemas Críticos de Autenticação"
enabled = true
[policies.conditions]
title_contains = ["authentication", "auth", "bypass"]
severity = ["high", "critical"]
[policies.actions]
notify = true
priority = "critical"
custom_message = "🚨 Vulnerabilidade crítica de autenticação detectada!"
📖 Guia Completo de Automação - Configuração e detalhamento
vulfy scan packages [OPÇÕES]
OPÇÕES:
-p, --path <CAMINHO> Diretório a ser escaneado [padrão: diretório atual]
-f, --format <FORMATO> Formato de saída: table, json, csv, summary, sarif
-o, --output <ARQUIVO> Salvar resultados em arquivo
-e, --ecosystems <LISTA> Escanear apenas ecossistemas específicos (separados por vírgula)
-q, --quiet Suprimir saída de progresso
--high-only Mostrar apenas vulnerabilidades de alta/gravidade crítica
--no-recursive Não escanear subdiretórios
--no-dev-deps Ignorar dependências de desenvolvimento
Crie .vulfy.toml na raiz do seu projeto:
[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
📖 Referência Completa de Configuração - Documentação completa do esquema
Tem sugestões de recursos? Abra uma issue e vamos discutir!
O Vulfy é construído com desempenho e confiabilidade como princípios fundamentais:
📖 Mergulho Profundo na Arquitetura - Detalhes da implementação técnica
Aceitamos contribuições! Seja correção de bugs, novos recursos ou suporte a ecossistemas.
git clone https://github.com/mindPatch/vulfy.git
cd vulfy
cargo build
cargo test
cargo clippy📖 Guia de Contribuição - Instruções detalhadas de contribuição
vulfy seja executável: chmod +x vulfyEste projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.
| Ecossistema | Arquivos de Pacote | Status |
|---|
| 📦 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 | 🆕 NOVO! |
| 🐘 PHP | composer.json, composer.lock | 🆕 NOVO! |
| 🔷 .NET | *.csproj, packages.config, *.nuspec | 🆕 NOVO! |