
🐺 Vulfy – 빠른 Rust 기반 패키지 버전 스캐너
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
# Should output: vulfy 0.1.0
# Scan current directory
vulfy scan packages
# Scan specific directory
vulfy scan packages --path /path/to/project
# Only show high-severity vulnerabilities
vulfy scan packages --high-only
# JSON for automation/CI
vulfy scan packages --format json --output security-report.json
# CSV for spreadsheet analysis
vulfy scan packages --format csv --output vulnerabilities.csv
# SARIF for GitHub Security tab
vulfy scan packages --format sarif --output vulfy.sarif
# Fail build if high-severity vulnerabilities found
vulfy scan packages --high-only --quiet || exit 1
# Scan specific ecosystems only
vulfy scan packages --ecosystems npm,pypi --no-dev-deps
🔍 Scanning for package files...
📦 Found 6 package files across 4 ecosystems
🛡️ VULNERABILITY REPORT
┌─────────────────────────────────────────┬──────────────┬──────────┬─────────────────┬──────┐
│ Title │ CVE ID │ Severity │ Package │ Year │
├─────────────────────────────────────────┼──────────────┼──────────┼─────────────────┼──────┤
│ Remote Code Execution in lodash │ CVE-2021-123 │ 🔥 High │ [email protected] │ 2021 │
│ Path Traversal in express │ CVE-2022-456 │ 🟡 Medium│ [email protected] │ 2022 │
│ SQL Injection in sequelize │ CVE-2020-789 │ 🔥 High │ [email protected] │ 2020 │
└─────────────────────────────────────────┴──────────────┴──────────┴─────────────────┴──────┘
📊 SCAN SUMMARY
• Total packages scanned: 42
• Vulnerable packages: 8
• Total vulnerabilities: 12
• 🔥 High severity: 4
• 🟡 Medium severity: 6
• 🟢 Low severity: 2
📖 모든 출력 형식 보기 - JSON, CSV, SARIF 예시
Vulfy에는 Git 저장소의 지속적인 보안 모니터링을 위한 강력한 자동화 시스템이 포함되어 있습니다.
# Initialize automation with example configuration
vulfy automation init --with-examples
# Validate configuration
vulfy automation validate
# Run manual scan using automation config
vulfy automation run
# Start continuous monitoring
vulfy automation start --foreground
# Monitor multiple repositories
[[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"
# Schedule daily scans at 2:00 AM UTC
[schedule]
frequency = "daily"
time = "02:00"
timezone = "UTC"
# Discord webhook notifications
[[notifications.webhooks]]
name = "Security Alerts"
url = "https://discord.com/api/webhooks/..."
webhook_type = "discord"
enabled = true
# Advanced security policies
[[policies]]
name = "Critical Authentication Issues"
enabled = true
[policies.conditions]
title_contains = ["authentication", "auth", "bypass"]
severity = ["high", "critical"]
[policies.actions]
notify = true
priority = "critical"
custom_message = "🚨 Critical auth vulnerability detected!"
📖 전체 자동화 가이드 - 상세 설정 및 구성
vulfy scan packages [OPTIONS]
OPTIONS:
-p, --path <PATH> Directory to scan [default: current directory]
-f, --format <FORMAT> Output format: table, json, csv, summary, sarif
-o, --output <FILE> Save results to file
-e, --ecosystems <LIST> Only scan specific ecosystems (comma-separated)
-q, --quiet Suppress progress output
--high-only Show only high/critical severity vulnerabilities
--no-recursive Don't scan subdirectories
--no-dev-deps Skip development dependencies
프로젝트 루트에 .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
📖 전체 구성 참조 - 전체 스키마 문서
기능 요청이 있으신가요? 이슈를 열어 함께 논의해 보세요!
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 | 🆕 신규! |