Crates.io | fatt |
lib.rs | fatt |
version | 0.1.1 |
created_at | 2025-03-22 14:49:16.358756+00 |
updated_at | 2025-03-22 21:43:31.504555+00 |
description | Find All The Things - A high-performance, distributed security scanning tool |
homepage | |
repository | https://github.com/copyleftdev/fatt |
max_upload_size | |
id | 1601846 |
size | 3,222,589 |
A high-performance, modular, asynchronous, and distributed security scanning CLI tool designed to rapidly identify sensitive or exposed files and directories across millions of domains.
cargo install fatt
Or build from source:
git clone https://github.com/copyleftdev/fatt.git
cd fatt
cargo build --release
FATT is available as pre-built binaries for Windows, macOS (Intel and Apple Silicon), and Linux. These binaries are automatically generated through our CI/CD pipeline whenever a new release is tagged.
Visit the Releases page to download the latest version for your platform:
fatt-windows-amd64.zip
fatt-macos-amd64.tar.gz
fatt-macos-arm64.tar.gz
fatt-linux-amd64.tar.gz
Each release package includes the executable, LICENSE file, and rule-examples directory.
For maintainers, creating a new release is as simple as pushing a new version tag:
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0
This will trigger the GitHub Actions workflow that builds and packages FATT for all platforms.
# Scan domains from a list using default rules
fatt scan -i domains.txt
# Scan with custom rules
fatt scan -i domains.txt -r custom-rules.yaml
# Export results to CSV
fatt results export -o findings.csv
# Start a worker node for distributed scanning
fatt worker start -m master-ip:port
FATT uses YAML-based rules for scan configuration. Example:
rules:
- name: Git Exposure
path: /.git/HEAD
signature: "ref: refs/"
- name: Env File Exposure
path: /.env
signature: "APP_KEY="
FATT includes a comprehensive set of rule examples in the rule-examples
directory, organized by technology:
Load specific rule sets for targeted scanning:
// Use a single category
let rules = rules::load_rules("rule-examples/microsoft-paths.yaml").unwrap();
// Or add rules to your main ruleset
rules::add_rule("rule-examples/database-paths.yaml").unwrap();
USAGE:
fatt <SUBCOMMAND>
SUBCOMMANDS:
scan Scan domains for sensitive files and directories
rules Manage scanning rules
results Query and export scan results
dns Manage DNS cache
worker Control distributed worker nodes
help Prints help information
FATT is designed for high performance but can be further optimized:
-c/--concurrency
flag-b/--batch-size
flag--dns-ttl
optionThis project is licensed under the HACKFU PUBLIC LICENSE (HFPL) - "Don't Be A Noob" Edition. See the LICENSE file for details.
2025 copyleftdev