wordpress_vulnerable_scanner/
lib.rs

1//! WordPress Vulnerable Scanner
2//!
3//! A tool for detecting known security vulnerabilities in WordPress installations.
4//!
5//! # Features
6//!
7//! - Scans WordPress sites to detect core version, plugins, and themes
8//! - Queries WPVulnerability API for known CVEs
9//! - Supports multiple input modes: URL, direct component list, or JSON manifest
10//! - Outputs results in human-readable or JSON format
11//!
12//! # Example
13//!
14//! ```no_run
15//! use wordpress_vulnerable_scanner::{Scanner, Analyzer};
16//!
17//! #[tokio::main]
18//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
19//!     let scanner = Scanner::new("https://example.com")?;
20//!     let scan_result = scanner.scan().await?;
21//!
22//!     let analyzer = Analyzer::new()?;
23//!     let analysis = analyzer.analyze(&scan_result).await;
24//!
25//!     println!("Found {} vulnerabilities", analysis.summary.total);
26//!     Ok(())
27//! }
28//! ```
29
30#![warn(missing_docs)]
31
32pub mod analyze;
33pub mod error;
34pub(crate) mod http;
35pub mod output;
36pub mod scanner;
37pub mod vulnerability;
38
39// Re-export main types
40pub use analyze::{Analysis, Analyzer, ComponentVulnerabilities, VulnerabilitySummary};
41pub use error::{Error, Result};
42pub use output::{OutputConfig, OutputFormat, output_analysis};
43pub use scanner::{ComponentInfo, ComponentType, ScanResult, Scanner};
44pub use vulnerability::{Severity, Vulnerability, VulnerabilityClient, VulnerabilityReport};