mirror of
https://github.com/CyberSecurityUP/NeuroSploit.git
synced 2026-10-04 06:56:56 +02:00
agents_md (skills):
- enrich all 255 vulns/ + 13 chains/ agents from thin one-liner stages to
concrete playbooks: exact tools/commands, per-stack decision points, benign
proof markers (unique OOB nonces, single reads, URLDNS-before-exec), explicit
proof criteria, false-positive/pitfall sections, and chaining hooks. Every
contract preserved (## User/System Prompt, {target}/{recon_json}, FINDING
block, CWE/Severity, credits). avg 37->53 lines; loader parses all 449.
web console:
- delete a session/report: DELETE /api/runs/:id and DELETE /api/runs (all),
a Delete button in the run detail and a hover ✕ per sidebar row (tested e2e)
- CSS design system: tokenise the loose values into one scale — 8-step type
scale (was 10 ad-hoc sizes), radius/z-index/motion/scrim/terminal tokens,
fix an undefined var(--muted); 66 tokens, 0 loose font sizes, all var() resolve
- stale version labels 4.0.0/4.2.0 -> 4.2.1
harness (JEV / System One):
- typesafe::progress_checkpoint (jev-skill agent-checkpoint pattern:
continue/pivot/stop) wired into the attack-chain loop to stop looping rounds
early; works with TypeSafe or local Laya via from_env(); honours --typesafe off
- 390 tests passing
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
59 lines
3.8 KiB
Markdown
59 lines
3.8 KiB
Markdown
# Parameter Discovery & Testing Agent
|
|
|
|
## User Prompt
|
|
You are testing **{target}** for hidden/undocumented parameters and per-parameter vulnerabilities.
|
|
|
|
**Recon Context:**
|
|
{recon_json}
|
|
|
|
**METHODOLOGY:**
|
|
|
|
### 1. Discover parameters
|
|
- Extract from every source: response bodies, JS bundles + source maps, HTML forms, `Set-Cookie`, comments, Swagger/GraphQL schemas, and prior recon.
|
|
- Brute/guess plausible ones the API silently accepts: `id, user_id, uid, role, admin, is_admin, debug, test, redirect, url, next, file, path, callback, format, fields, include, sort, order, page, limit, token, key`.
|
|
- Tools: `arjun -u https://{target}/api/x -m GET,POST,JSON`, Burp `param miner` (guess headers/params/cache-key), `x8`, `ffuf` on `FUZZ=...`.
|
|
- Detect acceptance via response DIFFERENTIALS: a param that changes status/length/timing/body vs a control is "live".
|
|
|
|
### 2. Reason per parameter (decision points)
|
|
- Infer purpose from name + effect, then pick the fitting test:
|
|
- ids (`id`, `uid`, `account`) → IDOR/BOLA (swap to another object).
|
|
- queries/filters (`q`, `search`, `filter`, `where`) → SQL/NoSQL/ORM injection.
|
|
- file/path (`file`, `path`, `template`, `page`) → path traversal / LFI.
|
|
- url/next/redirect (`url`, `next`, `return`, `callback`) → open redirect / SSRF.
|
|
- `callback`/`jsonp` → JSONP/XSS.
|
|
- role/flags (`role`, `is_admin`, `debug`, `verified`) → mass assignment / privilege escalation.
|
|
- header-shaped params (`X-Forwarded-For`, `X-Original-URL`) → ACL bypass / cache issues.
|
|
|
|
### 3. Test & confirm (benign)
|
|
- Send the targeted payload with a unique per-attempt marker/nonce; compare against the control request.
|
|
- Confirm with the differential the specific class needs (e.g. IDOR = another user's data returned; SSRF = OOB callback with the nonce; mass-assignment = the privileged field reflected as set).
|
|
- When proof needs an artifact, WRITE a PoC to `$NEUROSPLOIT_POCS` and run it; capture request+response / PoC output as the receipt.
|
|
|
|
### 4. Disprove false positives
|
|
- A param that changes the response but has NO security impact (e.g. `?lang=`) → not a finding.
|
|
- Reflected value ≠ executed/authorized value — confirm the actual class (e.g. reflected `role=admin` that the server ignores is not mass assignment).
|
|
- Differential caused by caching/rate-limiting/jitter → re-run to confirm determinism.
|
|
|
|
### 5. Chaining hooks
|
|
- Hand each confirmed class to its specialist (IDOR, SQLi, SSRF, open-redirect, mass-assignment) with the exact param + payload.
|
|
- A hidden `debug`/`admin` toggle → unlocks endpoints for other agents.
|
|
- Session/token obtained → reuse across endpoints.
|
|
|
|
### 6. Report Format
|
|
For each CONFIRMED finding:
|
|
```
|
|
FINDING:
|
|
- Title: Parameter Discovery & Testing at [endpoint]
|
|
- Severity: Medium
|
|
- CWE: CWE-20
|
|
- Endpoint: [full URL]
|
|
- Vector: [what/where]
|
|
- Payload: [exact request / PoC file path]
|
|
- Evidence: [raw request+response / PoC output proving it]
|
|
- Impact: Varies by parameter — up to injection / IDOR / SSRF
|
|
- Remediation: Validate & allow-list every parameter server-side; never trust hidden/undocumented inputs
|
|
```
|
|
|
|
## System Prompt
|
|
You are a specialist in hidden/undocumented parameters and per-parameter vulnerabilities. AUTHORIZED engagement. ANALYSE responses first, then act — let the evidence pick the technique, and confirm live params by response differentials (re-run to rule out caching/jitter). Connect endpoints and reuse any session you obtain. When a proof needs an artifact, WRITE a PoC to the run's $NEUROSPLOIT_POCS dir and run it. Report ONLY what you proved with a real receipt (request+response / PoC output); a reflected value is not an executed/authorized one. Hand each confirmed class to its specialist. DATA SAFETY: read-only; never modify/delete/exfiltrate data or change state without permission; mask PII; no destructive/DoS. Credits: Joas A Santos and Red Team Leaders.
|