JULY 2024
Pentesting Automation
Web vulnerability scanner pipeline covering 23 classes of vulnerability — orchestrates 39 open-source bug-bounty tools (Nmap, Nikto, Nuclei, the ProjectDiscovery suite, and more) through a hand-built dependency graph on Kali Linux to compress hours of manual setup into a single automated pass.
Executive summary
Pentesting Automation (internally codenamed EchoStriker) is an orchestration of 39 open-source bug-bounty tools — NMAP, Nikto, Nuclei, and the full ProjectDiscovery suite (subfinder, httpx, katana, naabu) among them — chained on Kali Linux through a hand-built dependency graph to scan 23 classes of web vulnerability in a single automated pass.
The pipeline is built in Go, Bash, and Python. It normalizes output from every scanner into a unified format, deduplicates findings across overlapping tools, and surfaces the highest-signal issues first — so the security engineer’s manual analysis time goes only to the cases that actually need it.
See it deployed
The pipeline requires a Kali Linux VM with the full security tooling chain installed plus credentialed access to target environments — not something you’d casually spin up on a laptop. This 6-slide deck is the verifiable record of the automation operating on real targets: scan orchestration, finding normalization, and the prioritized output that reaches the human analyst.
Why this is a non-trivial orchestration
Each underlying scanner is good at one class of finding — and lousy at others. Running them sequentially by hand means:
- Re-configuring credentials and target scope for each tool
- Mentally normalizing different output formats (XML, JSON, plaintext, custom)
- Spotting that two tools flagged the same issue differently → wasted triage time
- Remembering which scanner you haven’t run yet
The automation absorbs that operational tax. A single command runs the full chain, the orchestrator handles target propagation, output normalization happens once, and deduplication is automatic. The human’s time goes to verifying findings, not running scanners.
Stack
- Kali Linux — base image with the full security tooling chain pre-installed
- Go — performance-critical orchestrator components
- Bash — tool-chain glue and CI-style flow control
- Python — finding parsing, normalization, and deduplication
- NMAP — network reconnaissance and port scanning
- Nikto — web server vulnerability scanning, swept across 15 tuning-flag categories
- Nuclei — signature-based scanning across 28 template categories (CVEs, exposed panels, misconfigurations, and more)
- ProjectDiscovery — modern toolkit (subfinder, httpx, katana, naabu, etc.) for surface discovery
- ~30 further Go/Python bug-bounty tools — ffuf, dalfox, ghauri, subzy, arjun, corsy, and more, each targeting one of 23 named vulnerability classes
- QEMU — emulation for isolated scanning targets
What this project proves
- Domain-crossing range — security/DevSecOps work alongside the ML/MLOps suite, demonstrating the same engineering discipline applied to a different problem domain
- Multi-tool orchestration is a real engineering problem — not “just glue code”; getting normalization and dedup right is what makes the pipeline useful
- Go + Bash + Python polyglot ownership — picking the right language for each layer (orchestrator / glue / data processing)