The Internet is like a giant body of water, everything connected in ways we might not always sea.
AutoSea is a reconnaissance tool designed for Trust & Safety teams and Abuse Researchers. It provides rapid analysis of suspicious domains, including URL deobfuscation, HTTP header inspection, DNS lookups, and VirusTotal reputation checks—all with YAML-formatted output for easy documentation.
- URL Deobfuscation — Automatically converts obfuscated URLs (
hxxp://,[.], etc.) to standard format - HTTP Header Analysis — Fetches response headers and follows redirect chains
- DNS Records — Full DNS lookup (A, AAAA, MX, TXT, NS, CNAME, SOA records)
- WHOIS Lookup — Domain registration info with age calculation and warnings for recently registered domains
- SSL Certificate Analysis — Certificate issuer, validity dates, SANs, and expiration warnings
- Abuse Contact Lookup — RDAP-based lookup for abuse reporting contacts
- VirusTotal Integration — Queries VT API for domain reputation and detection counts
- Batch Processing — Process multiple URLs from a file
- JSON Output — Optional JSON output for integration with other tools
- YAML Output — Default output formatted for easy pasting into case notes
- Python 3.x with pip
- System utilities:
jq,curl,host,base64,sha256sum,sha512sum,sed,awk - A VirusTotal API key
-
Clone the repository:
git clone https://github.com/wafflethief123/autosea.git cd autosea -
Configure your environment:
cp ./data/.env.example ./data/.env # Edit ./data/.env and add your VirusTotal API key -
Install dependencies:
Linux (auto-detects dnf/yum/apt):
./core.sh --install-requirements
macOS (requires Homebrew, Python3, and pip):
python3 -m pip install -r ./data/python-requirements.txt --break-system-packages
# Build and run with a target URL
TARGET_URL=https://example.com docker-compose up --build# Analyze a single domain
./core.sh https://example.com
# Analyze multiple domains
./core.sh https://example.com https://example.net https://example.org
# Process URLs from a file (one URL per line, # for comments)
./core.sh --file urls.txt
# Output in JSON format (NDJSON - one JSON object per check)
./core.sh --json https://example.com
# Combine batch processing with JSON output
./core.sh --json --file urls.txt
# Configure a custom user agent
./core.sh --user-agent| Code | Description |
|---|---|
| 1 | General error (accompanied by text explanation) |
| 2 | Invalid URL format (failed regex validation) |
| 3 | No URL provided |
Contributions are welcome. To add a new module:
-
Create your module in the working directory (it will be sourced on startup)
-
Add any new dependencies to
./data/bash-requirements.yml -
Ensure output follows YAML format:
commandName: response: key: value list: - item 1 - item 2
-
Submit a pull request with your changes
See LICENSE for details.