A small, safe-by-default toolkit for scraping, OSINT, and file triage.
Project description
reconkit (Judicium surface)
reconkit is a conservative, safe-by-default toolkit that exposes a Noir Stack / Hexarch / Judicium-flavored public API.
It is designed to produce audit-grade structured outputs that explicitly state:
- what was observed (evidence)
- how it was observed (provenance)
- what is and is not being asserted (verification limits)
This project is intended for lawful use on systems/data you own or have permission to assess.
Noir Stack primitives
Public primitives:
EvidenceArtifact: immutable bytes + provenanceEvidenceBundle: a set of artifacts for joint assessmentProvenanceRecord: acquisition/derivation metadata + trust boundaryVerificationResult: structured decision output
All structured outputs include:
decision_basisverification_statusprovenance_confidence
Because this is Judicium, not divination.
Guarantees
What the system will reliably do:
- Preserve evidence payload bytes as acquired/derived, and compute stable SHA-256 for artifacts.
- Emit structured, JSON-serializable outputs suitable for logging and later review.
- Respect declared acquisition constraints (e.g.,
max_bytes) and treat them as policy boundaries. - Respect
robots.txtby default for web acquisition.
Assumptions
What the system assumes unless you override it:
trust_boundaryis declared explicitly for acquisitions. The tool will not invent one.- Web acquisition is transport-level observation, not identity/authenticity proof.
- Public-internet boundary data (DNS/WHOIS/RDAP) is administrative metadata.
Non-goals
What the system explicitly does not do:
- No anti-bot bypassing, fingerprint evasion, proxy-rotation orchestration, or credentialed scraping.
- No claims of attribution, intent, or identity. (You can do that in your report; the tool will not do it for you.)
- No “automatic truth.” The system is already busy being correct.
Install
python -m pip install -e ".[dev]"
CLI quickstart (Noir terminology)
All commands emit audit-grade JSON.
# Evidence acquisition / derivation
reconkit evidence acquire-web "https://example.com" --trust-boundary public-internet
reconkit evidence derive-links "https://example.com"
reconkit evidence derive-text "https://example.com"
# Boundary observations (OSINT-ish, but we say the quiet part out loud)
reconkit boundary dns example.com
reconkit boundary whois example.com
reconkit boundary ip 8.8.8.8
# Verification (informational)
reconkit verify file-hash .\somefile.bin --algo sha256
reconkit verify file-type .\somefile.bin
reconkit verify strings .\somefile.bin --min-len 6
reconkit verify exif .\photo.jpg
Notes
- If acquisition is blocked by
robots.txt, that is not a “bug.” It is a boundary condition. - If you need features that reduce accountability, you are in the wrong repository. Convenient.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file reconkit-0.1.0.tar.gz.
File metadata
- Download URL: reconkit-0.1.0.tar.gz
- Upload date:
- Size: 12.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f3d635c0622ecd2a29cdada1fc8eb28b744181f2c6138e05b378bf010782118
|
|
| MD5 |
95b818f82c936788c0b13d6c32578b3a
|
|
| BLAKE2b-256 |
3fb8b6e09f0e57e98615a3e6471b674e0907f48a741a64a404d242e9b6a36656
|
File details
Details for the file reconkit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: reconkit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f3b227fe9fd59c5621f6284b75e4b5baba050be17155dbca23a7e568d73bae2
|
|
| MD5 |
dabd97020b940468ebe24314a4c51397
|
|
| BLAKE2b-256 |
8d11ebc491d4d42776976e22deb73b423fa7df2eb0e1520414bfb13d0d486645
|