CtrlK
BlogDocsLog inGet started
Tessl Logo

web-recon

Web application enumeration hub — directory/file fuzzing, vhost discovery, API enumeration, CMS scanning, WAF detection, auth surface mapping, cookie audit.

63

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/standard/recon/web-recon/SKILL.md
SKILL.md
Quality
Evals
Security

Web Application Reconnaissance — Hub

Sub-skills under this directory:

Sub-skillPathWhen to load
Discoveryload_skill("/skills/standard/recon/web-recon/discovery/SKILL.md")directory/file fuzzing, vhost, JS analysis
API enumerationload_skill("/skills/standard/recon/web-recon/api-enumeration/SKILL.md")REST/GraphQL/parameter fuzzing
CMS scanningload_skill("/skills/standard/recon/web-recon/cms-scanning/SKILL.md")WordPress/Joomla/Drupal detected
WAF detectionload_skill("/skills/standard/recon/web-recon/waf-detection/SKILL.md")proxy/CDN suspected
Auth mappingload_skill("/skills/standard/recon/web-recon/auth-mapping/SKILL.md")login flow analysis
Cookie auditload_skill("/skills/standard/recon/web-recon/cookie-audit/SKILL.md")sink behind session, race-condition recon

Overall recon workflow, scope rules, and handoff format are loaded into your system prompt at agent boot — no load_skill call needed for them.

Tag-Driven Fast Paths

When the orchestrator passes challenge tags, skip straight to the matching sub-skill:

TagFirst actionSub-skill to load
sqliFire a single error-triggering payload on every form/param/skills/standard/exploit/web/sqli/SKILL.md recon section
sstiProbe every reflection point with {{7*7}}/skills/standard/exploit/web/ssti/SKILL.md recon section
lfiPath-traversal probe on every file/path paramdiscovery.md
idorEnumerate object IDs on every user-data endpointapi-enumeration.md
authMap the full auth flow before other reconauth-mapping.md

HTTP Request Deduplication Pattern

When iterating parameters (IDs, pages, paths), always deduplicate via recon/probed.txt to avoid re-probing the same URLs after context summarization:

URL="http://<TARGET>/api/resource/$ID"
if grep -Fxq "$URL" recon/probed.txt 2>/dev/null; then
  echo "SKIP: $URL"
else
  echo "$URL" >> recon/probed.txt
  curl -sS "$URL" -o /tmp/probe.html -w '%{http_code}\n'
  head -10 /tmp/probe.html
fi

Resume rule: Before any scan loop, check tail -1 recon/probed.txt to find the last probed item and continue from there — not from the beginning.

Stop rule: If 5 consecutive probes return the same status code + same response size (±50 bytes), stop that enumeration axis and pivot to a different surface.

Output files

./
├── ffuf_<target>_dirs.json         # Directory fuzzing results
├── ffuf_<target>_vhosts.json       # Virtual host discovery
├── ffuf_<target>_api.json          # API endpoint fuzzing
├── web_sensitive_<target>.txt      # Sensitive file check results
├── js_endpoints_<target>.txt       # Extracted JS endpoints
├── wpscan_<target>.json            # WordPress scan (if applicable)
└── web_recon_<target>_summary.md   # Consolidated web findings
Repository
PurpleAILAB/Decepticon
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.