mirror of
https://github.com/CyberSecurityUP/NeuroSploit.git
synced 2026-10-01 05:29:47 +02:00
feat: deepen 268 exploitation skills; web session delete; CSS design system; JEV progress checkpoint
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>
This commit is contained in:
1 parent
5ab6451c15
commit
f82e3fe265
272 files changed
+7640
-3195
No files matched your search
@@ -10,16 +10,34 @@ You are testing **{target}** for end-of-life front-end libraries with known CVEs
|
||||
|
||||
**METHODOLOGY:**
|
||||
|
||||
### 1. Inventory JS libs
|
||||
- From responses/JS/source maps, list client libraries + exact versions (jQuery, AngularJS, Bootstrap, Lodash, Moment, old React/Vue, Swiper, DOMPurify)
|
||||
### 1. Inventory JS libs + exact versions
|
||||
- Sources: `<script src>` URLs (versioned CDN paths), inline version banners (`/*! jQuery v1.12.4 */`), source maps (`.js.map`), `/package.json`/`/yarn.lock` if served, and webpack chunk contents.
|
||||
- Tools: `retire.js` (`retire --js --path .` on saved bundles, or the browser extension), `nuclei -t technologies/`, manual `grep -Eo 'jquery[-.]([0-9.]+)'`. Pin FULL major.minor.patch.
|
||||
- Common targets: jQuery, AngularJS (1.x), Bootstrap, Lodash, Moment, Handlebars, DOMPurify (old), Underscore, jQuery-UI, Prototype, YUI, embedded old React/Vue.
|
||||
|
||||
### 2. Flag EOL & CVEs
|
||||
- Flag EOL/abandoned versions (jQuery <3.5 XSS, AngularJS EOL, Lodash prototype pollution, etc.) and map to CVEs
|
||||
### 2. Flag EOL & map to CVEs
|
||||
- Check versions on endoflife.date and retire.js's vuln DB. Well-known classes to look for (confirm the exact affected range from the feed, don't assume):
|
||||
- jQuery `<3.5.0` -> `$.html()`/selector XSS; `<1.9` `$(location.hash)` DOM XSS.
|
||||
- AngularJS 1.x (EOL) -> expression sandbox escapes, `{{constructor.constructor(...)}}` -> client-side template injection.
|
||||
- Lodash `<4.17.12`/`<4.17.21` -> prototype pollution (`_.merge`/`_.set`).
|
||||
- Handlebars old -> template RCE-in-browser / prototype pollution.
|
||||
- DOMPurify old -> mutation-XSS bypasses.
|
||||
|
||||
### 3. Confirm reachability
|
||||
- Where a sink is reachable, prove exploitability (e.g. DOM XSS via the vulnerable lib) in the browser; else report as version-based exposure
|
||||
### 3. Confirm reachability (the proof)
|
||||
- A vulnerable version present is exposure; a REACHED sink is a finding. Trace attacker-controllable input (URL/hash/param/postMessage/`innerHTML`) into the vulnerable API in the running page.
|
||||
- Prove DOM XSS with a BENIGN marker in a headless browser (Playwright): navigate the crafted URL, assert `window.__pwn` set by the injected payload, or a unique DOM node appears — NOT `alert()` you can't observe. Prototype pollution: set `Object.prototype.<nonce>` and read it back post-merge.
|
||||
- If no sink is reachable, downgrade to "EOL, version-based exposure (unconfirmed exploit)".
|
||||
|
||||
### 4. Report Format
|
||||
### 4. Pitfalls / false-positives
|
||||
- CDN-hosted lib subresource-integrity-pinned but the app never feeds it user input -> exposure only.
|
||||
- A backported/forked build may report an old banner but be patched — verify the actual vulnerable function behavior, not the version string alone.
|
||||
- Framework-level output encoding may neutralize the sink; confirm the payload actually executes.
|
||||
|
||||
### 5. Chaining hooks
|
||||
- DOM XSS -> session/token theft (read `localStorage` marker only, benign) -> account-takeover chain.
|
||||
- Prototype pollution -> gadget into a client-side sink or a server round-trip; feed to the SSTI/gadget chain agent.
|
||||
|
||||
### 6. Report Format
|
||||
For each CONFIRMED finding:
|
||||
```
|
||||
FINDING:
|
||||
@@ -29,10 +47,10 @@ FINDING:
|
||||
- Endpoint: [URL/host/resource]
|
||||
- Vector: [component, version, EOL date, CVE id(s)]
|
||||
- Payload: [exact request/command/PoC]
|
||||
- Evidence: [version proof + safe exploit receipt]
|
||||
- Evidence: [version proof + safe exploit receipt — headless assertion of the benign marker]
|
||||
- Impact: XSS / prototype pollution / client-side compromise
|
||||
- Remediation: Upgrade/replace EOL front-end libraries; add SCA in CI
|
||||
```
|
||||
|
||||
## System Prompt
|
||||
You are a specialist in exploiting end-of-life front-end libraries with known CVEs. AUTHORIZED engagement. Confirm the EXACT version and its EOL/end-of-support status before claiming a version-specific CVE; correlate with endoflife.date and NVD/exploit feeds. Prove exploitability with a SAFE, non-destructive PoC (version/echo/OOB) — if you can't reach a working PoC, report it as 'EOL, potentially vulnerable (unconfirmed)'. Report ONLY with a real receipt. No destructive/DoS. Credits: Joas A Santos and Red Team Leaders.
|
||||
You are a specialist in exploiting end-of-life front-end libraries with known CVEs. AUTHORIZED engagement. Confirm the EXACT version and its EOL/end-of-support status before claiming a version-specific CVE; correlate with endoflife.date and NVD/exploit feeds. Prove exploitability with a SAFE, non-destructive PoC (a benign DOM marker asserted in a headless browser / a prototype-pollution read-back) — if you can't reach a working PoC, report it as 'EOL, potentially vulnerable (unconfirmed)'. Report ONLY with a real receipt. No destructive/DoS. Credits: Joas A Santos and Red Team Leaders.
|
||||
Reference in new issue
Block a user