π A comprehensive Rust library for deep CVE vulnerability analysis and exploitation path exploration
- π§Ή Code Quality: Removed mock-up code for improved reliability and performance
- π‘οΈ Enhanced Stability: Better error handling and edge case management
- π Comprehensive Documentation: Complete API documentation and user guides
- β‘ Performance: Optimized analysis algorithms for faster processing
- Deep CVE Analysis: Comprehensive vulnerability analysis with root cause identification
- Exploitation Path Mapping: Detailed attack surface analysis and privilege escalation chains
- Multiple Output Formats: JSON, detailed reports, and summary views
- NVD Integration: Seamless integration with NIST's National Vulnerability Database
- Proof of Concept Generation: Automated PoC template creation for security research
- Risk Assessment: CVSS scoring with contextual severity analysis
Add this to your Cargo.toml
:
[dependencies]
cve_explorer_pro = "0.1.1"
Or install the CLI tool:
cargo install cve_explorer_pro
use cve_explorer_pro::{CVEFetcher, RootCauseAnalyzer, ExploitationPathAnalyzer};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Initialize the fetcher
let fetcher = CVEFetcher::new(Some("your_nvd_api_key".to_string()));
// Fetch CVE data
let cve = fetcher.fetch_cve("CVE-2021-34527").await?;
// Perform root cause analysis
let analyzer = RootCauseAnalyzer;
let analysis = analyzer.analyze_vulnerability(&cve);
// Analyze exploitation paths
let exploit_analyzer = ExploitationPathAnalyzer;
let exploitation = exploit_analyzer.analyze_exploitation_path(&cve);
println!("Primary Cause: {:?}", analysis.primary_cause);
println!("Exploitation Complexity: {:.1}", exploitation.exploitation_complexity.overall_score);
Ok(())
}
# Basic analysis
cve_explorer_pro -c CVE-2021-34527 -m basic
# Full exploitation analysis
cve_explorer_pro -c CVE-2021-34527 -m exploitation -f detailed
# Complete analysis with JSON output
cve_explorer_pro -c CVE-2021-34527 -m full -f json --api-key YOUR_API_KEY
Retrieves vulnerability data from the National Vulnerability Database (NVD).
Identifies primary causes, contributing factors, and architectural flaws:
- Input validation failures
- Authentication bypasses
- Privilege escalation vectors
- Configuration errors
Maps attack surfaces and exploitation complexity:
- Entry point identification
- Trust boundary analysis
- Privilege escalation chains
- Impact propagation assessment
- CVE metadata and description
- CVSS scoring and severity assessment
- Primary vulnerability cause identification
- Prevention recommendations
- Attack surface mapping
- Entry point analysis
- Privilege escalation paths
- Exploitation complexity scoring
- PoC template generation
- Complete root cause analysis
- Comprehensive exploitation assessment
- Architectural flaw identification
- Development process recommendations
Human-readable analysis with emojis and structured sections.
Machine-readable format for integration with other tools:
{
"cve": {
"id": "CVE-2021-34527",
"description": "...",
"cvss": {
"base_score": 8.8,
"severity": "High"
}
},
"root_cause_analysis": {
"primary_cause": "PrivilegeEscalation",
"contributing_factors": ["PoorSecurityDesign"]
},
"exploitation_analysis": {
"exploitation_complexity": {
"overall_score": 2.5,
"difficulty_level": "Intermediate"
}
}
}
Concise overview with key findings and recommendations.
This tool is designed for:
- β Security research and education
- β Vulnerability assessment and remediation
- β Risk analysis and threat modeling
- β Security awareness training
Get your free NVD API key from NIST:
export NVD_API_KEY="your-api-key-here"
cve_explorer_pro -c CVE-2021-34527 --api-key $NVD_API_KEY
- π User Guide: Comprehensive tutorials and examples
- π API Documentation: Complete API reference on docs.rs
- π Examples: Practical usage examples for different scenarios
- π Changelog: Version history and release notes
- π Publishing Guide: Development and release procedures
- Getting Started: See User Guide - Getting Started
- Library Usage: Check User Guide - Advanced Features
- CLI Reference: View User Guide - Basic Usage
- Troubleshooting: Visit User Guide - Troubleshooting
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Rust 1.70.0 or later
- Internet connection for NVD API access
- Optional: NVD API key for higher rate limits
This project is licensed under the MIT License - see the LICENSE file for details.
- NIST National Vulnerability Database for CVE data
- The Rust community for excellent crates and tools
- Security researchers who responsibly disclose vulnerabilities
Krutarth Parmar
- GitHub: @kayo09
- Email: thisiskay@kayparmar[dot]com
β If you find this project helpful, please consider giving it a star!