recon-security

$npx mdskill add superagent-ai/skills/recon-security

Guides authorized external pentesting from recon to reporting using open-source tools.

  • Maps attack surface via domain/IP discovery and subdomain enumeration.
  • Depends on nmap, httpx, nuclei, ffuf, Burp, ZAP, and other free tools.
  • Follows an 8-pass lifecycle gated on scope and rules of engagement.
  • Delivers PoC documentation, validated findings, and a pentest report.

SKILL.md

.github/skills/recon-securityView on GitHub ↗
---
name: recon-security
description: Guide authorized external penetration testing from recon through validation and scoped exploitation using free and open-source tools. Use for domain/IP attack surface mapping, subdomain discovery, nmap/httpx/nuclei/ffuf workflows, web app testing, SIP/NAS checks, Burp/ZAP validation, PoC documentation, and pentest reporting without commercial APIs.
---

# Recon Security

This skill guides an agent through an **authorized external pentest workflow**: recon, normalization, active discovery, web and infrastructure checks, validation, scoped exploitation (when RoE allows), and reporting. Use only free/open-source tools unless the user explicitly opts into commercial services outside this skill.

Do not assume permission. Gate every active, invasive, or state-changing step on Pass 0. This skill is model-guided only: propose commands and workflows; the user or agent runs them when scope and mode allow. No bundled scripts ship with this skill.

## Engagement lifecycle

```text
Pass 0 Scope/RoE → Pass 1 Passive → Pass 2 Normalize → Pass 3 Active
    → Pass 4 Web + infra → Pass 5 Triage → Pass 6 Validation
    → Pass 7 Scoped exploitation (if approved) → Pass 8 Report
```

## Mental model

- **Recon** maps what is exposed.
- **Validation** proves what matters with minimal reproducible evidence.
- **Exploitation** demonstrates impact only within written RoE — not unrestricted attack.

Prefer conservative, reproducible checks. One confirmed finding beats dozens of scanner lines.

## Pass 0: scope and authorization

Establish before any active work:

- In-scope domains, subdomains, IPs, ASNs, apps, and environments (prod vs staging).
- Out-of-scope assets and forbidden techniques (brute force, DoS, data dump, lateral movement).
- Written authorization or explicit ownership.
- Scan intensity: passive only, light active, standard, or deep.
- Whether exploitation and credential testing are allowed.
- Evidence directory (`PROJECT_DIR`, default `~/Projects/pentest-engagement`). See `references/environment-setup.md`.
- Deliverable: command plan only, executed tests, or full report.

If authorization is unclear, stop at passive planning and ask.

## Pass 1: passive recon

Build inventory from public sources only:

- DNS, WHOIS/RDAP, RIPEstat/BGPView, certificate transparency (`crt.sh`, `subfinder`, `amass -passive`, `assetfinder`).
- Historical URLs (`gau`, `waybackurls`, Common Crawl, public `urlscan.io`).
- Search dorks and public code references (no secret copying).

Use example commands from `references/environment-setup.md` and `references/tools.md` when the user wants executable steps.

## Pass 2: normalize targets

Produce working lists under `targets/`:

- `domains.txt`, `in_scope_domains.txt`, `resolved_hosts.txt`, `web_targets.txt`, `ips.txt`
- `needs-scope-confirmation.txt` for uncertain assets

Deduplicate; drop unrelated CT names and out-of-scope SaaS unless approved.

## Pass 3: active recon

Requires Pass 0 approval. Rate-limit all probes.

- `dnsx`, `httpx`, `nmap` (top ports first), optional `naabu` / rate-limited `masscan`
- `wafw00f`, `testssl.sh` or `sslyze`, `nuclei` (open templates; triage as leads)

Propose rate-limited active commands; save raw output under `evidence/active/`.

## Pass 4: web app and infrastructure checks

### Web applications

- Fingerprint headers, cookies, security headers, technologies.
- Misconfigurations: `.git`, `.env`, backups, `phpinfo`, directory listing, `robots.txt`.
- Content/parameter discovery: `ffuf`, `feroxbuster`, `arjun`, `katana`, `hakrawler`.
- Light automated probes; `sqlmap` detection-only by default; `dalfox` for reflected XSS leads.
- Manual proxy review: OWASP ZAP or Burp Suite Community.

Walk through fingerprinting, misconfiguration checks, and light probes for each priority URL.

### Infrastructure (when in scope)

Telecom, storage, and file services often appear on external pentests:

- **SIP/VoIP**: UDP/TCP 5060/5061, `nmap --script=sip-methods`, OPTIONS probes. No call setup unless authorized.
- **NAS/file exposure**: ports 445, 139, 548, 873, 2049, 5000/5001, 8080; `smbclient -N -L`, `showmount -e`. Document share permissions, not customer file contents.

Save SIP/NAS results under `evidence/infra/`.

## Pass 5: triage and evidence

Classify every item:

| Class | Meaning |
|-------|---------|
| Confirmed finding | Reproduced with clear evidence and impact |
| Likely finding | Strong signal; needs Pass 6 |
| Lead | Interesting; not yet tested |
| False positive / OOS | Drop from report |

Build a prioritized queue for validation. Store under `evidence/triage/`. Never paste secrets or bulk PII into reports.

## Pass 6: validation

Turn leads into confirmed findings. Read `references/validation.md`.

- Import `web_targets.txt` into Burp or ZAP; map auth and roles.
- Manually confirm nuclei/ffuf/sqlmap signals.
- Two-account testing for IDOR/BOLA; pair with `authz-security` when code is available.
- Infrastructure: focused port/service re-checks; SIP/NAS proof without data theft.

PoC bar: numbered steps, request/response or screenshot, impact, fix.

## Pass 7: scoped exploitation

Only when Pass 0 explicitly allows exploitation. Read `references/exploitation-roe.md`.

- Minimum proof of impact (one row, one harmless upload, one auth bypass with test accounts).
- No `--dump`, persistence, lateral movement, or destructive actions unless contract permits.
- Remove test artifacts when cleanup is required.
- Stop and escalate if scope, production risk, or legal boundaries are unclear.

## Pass 8: reporting

Use `references/report-template.md`. Include:

- Executive summary and scope
- Methodology by phase (passive, active, validation, exploitation if run)
- Findings by severity with reproduction and remediation
- Leads and limitations
- Remediation roadmap (immediate / short / long term)

## Severity scale

- **P0**: Sensitive data exposure, unauthenticated admin/control, confirmed critical exploit path.
- **P1**: High-impact issue with limited preconditions; confirmed injection or authz break without mass extraction.
- **P2**: Medium exposure or hardening gap without confirmed exploit chain.
- **P3**: Informational, hygiene, or scan limitations.

## Output format

```
[P1] exposed-admin-panel on https://admin.example.com
  Evidence: httpx + manual browser review; headers in evidence/webapp/.
  Impact: Public admin surface increases credential and exploit risk.
  Fix: Restrict by VPN/IdP, enforce MFA, monitor access.
```

## Reference files

- `references/tools.md` — approved tools and commercial exclusions
- `references/checklist.md` — full engagement checklist
- `references/environment-setup.md` — macOS setup and directory layout
- `references/validation.md` — manual validation and PoC bar
- `references/exploitation-roe.md` — allowed/prohibited exploitation boundaries
- `references/report-template.md` — final deliverable structure

## What this skill won't do

- Require Shodan, Censys, DeHashed, IntelX, or Burp Pro.
- Treat scanner output as confirmed without Pass 6.
- Run exploitation, dumping, persistence, or lateral movement without explicit RoE approval.
- Bypass authorization or test out-of-scope assets.

More from superagent-ai/skills

SkillDescription
authz-securityReview application source code for broken authorization — IDOR / Broken Object Level Authorization (OWASP API1), Broken Function Level Authorization (API5), mass assignment (API3), multi-tenant isolation gaps, and privilege escalation. Reads routes, controllers, resolvers, and data models offline and reports the missing ownership/role check at file:line with a framework-correct fix. No running app, no credentials, no tools. Trigger when reviewing endpoints/handlers, auditing a PR diff that adds or changes routes, hardening a multi-tenant SaaS, or when the user asks "is this endpoint authorized?", "can a user access another user's data?", "IDOR", "BOLA", or "broken access control".
ci-cd-securityScan GitHub Actions workflow files for security vulnerabilities by reading the YAML and reporting findings directly — no external tools, no installation, no shell execution. Use this skill whenever the user shares a `.github/workflows/` file, pastes workflow YAML, asks for a CI/CD security review, mentions `pull_request_target`, `workflow_run`, action pinning, `GITHUB_TOKEN` permissions, pwn requests, template injection, cache poisoning, secret exfiltration, supply chain risk, or any GitHub Actions hardening topic. Also trigger when the user is hardening an OSS repo, doing a CI/CD red team assessment, evaluating a target for supply-chain scanning, or writing publicly about CI/CD security. Bias toward triggering this skill rather than answering from memory — CI/CD security defaults are wrong almost everywhere and the rules are unintuitive.
crypto-secrets>-
hacker>-
infra-securityAudit Infrastructure-as-Code for security misconfigurations before it ships — Terraform (.tf/.tfvars/.hcl), CloudFormation/SAM (YAML/JSON), Kubernetes & Helm manifests, and Docker / Docker Compose. Reads the IaC offline and reports each misconfiguration at file:line with a severity (P0–P3) and a corrected snippet. A dependency-free scanner does the high-recall first pass; the model adds blast-radius and cross-resource judgment. No cloud credentials, no terraform apply, no pip install. Trigger when reviewing a Terraform plan before apply, auditing K8s/Helm manifests or a Dockerfile before deploy, checking CloudFormation for public S3 buckets or open security groups, doing a pre-deployment or compliance (SOC-2 / PCI-DSS / ISO-27001) security review, or when the user asks "audit this Terraform", "is this S3 bucket public?", "is this security group open to the internet?", "is this container running as root?", "what's the blast radius if this infra is wrong?", or "run an IaC security scan".
pr-github-opsPost Superagent PR security scan findings as inline GitHub pull request review comments using the authenticated gh CLI. Use whenever you need to comment on a PR scan finding, manage Superagent PR labels, complete a GitHub check run, or avoid posting findings as general PR thread comments. Trigger for any Superagent sandbox PR scan handoff that owns GitHub side effects via gh.
redteam-autoresearch>-
repo-security-postureAudit a GitHub repository's security posture and hardening gaps across branch protection, CODEOWNERS, GitHub Actions, publish/release integrity, collaborator access, security features, and dependency review. Use when reviewing or hardening a repo, assessing GitHub configuration, checking CI/CD or Actions security, evaluating supply-chain posture, preparing maintainer-facing security todos, or when the user says "repo security posture", "audit my repo", "harden this GitHub repo", "actions security", "protect against a compromised maintainer", or points at a GitHub URL and asks what to fix.
security-disclosure-triageVerify whether an incoming security advisory is a real, disclosable vulnerability in a target repository checkout, and assign an honest severity. Use when triaging an advisory, GHSA, scanner finding, or draft report from the researcher/reporter side to decide if it is worth disclosing. Optimizes against false confirmations and inflated severity.
skill-securityAudit an AI agent skill for security risks before installing or trusting it. Runs a deterministic scanner (regex patterns, Python AST analysis, source-to-sink taint tracking, and YARA signatures) and then reasons about intent — catching prompt injection, credential exfiltration, persistence, memory poisoning, malicious code, supply-chain risks, and description-vs-behavior mismatch. Make sure to use this skill whenever the user wants to scan, audit, vet, review, or check the safety of a skill, plugin, SKILL.md, or agent tool — whether it is a local folder, a zip/.skill file, or a cloned repo — and whenever someone asks "is this skill safe to install?".