
CASE 04 · 2026 · Builder · Security tooling
OMNISECTESTER
A nation-state-grade, defense-in-depth security testing framework in one CLI.
SYSTEM FLOW
THE PROBLEM
Security testing is fragmented — a different tool for web, mobile, cloud, AI/LLM, hardware. Teams need one disciplined surface to audit everything from a single command line.
7 attack surfaces, one CLI
HOW IT'S BUILT
Designed and shipped a defense-in-depth testing framework covering web apps, extensions, desktop, mobile, cloud, AI/LLM, hardware and supply chain — from one CLI. Built as a focused, extensible engine with per-surface adapters.
IMPACT
- 7 attack surfaces, one CLI
- Defense-in-depth by design
- Supply-chain and AI/LLM coverage included
WHAT IF …
Ask the project a different question. The architecture has to defend itself.
What if you'd written it in Rust instead of JS?
Compile-time memory safety and a faster engine, but a steeper contributor curve and slower shipping — for a security CLI the attack surface is the adapters, not the runtime. JS won on iteration speed and ecosystem reach (Playwright, fetch everywhere). I'd still pick JS today.
What if it had 10× the adapters?
The per-surface adapter contract is the moat: if each adapter is small and dependency-light, 10× adapters means 10× small plugins, not 10× complexity. The risk becomes maintenance drift — so I'd add an adapter manifest + schema tests + a monthly compatibility CI before scaling the catalog.
DIVE DEEPER
Built it — now the descent. Each question opens the next layer: why, why this architecture, what broke, what I'd change.
01Why one CLI for seven surfaces?
Security teams don't adopt seven tools; they adopt one workflow. A single disciplined entry point with per-surface adapters keeps the core tiny and the coverage honest.
02Why defense-in-depth by design?
Any single scanner is bypassable. Layered checks — network, app, supply chain, AI/LLM — mean a finding survives even when one layer is blind.
03What went wrong?
Early adapters were monolithic: one wrong dependency poisoned the whole CLI. I split the engine from the adapters so each surface ships and updates independently.
04What would I do now?
Add an adapter manifest + schema tests and a monthly compatibility CI before scaling the catalog past the current seven surfaces.
THE REPO, INSIDE
Not a screenshot — a live iframe pulling this repo's README straight from the CDN.