Research tool / Reconnaissance

reconx

Recon toolchains are fragile: a dozen tools with conflicting runtimes, dependencies, and install steps, rebuilt by hand on every new machine or engagement.

Built with Go / static linking / embedded tooling Source repository ↗

My contribution Designed and built the Go wrapper, embedded-tool distribution, and consistent invocation model.

Problem

Reconnaissance work depends on a pile of single-purpose tools, each with its own runtime, package manager, and installation quirks. Setting that toolchain up on a fresh VM, a jump box, or a client-provided machine burns engagement time, and version drift between machines makes results hard to reproduce.

Architecture decision

reconx compiles to a single static Go binary with zero runtime dependencies, bundling 12 pre-compiled recon tools behind one interface. One artifact to copy, no installers, no missing shared libraries — the same versions everywhere, which makes recon output reproducible across machines and engagements.

The bundling boundary is deliberate: collection tools are embedded as-is rather than reimplemented, so the project tracks upstream improvements instead of forking them, and the wrapper focuses on invocation, output capture, and consistency.

Outcome

The implementation is public in the trace repository. The portfolio keeps the original project name, Reconx, while making the repository name explicit. A controlled benchmark (coverage delta vs. individually installed tools, runtime, and false-positive rate) is planned; no quantitative performance claims are made until it exists.

← All projects