v0.4.0 — JSONL composability, stdin targets, prebuilt binaries
osint-recon v0.4.0
Passive OSINT reconnaissance framework in Rust — for authorized security assessments only.
Highlights
Modules (9)
| Command | What it does | ATT&CK |
|---|---|---|
subdomain |
Passive subdomain enum (crt.sh + hackertarget fallback) | T1590 |
dns |
DNS records via DoH (A, AAAA, MX, NS, TXT) | T1590 |
asn |
IP → ASN / AS name / prefix (Team Cymru over DoH, keyless) | T1590.001 |
ct |
Certificate transparency history, CA stats, expiring certs (crt.sh) | T1596.003 |
ghdork |
GitHub exposure dorks — repos/users keyless, code-search with token | T1593.003 |
tech |
Technology fingerprint (headers + HTML signatures) | T1592 |
email |
Email harvesting from public pages | T1589.002 |
metadata |
PDF metadata extraction (author, creator tool, dates) | T1593 |
full |
All modules combined, JSON + CSV export | — |
New in v0.4.0
- JSONL composability —
--stdoutemits one JSON object per result on stdout (banner/logs move to stderr):osint-recon dns example.com --stdout | jq . - stdin batch targets — pass
-as the target:cat domains.txt | osint-recon asn - --stdout - Demo GIF in the README, rendered from real tool output
- Prebuilt binaries — Windows (x86_64 zip), Linux (x86_64 tar.gz), macOS (aarch64 tar.gz) +
checksums-sha256.txt, built by the new release-matrix workflow
Quality
- 23/23 tests passing · clippy
-D warningsclean ·cargo fmtenforced - CI: fmt → clippy → test → build on every push/PR
- Polite by default: 1 req/s rate limiting, timeouts, retries, graceful degradation
Changelog
- v0.4.0 — demo GIF,
--stdout/JSONL mode, stdin batch targets, release matrix CI - v0.3.0 — GitHub dorking module (keyless tier + optional token tier with 5 code-search dorks)
- v0.2.0 — ASN & netblock enumeration, certificate transparency history, CI workflow
- v0.1.0 — initial release: 5 modules, CLI, JSON/CSV export