@murk-security/runner-darwin-arm64 0.0.0-stage → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/README.md +2 -2
  2. package/bin/harness +0 -0
  3. package/package.json +15 -4
  4. package/runners/basic_harness_run.py +1276 -0
  5. package/runners/checklists/anonymous.json +24 -0
  6. package/runners/cve_feed.json +53 -0
  7. package/runners/prod_env.py +1686 -0
  8. package/runners/profile.py +307 -0
  9. package/runners/recon.py +396 -0
  10. package/runners/remediate.py +429 -0
  11. package/runners/report.py +365 -0
  12. package/runners/skills/api/idor-enumeration/SKILL.md +42 -0
  13. package/runners/skills/exploit/authz-differential/SKILL.md +62 -0
  14. package/runners/skills/exploit/business-logic/SKILL.md +53 -0
  15. package/runners/skills/exploit/client-side-exploitation/SKILL.md +63 -0
  16. package/runners/skills/exploit/client-side-rendering/SKILL.md +57 -0
  17. package/runners/skills/exploit/credential-chaining/SKILL.md +56 -0
  18. package/runners/skills/exploit/known-cve-validation/SKILL.md +46 -0
  19. package/runners/skills/exploit/path-traversal/SKILL.md +44 -0
  20. package/runners/skills/exploit/reflected-xss/SKILL.md +43 -0
  21. package/runners/skills/exploit/service-exploitation/SKILL.md +64 -0
  22. package/runners/skills/exploit/service-probing/SKILL.md +51 -0
  23. package/runners/skills/exploit/sqli-inference/SKILL.md +46 -0
  24. package/runners/skills/exploit/ssrf-oob/SKILL.md +48 -0
  25. package/runners/skills/exploit/state-change-exploitation/SKILL.md +72 -0
  26. package/runners/skills/exploit/stateful-authz/SKILL.md +50 -0
  27. package/runners/skills/recon/subdomain-takeover/SKILL.md +45 -0
  28. package/runners/skills/web/content-discovery/SKILL.md +59 -0
  29. package/runners/skills/web/graphql-exposure/SKILL.md +40 -0
  30. package/runners/skills.py +174 -0
@@ -0,0 +1,24 @@
1
+ {
2
+ "version": "2026.10.1",
3
+ "note": "Blackglass anonymous/external attack-surface checklist. A COVERAGE FLOOR, not a cage: the agent must ensure these surfaces are considered, but stays free to open novel directions beyond them. 'web' items are reachable through the existing http GET op. 'recon' items need Phase-2 prober ops (dns/crt/tls/storage/leak) and are not injected until those ops exist.",
4
+ "surfaces": {
5
+ "web": [
6
+ {"id": "web.js-secrets", "title": "Secrets in JS bundles & source maps", "hint": "Fetch linked scripts and any .map files; grep for API keys, tokens, cloud creds, internal URLs, hardcoded endpoints.", "severity_hint": "high"},
7
+ {"id": "web.unauth-api", "title": "Unauthenticated API endpoints & GraphQL introspection", "hint": "Probe /api, /v1, /graphql, OpenAPI/swagger specs; try GraphQL introspection; look for data-returning endpoints that need no auth.", "severity_hint": "high"},
8
+ {"id": "web.idor", "title": "IDOR on public endpoints", "hint": "On resources keyed by id, enumerate/alter identifiers to read other tenants' or users' data without authorization.", "severity_hint": "high"},
9
+ {"id": "web.exposed-paths", "title": "Exposed .git/.env/backups/debug/swagger", "hint": "Check /.git/config, /.env, /backup, /dump.sql, /debug, /actuator, /swagger, /.well-known, phpinfo, admin consoles.", "severity_hint": "critical"},
10
+ {"id": "web.verbose-errors", "title": "Verbose errors / stack traces", "hint": "Trigger 4xx/5xx with malformed input; capture stack traces, framework/version banners, internal paths, SQL in errors.", "severity_hint": "medium"},
11
+ {"id": "web.cors-headers", "title": "CORS & security-header misconfig", "hint": "Inspect Access-Control-Allow-* (reflected origin + credentials), and missing/weak CSP, HSTS, X-Frame-Options, cookie flags.", "severity_hint": "medium"},
12
+ {"id": "web.auth-boundary", "title": "Auth-boundary bypass / access-control", "hint": "Compare what each identity CAN reach vs what it SHOULD; find role/tenant boundaries crossed by direct request (forced browsing, missing server-side checks).", "severity_hint": "high"}
13
+ ],
14
+ "recon": [
15
+ {"id": "recon.subdomains", "title": "Subdomain enumeration + dangling DNS / takeover", "hint": "Enumerate subdomains of the verified root; flag CNAMEs pointing at deprovisioned services (takeover).", "needs_op": "dns", "phase": 2, "severity_hint": "high"},
16
+ {"id": "recon.crt", "title": "Certificate-transparency mining", "hint": "Pull CT logs for the root domain; surface staging/admin/internal hosts leaked in cert SANs.", "needs_op": "crt", "phase": 2, "severity_hint": "medium"},
17
+ {"id": "recon.storage", "title": "Exposed cloud storage (S3/GCS buckets)", "hint": "Derive likely bucket names from org/domain; probe for public listing/read.", "needs_op": "storage", "phase": 2, "severity_hint": "high"},
18
+ {"id": "recon.registries", "title": "Container repositories & public artifacts", "hint": "Check public Docker Hub / GHCR / npm / registry namespaces tied to the org for exposed images, packages, and their embedded secrets.", "needs_op": "leak", "phase": 2, "severity_hint": "high"},
19
+ {"id": "recon.code-leaks", "title": "Secret/credential leaks in public code", "hint": "Search GitHub/npm/public repos for the org's leaked keys. OPT-IN: needs a provider token; off by default.", "needs_op": "leak", "phase": 2, "opt_in": true, "severity_hint": "critical"},
20
+ {"id": "recon.fingerprint", "title": "Tech/version fingerprinting -> known-CVE surface", "hint": "Fingerprint server/framework/library versions from headers, assets, error pages; map to known CVEs.", "needs_op": "http", "phase": 2, "severity_hint": "medium"},
21
+ {"id": "recon.email-dns", "title": "Email/DNS posture", "hint": "Check SPF/DMARC/DKIM records, open resolvers, zone-transfer, dangling MX.", "needs_op": "dns", "phase": 2, "severity_hint": "low"}
22
+ ]
23
+ }
24
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "_comment": "Notable/recent-CVE feed for the profile version->CVE track (profile.py). DETECTION-ONLY: a match means the fingerprinted version falls in a known-vulnerable range; it is a SIGNAL (a lead to confirm), never a verdict -- banners can be spoofed or backport-patched, so confirmation/exploitation is a separate tiered step. This file is meant to be refreshed from a threat feed; flagship threats are typically post-model-cutoff. Each entry: id (CVE), aka, match (product-name tokens, lowercased, matched against the HTTP Server/X-Powered-By fingerprint), affected (list of version ranges; version in ANY range => affected; ge/gt/le/lt bounds), cvss, title, published (patch/disclosure date), confirm (tier needed to actually prove it), note.",
3
+ "version": "2026-10-28",
4
+ "entries": [
5
+ {
6
+ "id": "CVE-2026-109618",
7
+ "aka": "PHP2Shell",
8
+ "match": ["php"],
9
+ "affected": [
10
+ {"ge": "8.5.0", "lt": "8.5.12"},
11
+ {"ge": "8.4.0", "lt": "8.4.27"},
12
+ {"ge": "8.3.0", "lt": "8.3.36"},
13
+ {"ge": "8.2.0", "lt": "8.2.35"},
14
+ {"lt": "8.2.0"}
15
+ ],
16
+ "cvss": 9.2,
17
+ "title": "PHP-core RCE (session.upload_progress use-after-free)",
18
+ "published": "2026-10-21",
19
+ "confirm": "exploit",
20
+ "note": "PHP2Shell. Patched in 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12; every earlier build (incl. EOL <8.2 branches) is affected. The UAF/OOM trigger is destructive, so proving it is exploit-tier; disabling session.upload_progress is NOT a complete fix -- patch."
21
+ },
22
+ {
23
+ "id": "CVE-2026-109619",
24
+ "aka": "PHP2Shell",
25
+ "match": ["php"],
26
+ "affected": [
27
+ {"ge": "8.5.0", "lt": "8.5.12"},
28
+ {"ge": "8.4.0", "lt": "8.4.27"},
29
+ {"ge": "8.3.0", "lt": "8.3.36"},
30
+ {"ge": "8.2.0", "lt": "8.2.35"},
31
+ {"lt": "8.2.0"}
32
+ ],
33
+ "cvss": 9.2,
34
+ "title": "PHP-core RCE (second PHP2Shell flaw, same patch set)",
35
+ "published": "2026-10-21",
36
+ "confirm": "exploit",
37
+ "note": "PHP2Shell companion CVE. Same fixed versions (8.2.35 / 8.3.36 / 8.4.27 / 8.5.12) and the same patch-only remediation."
38
+ },
39
+ {
40
+ "id": "CVE-2026-42945",
41
+ "aka": "NGINX Rift",
42
+ "match": ["nginx"],
43
+ "affected": [
44
+ {"ge": "0.6.27", "lt": "1.30.1"}
45
+ ],
46
+ "cvss": 8.1,
47
+ "title": "nginx rewrite-module heap overflow (pre-auth RCE where ASLR is disabled)",
48
+ "published": "2026-05-14",
49
+ "confirm": "exploit",
50
+ "note": "Open-source nginx 0.6.27 through 1.30.0 affected (and NGINX Plus R32-R36, which this HTTP fingerprint cannot see). Fixed in 1.30.1 (stable) and 1.31.0 (mainline)."
51
+ }
52
+ ]
53
+ }