totalrecon
totalrecon is a lightweight Python library for passive reconnaissance. It extracts subdomains, emails, and S3 buckets from text and PDF files, and uses a fine-tuned AI model to summarize sensitive infrastructure mentions.
Built for red teamers, bug bounty hunters, CTF players, and cyber analysts.
Features
- Extract intelligence from plaintext and PDF files
- Detect subdomains, emails, and AWS S3 buckets
- Summarize recon info with a fine-tuned
flan-t5-smallmodel - Offline and lightweight — no OpenAI key required
- Trained on synthetic recon examples tailored for real-world use
Installation
pip install totalrecon
Or from source:
git clone https://github.com/josh1643/totalrecon.git
cd totalrecon
pip install .
Quick Start
Python Example
from totalrecon.extract import extract_from_text
text = '''
Found subdomain: api.dev.example.com
Email: admin@example.com
S3 bucket: s3://backup-prod-private
'''
results = extract_from_text(text)
print(results["domains"]) # ['api.dev.example.com']
print(results["emails"]) # ['admin@example.com']
print(results["s3_buckets"]) # ['s3://backup-prod-private']
print(results["recon_summaries"]) # ['Possible backup S3 bucket exposed via dev subdomain.']
About the Model
This project uses a fine-tuned FLAN-t5-small model hosted on the Hugging Face Hub:
🔗 https://huggingface.co/wassermanrjoshua/totalrecon-flan-t5
- Summarizes cyber recon and passive intel
- Runs entirely offline after first load
- No setup required — model is automatically downloaded on first use
This means:
- You don’t need to clone or manually download any model files
- Just
pip install totalreconand run it — the model loads when needed
Contributing
Contributions welcome!
- Fork the repo
- Create a feature branch
- Open a pull request
License
MIT License — see LICENSE for full terms.
Author
Created by Joshua Wasserman for real-world recon workflows and open-source tooling.
- GitHub Repository: https://github.com/josh1643/totalrecon
Metadata
Release files for totalrecon 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| totalrecon-0.1.0.tar.gz | 4.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| totalrecon-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.4 kB
Release files / totalrecon-0.1.0.tar.gz
| Download URL | totalrecon-0.1.0.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b0c18626841edb4d4e8624c21da4b55bfc6a0f58e6b78a43abc95b262fa76c69
|
|
BLAKE2b-256 checksum How to use checksums |
5be0e70bff4ae28f262777c206ba31277e69172638f35455877a7b99773f186a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / totalrecon-0.1.0-py3-none-any.whl
| Download URL | totalrecon-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
109ca0f38ceea5504ec498ab7ccf79a7b4e85ce46b7a1459145c287d6dfca1b8
|
|
BLAKE2b-256 checksum How to use checksums |
09e5bd7496928408d116f83686b1b8819857b9f5fe83437d77f3f9f4ad697993
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|