| Crates.io | open-detect |
| lib.rs | open-detect |
| version | 0.1.1 |
| created_at | 2025-10-24 12:02:17.469619+00 |
| updated_at | 2026-01-01 23:03:47.004485+00 |
| description | Static malware detection engine with YARA rule support and automatic archive extraction for security researchers |
| homepage | |
| repository | https://github.com/secana/open-detect |
| max_upload_size | |
| id | 1898353 |
| size | 214,584 |
A fast, flexible malware detection engine with YARA rule support and automatic archive extraction for security researchers.
Disclaimer: This project is still in early development and should not be used for production purposes.
The API is subject to change without notice.
Send and Sync for concurrent scanning operationsuse open_detect::{Scanner, SigSet, ScanResult};
use std::path::Path;
// Load YARA signatures from a directory
let sig_set = SigSet::new()
.with_sig_dir_recursive(Path::new("signatures"))
.expect("Failed to load signatures");
// Create scanner with default settings
let scanner = Scanner::new(sig_set);
// Scan a file
match scanner.scan_file(Path::new("suspicious.exe")).unwrap() {
ScanResult::Clean => println!("File is clean"),
ScanResult::Malicious(detections) => {
println!("Threats detected:");
for detection in detections {
println!(" - {}", detection.name);
}
}
}
For more examples and detailed usage, please refer to the documentation.
This crate is built on top of excellent open-source projects: