Cross-platform tool to scrape malware domains, IOCs, and C2 IPs from various feeds for easy blacklisting.
Note: The Python and Bash versions have been deprecated. This project now uses Rust exclusively for better performance, security, and distribution.
Windows:
malscraper-x86_64-pc-windows-msvc.exe from Releasesmalscraper.exe and runmacOS:
malscraper-x86_64-apple-darwin or malscraper-aarch64-apple-darwin from Releaseschmod +x malscraper-*./malscraper-*Linux:
malscraper-x86_64-unknown-linux-gnu or malscraper-aarch64-unknown-linux-gnu from Releaseschmod +x malscraper-*./malscraper-*Prerequisites:
Build:
cd rust
cargo build --release
The binary will be at rust/target/release/malscraper (or .exe on Windows).
STATS) - View comprehensive metrics and analytics for all reportsSEARCH, FILTER) - Search across reports with regex supportCOMPARE) - Compare two reports side-by-side to see differencesDIFF, CHANGES) - Track changes over time and identify new indicatorsDEDUPE, UNIQUE) - Remove duplicates across all reports and create unified master listsVALIDATE) - Validate IP addresses and domains, check if domains are still activeWHITELIST) - Whitelist false positives and exclude known-good indicatorsEXPORT) - Export to multiple formats:
FEEDS) - Add, list, and remove your own custom feed URLsmalscraper quick-scan --output-dir ./reports
malscraper export iptables payload
malscraper search malware.com
UPDATE, INSTALL) - Automatically download and install updates with platform detectionmalscraper
Available commands:
Basic Operations:
FULL or FULL-SCAN - Complete scan of all feedsQUICK or QUICK-SCAN - Quick scan (most recent 100 domains)OPEN or REOPEN - Open a previously downloaded reportUPDATE - Check for and install updatesHELP - Show help menuTUTORIAL - Show tutorialQUIT or EXIT - Exit the applicationAnalysis Features:
STATS - View statistics dashboardSEARCH <term> - Search for specific terms across reportsFILTER [feed_type] [pattern] - Filter reports by criteriaCOMPARE <report1> <report2> - Compare two reportsDIFF or CHANGES - Compare current scan with previous scanData Management:
DEDUPE or UNIQUE - Deduplicate all reports into master listVALIDATE <report> - Validate IP addresses and domainsWHITELIST ADD <indicator> [reason] - Add to whitelistWHITELIST LIST - List all whitelisted indicatorsWHITELIST REMOVE <indicator> - Remove from whitelistExport & Integration:
EXPORT <format> <report> - Export to firewall/SIEM formats
iptables, windows, pfsense, json, csv, stix, taxiipayload, amp, c2, hex, haus, phish, top100Customization:
FEEDS ADD <url> [name] [description] - Add custom feedFEEDS LIST - List all custom feedsFEEDS REMOVE <name_or_url> - Remove custom feedTAB for command auto-completion!For automation and scripting, use CLI arguments:
# Quick scan with custom output directory
malscraper quick-scan --output-dir ./reports
# Full scan
malscraper full-scan --output-dir ./reports
# Export to iptables format
malscraper export iptables payload
# Search across reports
malscraper search malware.com
# View statistics
malscraper stats
# See all available commands
malscraper --help
Reports are saved to:
%USERPROFILE%\Documents\malScraper\~/Desktop/malScraper/Some reports (especially PayloadReport.txt) may be flagged by antivirus software because they contain known malware indicators. These files are for research and defensive use only.
If you were using the Python or Bash versions:
# Clone the repository
git clone https://github.com/rynmon/malScraper.git
cd malScraper/rust
# Build
cargo build --release
# Run tests
cargo test
# Format code
cargo fmt
# Lint
cargo clippy
| Metric | Python | Rust |
|---|---|---|
| Startup Time | ~1-2s | <100ms |
| Download Speed | Baseline | 2-3x faster |
| Memory Usage | ~50-100MB | ~10-20MB |
| Binary Size | N/A | ~5-10MB |
| Dependencies | Python + packages | Single binary |
Contributions are welcome! Please feel free to:
Note: Python and Bash versions are deprecated. Please use the Rust version for the best experience and continued support.