@vigolium/piolium 0.0.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 (271) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +117 -0
  3. package/agents/access-auditor.md +300 -0
  4. package/agents/assumption-breaker.md +154 -0
  5. package/agents/attack-designer.md +116 -0
  6. package/agents/code-scanner.md +139 -0
  7. package/agents/concurrency-auditor.md +238 -0
  8. package/agents/confirm-writer.md +257 -0
  9. package/agents/context-reviewer.md +274 -0
  10. package/agents/cross-verifier.md +165 -0
  11. package/agents/cve-scout.md +381 -0
  12. package/agents/env-builder.md +282 -0
  13. package/agents/env-profiler.md +205 -0
  14. package/agents/evidence-collector.md +140 -0
  15. package/agents/finding-grader.md +142 -0
  16. package/agents/finding-writer.md +148 -0
  17. package/agents/flow-tracer.md +106 -0
  18. package/agents/goal-backtracer.md +146 -0
  19. package/agents/history-miner.md +467 -0
  20. package/agents/independent-verifier.md +118 -0
  21. package/agents/intent-mapper.md +183 -0
  22. package/agents/longshot-collector.md +128 -0
  23. package/agents/longshot-prober.md +126 -0
  24. package/agents/patch-auditor.md +73 -0
  25. package/agents/poc-author.md +124 -0
  26. package/agents/poc-runner.md +194 -0
  27. package/agents/probe-lead.md +269 -0
  28. package/agents/red-challenger.md +101 -0
  29. package/agents/report-composer.md +208 -0
  30. package/agents/review-adjudicator.md +216 -0
  31. package/agents/spec-auditor.md +155 -0
  32. package/agents/taint-tracer.md +265 -0
  33. package/agents/test-locator.md +209 -0
  34. package/agents/threat-modeler.md +132 -0
  35. package/agents/variant-scanner.md +108 -0
  36. package/agents/variant-spotter.md +110 -0
  37. package/bin/piolium.mjs +376 -0
  38. package/extensions/piolium/_vendor/yaml.bundle.d.mts +6 -0
  39. package/extensions/piolium/_vendor/yaml.bundle.mjs +139 -0
  40. package/extensions/piolium/agent-runner.ts +322 -0
  41. package/extensions/piolium/agents.ts +266 -0
  42. package/extensions/piolium/audit-state.ts +522 -0
  43. package/extensions/piolium/bundled-resources.ts +97 -0
  44. package/extensions/piolium/candidate-scan.ts +966 -0
  45. package/extensions/piolium/command-target.ts +177 -0
  46. package/extensions/piolium/console-stream.ts +57 -0
  47. package/extensions/piolium/export-results.ts +380 -0
  48. package/extensions/piolium/findings.ts +448 -0
  49. package/extensions/piolium/heartbeat.ts +182 -0
  50. package/extensions/piolium/help.ts +234 -0
  51. package/extensions/piolium/index.ts +1865 -0
  52. package/extensions/piolium/longshot.ts +530 -0
  53. package/extensions/piolium/matcher-suggestions.ts +196 -0
  54. package/extensions/piolium/matcher-utils.ts +83 -0
  55. package/extensions/piolium/modes/balanced.ts +750 -0
  56. package/extensions/piolium/modes/confirm-bootstrap.ts +186 -0
  57. package/extensions/piolium/modes/confirm.ts +697 -0
  58. package/extensions/piolium/modes/deep.ts +917 -0
  59. package/extensions/piolium/modes/diff.ts +177 -0
  60. package/extensions/piolium/modes/lite.ts +540 -0
  61. package/extensions/piolium/modes/longshot.ts +595 -0
  62. package/extensions/piolium/modes/merge.ts +204 -0
  63. package/extensions/piolium/modes/phase-runner.ts +267 -0
  64. package/extensions/piolium/modes/reinvest.ts +546 -0
  65. package/extensions/piolium/modes/revisit.ts +279 -0
  66. package/extensions/piolium/modes.ts +48 -0
  67. package/extensions/piolium/phase-labels.ts +123 -0
  68. package/extensions/piolium/phase-status-strip.ts +92 -0
  69. package/extensions/piolium/prompt-prefix-editor.ts +39 -0
  70. package/extensions/piolium/providers/anthropic-vertex.ts +836 -0
  71. package/extensions/piolium/recon.ts +409 -0
  72. package/extensions/piolium/result-stats.ts +105 -0
  73. package/extensions/piolium/retry.ts +120 -0
  74. package/extensions/piolium/scheduler.ts +212 -0
  75. package/extensions/piolium/secrets.ts +368 -0
  76. package/extensions/piolium/tools/web-tools.ts +148 -0
  77. package/package.json +77 -0
  78. package/skills/agentic-actions-auditor/SKILL.md +327 -0
  79. package/skills/agentic-actions-auditor/references/action-profiles.md +186 -0
  80. package/skills/agentic-actions-auditor/references/cross-file-resolution.md +209 -0
  81. package/skills/agentic-actions-auditor/references/foundations.md +94 -0
  82. package/skills/agentic-actions-auditor/references/vector-a-env-var-intermediary.md +77 -0
  83. package/skills/agentic-actions-auditor/references/vector-b-direct-expression-injection.md +83 -0
  84. package/skills/agentic-actions-auditor/references/vector-c-cli-data-fetch.md +83 -0
  85. package/skills/agentic-actions-auditor/references/vector-d-pr-target-checkout.md +88 -0
  86. package/skills/agentic-actions-auditor/references/vector-e-error-log-injection.md +88 -0
  87. package/skills/agentic-actions-auditor/references/vector-f-subshell-expansion.md +82 -0
  88. package/skills/agentic-actions-auditor/references/vector-g-eval-of-ai-output.md +91 -0
  89. package/skills/agentic-actions-auditor/references/vector-h-dangerous-sandbox-configs.md +102 -0
  90. package/skills/agentic-actions-auditor/references/vector-i-wildcard-allowlists.md +88 -0
  91. package/skills/audit/SKILL.md +562 -0
  92. package/skills/audit/assets/icon.svg +7 -0
  93. package/skills/audit/hooks/scripts/validate_phase_output.py +550 -0
  94. package/skills/audit/references/adversarial-review.md +148 -0
  95. package/skills/audit/references/architecture-aware-sast.md +306 -0
  96. package/skills/audit/references/audit-workflow.md +737 -0
  97. package/skills/audit/references/chamber-protocol.md +384 -0
  98. package/skills/audit/references/creative-attack-modes.md +221 -0
  99. package/skills/audit/references/deep-analysis.md +273 -0
  100. package/skills/audit/references/domain-attack-playbooks.md +1129 -0
  101. package/skills/audit/references/knowledge-base-template.md +513 -0
  102. package/skills/audit/references/real-env-validation.md +191 -0
  103. package/skills/audit/references/report-templates.md +417 -0
  104. package/skills/audit/references/triage-and-prereqs.md +134 -0
  105. package/skills/audit/scripts/consolidate_drafts.py +554 -0
  106. package/skills/audit/scripts/partition_findings.py +152 -0
  107. package/skills/audit/scripts/rg-hotspots.sh +121 -0
  108. package/skills/audit/scripts/stamp_file_state.py +349 -0
  109. package/skills/code-reviewer/SKILL.md +65 -0
  110. package/skills/codeql/SKILL.md +281 -0
  111. package/skills/codeql/references/build-fixes.md +90 -0
  112. package/skills/codeql/references/diagnostic-query-templates.md +339 -0
  113. package/skills/codeql/references/extension-yaml-format.md +209 -0
  114. package/skills/codeql/references/important-only-suite.md +153 -0
  115. package/skills/codeql/references/language-details.md +207 -0
  116. package/skills/codeql/references/macos-arm64e-workaround.md +179 -0
  117. package/skills/codeql/references/performance-tuning.md +111 -0
  118. package/skills/codeql/references/quality-assessment.md +172 -0
  119. package/skills/codeql/references/ruleset-catalog.md +63 -0
  120. package/skills/codeql/references/run-all-suite.md +92 -0
  121. package/skills/codeql/references/sarif-processing.md +79 -0
  122. package/skills/codeql/references/threat-models.md +51 -0
  123. package/skills/codeql/workflows/build-database.md +280 -0
  124. package/skills/codeql/workflows/create-data-extensions.md +261 -0
  125. package/skills/codeql/workflows/run-analysis.md +301 -0
  126. package/skills/differential-review/SKILL.md +220 -0
  127. package/skills/differential-review/adversarial.md +203 -0
  128. package/skills/differential-review/methodology.md +234 -0
  129. package/skills/differential-review/patterns.md +300 -0
  130. package/skills/differential-review/reporting.md +369 -0
  131. package/skills/fp-check/SKILL.md +125 -0
  132. package/skills/fp-check/references/bug-class-verification.md +114 -0
  133. package/skills/fp-check/references/deep-verification.md +143 -0
  134. package/skills/fp-check/references/evidence-templates.md +91 -0
  135. package/skills/fp-check/references/false-positive-patterns.md +115 -0
  136. package/skills/fp-check/references/gate-reviews.md +27 -0
  137. package/skills/fp-check/references/standard-verification.md +78 -0
  138. package/skills/insecure-defaults/SKILL.md +117 -0
  139. package/skills/insecure-defaults/references/examples.md +409 -0
  140. package/skills/last30days/SKILL.md +444 -0
  141. package/skills/sarif-parsing/SKILL.md +483 -0
  142. package/skills/sarif-parsing/resources/jq-queries.md +162 -0
  143. package/skills/sarif-parsing/resources/sarif_helpers.py +331 -0
  144. package/skills/security-threat-model/LICENSE.txt +201 -0
  145. package/skills/security-threat-model/SKILL.md +81 -0
  146. package/skills/security-threat-model/agents/openai.yaml +4 -0
  147. package/skills/security-threat-model/references/prompt-template.md +255 -0
  148. package/skills/security-threat-model/references/security-controls-and-assets.md +32 -0
  149. package/skills/semgrep/SKILL.md +212 -0
  150. package/skills/semgrep/references/rulesets.md +162 -0
  151. package/skills/semgrep/references/scan-modes.md +110 -0
  152. package/skills/semgrep/references/scanner-task-prompt.md +140 -0
  153. package/skills/semgrep/scripts/merge_sarif.py +203 -0
  154. package/skills/semgrep/workflows/scan-workflow.md +311 -0
  155. package/skills/semgrep-rule-creator/SKILL.md +168 -0
  156. package/skills/semgrep-rule-creator/references/quick-reference.md +202 -0
  157. package/skills/semgrep-rule-creator/references/workflow.md +240 -0
  158. package/skills/semgrep-rule-variant-creator/SKILL.md +205 -0
  159. package/skills/semgrep-rule-variant-creator/references/applicability-analysis.md +250 -0
  160. package/skills/semgrep-rule-variant-creator/references/language-syntax-guide.md +324 -0
  161. package/skills/semgrep-rule-variant-creator/references/workflow.md +518 -0
  162. package/skills/sharp-edges/SKILL.md +292 -0
  163. package/skills/sharp-edges/references/auth-patterns.md +252 -0
  164. package/skills/sharp-edges/references/case-studies.md +274 -0
  165. package/skills/sharp-edges/references/config-patterns.md +333 -0
  166. package/skills/sharp-edges/references/crypto-apis.md +190 -0
  167. package/skills/sharp-edges/references/lang-c.md +205 -0
  168. package/skills/sharp-edges/references/lang-csharp.md +285 -0
  169. package/skills/sharp-edges/references/lang-go.md +270 -0
  170. package/skills/sharp-edges/references/lang-java.md +263 -0
  171. package/skills/sharp-edges/references/lang-javascript.md +269 -0
  172. package/skills/sharp-edges/references/lang-kotlin.md +265 -0
  173. package/skills/sharp-edges/references/lang-php.md +245 -0
  174. package/skills/sharp-edges/references/lang-python.md +274 -0
  175. package/skills/sharp-edges/references/lang-ruby.md +273 -0
  176. package/skills/sharp-edges/references/lang-rust.md +272 -0
  177. package/skills/sharp-edges/references/lang-swift.md +287 -0
  178. package/skills/sharp-edges/references/language-specific.md +588 -0
  179. package/skills/spec-to-code-compliance/SKILL.md +357 -0
  180. package/skills/spec-to-code-compliance/resources/COMPLETENESS_CHECKLIST.md +69 -0
  181. package/skills/spec-to-code-compliance/resources/IR_EXAMPLES.md +417 -0
  182. package/skills/spec-to-code-compliance/resources/OUTPUT_REQUIREMENTS.md +105 -0
  183. package/skills/supply-chain-risk-auditor/SKILL.md +67 -0
  184. package/skills/supply-chain-risk-auditor/resources/results-template.md +41 -0
  185. package/skills/variant-analysis/METHODOLOGY.md +327 -0
  186. package/skills/variant-analysis/SKILL.md +142 -0
  187. package/skills/variant-analysis/resources/codeql/cpp.ql +119 -0
  188. package/skills/variant-analysis/resources/codeql/go.ql +69 -0
  189. package/skills/variant-analysis/resources/codeql/java.ql +71 -0
  190. package/skills/variant-analysis/resources/codeql/javascript.ql +63 -0
  191. package/skills/variant-analysis/resources/codeql/python.ql +80 -0
  192. package/skills/variant-analysis/resources/semgrep/cpp.yaml +98 -0
  193. package/skills/variant-analysis/resources/semgrep/go.yaml +63 -0
  194. package/skills/variant-analysis/resources/semgrep/java.yaml +61 -0
  195. package/skills/variant-analysis/resources/semgrep/javascript.yaml +60 -0
  196. package/skills/variant-analysis/resources/semgrep/python.yaml +72 -0
  197. package/skills/variant-analysis/resources/variant-report-template.md +75 -0
  198. package/skills/vuln-report/SKILL.md +137 -0
  199. package/skills/vuln-report/agents/openai.yaml +4 -0
  200. package/skills/vuln-report/references/report-template.md +135 -0
  201. package/skills/wooyun-legacy/SKILL.md +367 -0
  202. package/skills/wooyun-legacy/references/bank-penetration.md +222 -0
  203. package/skills/wooyun-legacy/references/checklists/command-execution-checklist.md +119 -0
  204. package/skills/wooyun-legacy/references/checklists/csrf-checklist.md +74 -0
  205. package/skills/wooyun-legacy/references/checklists/file-upload-checklist.md +108 -0
  206. package/skills/wooyun-legacy/references/checklists/info-disclosure-checklist.md +114 -0
  207. package/skills/wooyun-legacy/references/checklists/logic-flaws-checklist.md +95 -0
  208. package/skills/wooyun-legacy/references/checklists/misconfig-checklist.md +124 -0
  209. package/skills/wooyun-legacy/references/checklists/path-traversal-checklist.md +87 -0
  210. package/skills/wooyun-legacy/references/checklists/rce-checklist.md +93 -0
  211. package/skills/wooyun-legacy/references/checklists/sql-injection-checklist.md +97 -0
  212. package/skills/wooyun-legacy/references/checklists/ssrf-checklist.md +99 -0
  213. package/skills/wooyun-legacy/references/checklists/unauthorized-access-checklist.md +89 -0
  214. package/skills/wooyun-legacy/references/checklists/weak-password-checklist.md +115 -0
  215. package/skills/wooyun-legacy/references/checklists/xss-checklist.md +103 -0
  216. package/skills/wooyun-legacy/references/checklists/xxe-checklist.md +130 -0
  217. package/skills/wooyun-legacy/references/info-disclosure.md +975 -0
  218. package/skills/wooyun-legacy/references/logic-flaws.md +721 -0
  219. package/skills/wooyun-legacy/references/path-traversal.md +1191 -0
  220. package/skills/wooyun-legacy/references/telecom-penetration.md +156 -0
  221. package/skills/wooyun-legacy/references/unauthorized-access.md +980 -0
  222. package/skills/wooyun-legacy/references/xss.md +746 -0
  223. package/skills/zeroize-audit/SKILL.md +371 -0
  224. package/skills/zeroize-audit/configs/c.yaml +21 -0
  225. package/skills/zeroize-audit/configs/default.yaml +128 -0
  226. package/skills/zeroize-audit/configs/rust.yaml +83 -0
  227. package/skills/zeroize-audit/prompts/report_template.md +238 -0
  228. package/skills/zeroize-audit/prompts/system.md +163 -0
  229. package/skills/zeroize-audit/prompts/task.md +97 -0
  230. package/skills/zeroize-audit/references/compile-commands.md +231 -0
  231. package/skills/zeroize-audit/references/detection-strategy.md +191 -0
  232. package/skills/zeroize-audit/references/ir-analysis.md +252 -0
  233. package/skills/zeroize-audit/references/mcp-analysis.md +221 -0
  234. package/skills/zeroize-audit/references/poc-generation.md +470 -0
  235. package/skills/zeroize-audit/references/rust-zeroization-patterns.md +867 -0
  236. package/skills/zeroize-audit/schemas/input.json +83 -0
  237. package/skills/zeroize-audit/schemas/output.json +140 -0
  238. package/skills/zeroize-audit/tools/analyze_asm.sh +202 -0
  239. package/skills/zeroize-audit/tools/analyze_cfg.py +381 -0
  240. package/skills/zeroize-audit/tools/analyze_heap.sh +211 -0
  241. package/skills/zeroize-audit/tools/analyze_ir_semantic.py +429 -0
  242. package/skills/zeroize-audit/tools/diff_ir.sh +135 -0
  243. package/skills/zeroize-audit/tools/diff_rust_mir.sh +189 -0
  244. package/skills/zeroize-audit/tools/emit_asm.sh +67 -0
  245. package/skills/zeroize-audit/tools/emit_ir.sh +77 -0
  246. package/skills/zeroize-audit/tools/emit_rust_asm.sh +178 -0
  247. package/skills/zeroize-audit/tools/emit_rust_ir.sh +150 -0
  248. package/skills/zeroize-audit/tools/emit_rust_mir.sh +158 -0
  249. package/skills/zeroize-audit/tools/extract_compile_flags.py +284 -0
  250. package/skills/zeroize-audit/tools/generate_poc.py +1329 -0
  251. package/skills/zeroize-audit/tools/mcp/apply_confidence_gates.py +113 -0
  252. package/skills/zeroize-audit/tools/mcp/check_mcp.sh +68 -0
  253. package/skills/zeroize-audit/tools/mcp/normalize_mcp_evidence.py +125 -0
  254. package/skills/zeroize-audit/tools/scripts/check_llvm_patterns.py +481 -0
  255. package/skills/zeroize-audit/tools/scripts/check_mir_patterns.py +554 -0
  256. package/skills/zeroize-audit/tools/scripts/check_rust_asm.py +424 -0
  257. package/skills/zeroize-audit/tools/scripts/check_rust_asm_aarch64.py +300 -0
  258. package/skills/zeroize-audit/tools/scripts/check_rust_asm_x86.py +283 -0
  259. package/skills/zeroize-audit/tools/scripts/find_dangerous_apis.py +375 -0
  260. package/skills/zeroize-audit/tools/scripts/semantic_audit.py +923 -0
  261. package/skills/zeroize-audit/tools/track_dataflow.sh +196 -0
  262. package/skills/zeroize-audit/tools/validate_rust_toolchain.sh +298 -0
  263. package/skills/zeroize-audit/workflows/phase-0-preflight.md +150 -0
  264. package/skills/zeroize-audit/workflows/phase-1-source-analysis.md +144 -0
  265. package/skills/zeroize-audit/workflows/phase-2-compiler-analysis.md +139 -0
  266. package/skills/zeroize-audit/workflows/phase-3-interim-report.md +46 -0
  267. package/skills/zeroize-audit/workflows/phase-4-poc-generation.md +46 -0
  268. package/skills/zeroize-audit/workflows/phase-5-poc-validation.md +136 -0
  269. package/skills/zeroize-audit/workflows/phase-6-final-report.md +44 -0
  270. package/skills/zeroize-audit/workflows/phase-7-test-generation.md +42 -0
  271. package/themes/piolium-srcery.json +94 -0
@@ -0,0 +1,417 @@
1
+ # Security Report Templates
2
+
3
+ Consistent output formats only.
4
+ Do not use this file for triage rules or analysis methodology.
5
+
6
+ ## audit-state.json Schema
7
+
8
+ `archon/audit-state.json` is an append-only audit history. Each audit run is appended as a new
9
+ entry in the `audits` array. Earlier entries are never overwritten — they form the permanent record
10
+ of every audit cycle against this repository. The current (in-progress or most recently completed)
11
+ audit is always the last entry.
12
+
13
+ ```json
14
+ {
15
+ "audits": [
16
+ {
17
+ "audit_id": "<YYYY-MM-DDTHH:MM:SSZ>",
18
+ "commit": "<git SHA>",
19
+ "branch": "<branch name>",
20
+ "repository": "<org/repo or folder name>",
21
+ "started_at": "<ISO 8601 timestamp>",
22
+ "completed_at": "<ISO 8601 timestamp or null if in progress>",
23
+ "status": "complete | in_progress | failed",
24
+ "phases": {
25
+ "1": {
26
+ "status": "complete | in_progress | failed | skipped",
27
+ "started_at": "<ISO 8601 timestamp>",
28
+ "completed_at": "<ISO 8601 timestamp>",
29
+ "metrics": {
30
+ "findings_count": 0,
31
+ "reports_generated": ["knowledge-base-report.md"],
32
+ "validation_passed": true,
33
+ "error": null
34
+ }
35
+ }
36
+ }
37
+ }
38
+ ]
39
+ }
40
+ ```
41
+
42
+ Field notes:
43
+ - `audit_id`: ISO 8601 timestamp of when the audit started; unique identifier for the run
44
+ - `commit`: HEAD commit SHA at audit start; used for incremental re-audit diffing
45
+ - `repository`: org/repo slug from git remote origin (e.g. `org/reponame`), or working directory basename if no remote is configured
46
+ - `status` (audit-level): overall status of the audit run
47
+ - `findings_count`: number of candidate findings at phase completion (0 for phases that do not generate findings)
48
+ - `reports_generated`: list of KB sections or artifact files written during this phase
49
+ - `validation_passed`: result of running `validate_phase_output.py` for this phase
50
+ - `error`: validation error message if `validation_passed` is false; null otherwise
51
+
52
+ **Appending a new audit**: before starting a new audit run, read the existing file, append a new
53
+ entry to the `audits` array with `status: "in_progress"`, and write the file back. Never replace
54
+ the array or remove existing entries. If the file does not exist, create it with a single-entry
55
+ array.
56
+
57
+ **Re-audit detection**: to determine whether this is a re-audit, compare the current HEAD SHA
58
+ against `audits[-1].commit` (the most recent completed entry). If they differ, this is a re-audit;
59
+ load the KB sections from `archon/attack-surface/knowledge-base-report.md` as the starting knowledge base.
60
+
61
+ For Phase 4, `reports_generated` must include `archon/codeql-artifacts/entry-points.json`,
62
+ `archon/codeql-artifacts/sinks.json`, `archon/codeql-artifacts/call-graph-slices.json`, and
63
+ `archon/codeql-artifacts/flow-paths-all-severities.md`, plus the `## Static Analysis Summary`
64
+ section written to `archon/attack-surface/knowledge-base-report.md`. Missing any causes `validation_passed: false`.
65
+
66
+ Phase 4 `metrics` must include a `codeql_structural` sub-object:
67
+
68
+ ```json
69
+ "codeql_structural": {
70
+ "entry_points_count": 0,
71
+ "sinks_count": 0,
72
+ "slices_reachable": 0,
73
+ "slices_not_reachable": 0,
74
+ "informational_results_count": 0,
75
+ "db_path": "archon/codeql-artifacts/db/"
76
+ }
77
+ ```
78
+
79
+ ## Finding Draft Template
80
+
81
+ Used for `archon/findings-draft/<phase>-<NNN>-<slug>.md` files written incrementally during Phases 7-9.
82
+
83
+ ```markdown
84
+ # [Finding Title]
85
+
86
+ Phase: 7 | 8 | 9
87
+ Sequence: NNN
88
+ Slug: <slug>
89
+ Verdict: PENDING | VALID | FALSE POSITIVE | BY DESIGN | OUT OF SCOPE | FALSE POSITIVE (adversarial)
90
+ Rationale: <one-sentence explanation tied to the threat model — fill in during Phase 11>
91
+ Adversarial-Verdict: PENDING | CONFIRMED | DISPROVED
92
+ Adversarial-Rationale: <one sentence citing the decisive evidence — fill in during Phase 11 Stage 2>
93
+ Severity-Original: <severity assigned during Phase 10/8 Stage 1>
94
+ Severity-Final: <severity after adversarial challenge — lower severity wins>
95
+ PoC-Status: executed | theoretical | blocked
96
+ Pre-FP-Flag: <none | check-N-ambiguous — set by chamber Synthesizer if quality gate was ambiguous>
97
+ Debate: <path to chamber debate transcript, e.g., archon/chamber-workspace/chamber-01/debate.md>
98
+
99
+ ## Summary
100
+
101
+ [One-sentence description of the vulnerability.]
102
+
103
+ ## Location
104
+
105
+ File: <path>
106
+ Function/Method: <name>
107
+ Line: <number>
108
+
109
+ ## Attacker Control
110
+
111
+ [What input does the attacker control, and how does it reach the vulnerable code?]
112
+
113
+ ## Trust Boundary Crossed
114
+
115
+ [Which trust boundary is violated?]
116
+
117
+ ## Impact
118
+
119
+ [Concrete attacker gain: what can the attacker do?]
120
+
121
+ ## Evidence
122
+
123
+ [Code snippet or logic trace showing the vulnerable path.]
124
+
125
+ ## Reproduction Steps
126
+
127
+ [Minimal steps to trigger the issue.]
128
+ ```
129
+
130
+ ## PoC Quality Requirements
131
+
132
+ Apply these requirements to every PoC produced in Phase 15 and Phase 11 Stage 2:
133
+
134
+ - **Prove the vulnerability, do not manufacture it.** The PoC must demonstrate the actual exploit path through the real application stack — not a stripped-down harness that bypasses the security controls under test. Bug bounty triagers reject PoCs that call the vulnerable function directly while skipping the auth layer, middleware, or sandbox that would normally gate access.
135
+ - **Minimize the PoC to its essential steps.** Remove all scaffolding, retry loops, verbose logging, and diagnostic output that are not necessary to trigger the vulnerability. The finished script should read like a CTF exploit: tight, purposeful, and self-contained.
136
+ - **Demonstrate the security effect.** The PoC must show the concrete attacker gain — data exfiltration, code execution, authentication bypass, privilege escalation — not merely that an error occurs.
137
+ - **Capture evidence.** For Critical and High findings, save execution output to `archon/findings/<ID>-<slug>/evidence/` (screenshots, response captures, or log snippets).
138
+ - **Label PoC-Status accurately.** Use `executed` only if the PoC ran successfully against a real environment. Use `theoretical` if only code-level analysis was performed. Use `blocked` with a `PoC-Block-Reason:` if environment provisioning failed.
139
+
140
+ ## Adversarial Review Template
141
+
142
+ Used for `archon/adversarial-reviews/<slug>-review.md` files written during Phase 11 Stage 2.
143
+
144
+ ```markdown
145
+ # Adversarial Review: [Finding Title]
146
+
147
+ Finding-Ref: archon/findings-draft/<phase>-<NNN>-<slug>.md
148
+ Reviewer-Agent: fresh (isolated — did not see Phase 10 reasoning)
149
+ Date: <ISO date>
150
+
151
+ ## Independent Restatement
152
+
153
+ [Restate the vulnerability claim in your own words without copying the original description.]
154
+
155
+ ## Sub-claim Decomposition
156
+
157
+ - Sub-claim A (attacker controls X): [assessment]
158
+ - Sub-claim B (X reaches Y without blocking controls): [assessment]
159
+ - Sub-claim C (Y causes security effect Z): [assessment]
160
+
161
+ Sub-claim result: all coherent | failure on <sub-claim> — <reason>
162
+
163
+ ## Independent Code Path Trace
164
+
165
+ Entry point: <file:line>
166
+ Sink: <file:line>
167
+
168
+ [Step-by-step trace of the code path. Document every validation, sanitization, and transformation encountered.]
169
+
170
+ ## Protections Checked
171
+
172
+ | Layer | Protection Found | Blocks Attack? |
173
+ |-------|-----------------|----------------|
174
+ | Language | | |
175
+ | Framework | | |
176
+ | Middleware | | |
177
+ | Application | | |
178
+ | Documentation | | |
179
+
180
+ ## Real-Environment Reproduction
181
+
182
+ Environment type: web app | library | CLI | protocol | infrastructure
183
+ Provisioning method: Docker | VM (DigitalOcean) | VM (Azure) | local install | blocked
184
+
185
+ Setup commands: see `archon/real-env-evidence/<slug>/setup.sh`
186
+ Healthcheck result: pass | fail
187
+ Attempt 1: [payload/method] — [result]
188
+ Attempt 2 (if needed): [payload/method] — [result]
189
+ Attempt 3 (if needed): [payload/method] — [result]
190
+ Evidence: archon/real-env-evidence/<slug>/
191
+
192
+ PoC-Status: executed | theoretical | blocked
193
+ Block reason (if blocked): <specific reason>
194
+
195
+ ## Prosecution Brief
196
+
197
+ [Strongest possible argument that this is a genuine, exploitable vulnerability. Cite code locations and evidence.]
198
+
199
+ ## Defense Brief
200
+
201
+ [Strongest possible argument that this is a false positive or unexploitable. Cite protections, reproduction failures, and realistic preconditions.]
202
+
203
+ ## Severity Challenge
204
+
205
+ Severity-Original: <from finding draft>
206
+ Severity-Challenge: MEDIUM | HIGH | CRITICAL
207
+ Justification: <one sentence with evidence>
208
+
209
+ ## Verdict
210
+
211
+ Adversarial-Verdict: CONFIRMED | DISPROVED
212
+ Adversarial-Rationale: <one sentence citing the decisive evidence>
213
+ ```
214
+
215
+ ## Pentest-Style Final Report Template (`archon/final-audit-report.md`)
216
+
217
+ ```markdown
218
+ # Security Audit Report: [Project Name]
219
+ =========================================
220
+
221
+ ## Executive Summary
222
+ ---------------------
223
+ [Concise high-level summary of the overall security posture. Identify the most critical risks and the general impact on the business or project stakeholders. Aim for a one-paragraph summary for non-technical audiences.]
224
+
225
+ ## Methodology Summary
226
+ -----------------------
227
+ [Briefly describe the audit process (Phases 1-9) to establish technical depth.]
228
+ - **Intelligence Gathering:** Identified published advisories, architecture, and dependency risks.
229
+ - **Threat Modeling:** Documented trust boundaries, attacker entry points, and high-risk flows.
230
+ - **Static Analysis:** Executed CodeQL, Semgrep Pro, and custom architecture-driven rules.
231
+ - **Structural Extraction:** CodeQL structural artifacts (entry points, sinks, call graph slices,
232
+ informational flow nodes, machine-generated DFD/CFD diagrams) were extracted and used to validate
233
+ Phase 3 DFD/CFD slices, guide manual review in Phase 10, and drive AST-level variant hunting in
234
+ Phase 12.
235
+ - **Deep Manual Review:** Targeted bug hunting focusing on logic, bypasses, and spec compliance.
236
+ - **Verification:** All findings were validated for exploitability within the project's threat model.
237
+
238
+ ## Summary of Findings
239
+ ----------------------
240
+
241
+ | ID | Title | Severity | Status |
242
+ |----|-------|----------|--------|
243
+ | [C1] | [Vulnerability Title] | CRITICAL | VALID |
244
+ | [H1] | [Vulnerability Title] | HIGH | VALID |
245
+ | [M1] | [Vulnerability Title] | MEDIUM | VALID |
246
+
247
+ ## Technical Findings Detail
248
+ ---------------------------
249
+
250
+ ### [[ID]] [Finding Title]
251
+ - **Severity:** [CRITICAL/HIGH/MEDIUM]
252
+ - **Summary:** [One-sentence summary of the vulnerability.]
253
+ - **Impact:** [How this impacts the system/user and what the attacker gains.]
254
+ - **Detailed Report:** [archon/findings/[ID]-[slug]/report.md]
255
+ - **Proof of Concept:** [archon/findings/[ID]-[slug]/poc.py]
256
+
257
+ [Repeat for each finding...]
258
+
259
+ ## Conclusion
260
+ -------------
261
+ [Final assessment and professional recommendations for improving the overall security baseline.]
262
+ ```
263
+
264
+ ## Audit Report Template
265
+
266
+ ```
267
+ Security Audit Report
268
+ ===================
269
+
270
+ Scope: [full codebase | specific area | file path]
271
+
272
+ Method: static analysis [+ runtime verification if runnable]
273
+
274
+ Summary: CRITICAL: N, HIGH: N [or NONE]
275
+
276
+ Findings
277
+ --------
278
+
279
+ [C1/H1] Finding Title
280
+ - Severity: CRITICAL/HIGH/MEDIUM
281
+ - Prerequisites: [attacker position and required capabilities]
282
+ - Evidence: [source → sink chain with file references]
283
+ - Reproduction: [minimal safe steps]
284
+ - Impact: [concrete attacker gain]
285
+ - Discussion inputs: [key technical facts/questions for the dev team; do not propose a fix unless asked]
286
+
287
+ [Repeat for each finding...]
288
+
289
+ Noise Skipped (optional)
290
+ ------------------------
291
+ - [Issue]: [reason for exclusion]
292
+ [Only include if needed to prevent confusion]
293
+ ```
294
+
295
+ ## Verification Report Template
296
+
297
+ ```
298
+ Security Fix Verification
299
+ ========================
300
+
301
+ Scope: [what was tested]
302
+ Changes: [what code/behavior changed]
303
+ Status: PASS/FAIL
304
+
305
+ Re-tested Findings
306
+ ------------------
307
+
308
+ [C1/H1] Finding Title: FIXED/NOT FIXED
309
+ - Repro re-run: [steps taken]
310
+ - Evidence: [proof of fix or continued vulnerability]
311
+
312
+ [Repeat for each previous finding...]
313
+
314
+ Regressions
315
+ -----------
316
+ - [Test/Build]: [failure description]
317
+ [Include any test failures or build issues introduced by changes]
318
+ ```
319
+
320
+ ## Consistency Check: Phase 4 CodeQL Artifacts
321
+
322
+ Required files after Phase 4 (must exist and be non-empty):
323
+
324
+ ```
325
+ archon/codeql-artifacts/entry-points.json
326
+ archon/codeql-artifacts/sinks.json
327
+ archon/codeql-artifacts/call-graph-slices.json
328
+ archon/codeql-artifacts/flow-paths-all-severities.md
329
+ ```
330
+
331
+ Git-ignored but must exist on disk during Phases 5-9:
332
+
333
+ ```
334
+ archon/codeql-artifacts/db/
335
+ archon/codeql-artifacts/flow-paths-raw.sarif
336
+ ```
337
+
338
+ Spot checks:
339
+
340
+ ```bash
341
+ jq 'length' archon/codeql-artifacts/entry-points.json
342
+ jq 'length' archon/codeql-artifacts/sinks.json
343
+ jq '[.[] | select(.reachable == true)] | length' archon/codeql-artifacts/call-graph-slices.json
344
+ jq '.runs[0].results | length' archon/codeql-artifacts/flow-paths-raw.sarif
345
+ ```
346
+
347
+ ## RFC Gaps Report Template
348
+
349
+ ```
350
+ RFC Implementation Gaps Report
351
+ ==============================
352
+
353
+ Scope: [protocol/module]
354
+ RFCs Reviewed: [RFC number(s) and sections]
355
+
356
+ Gap Summary
357
+ -----------
358
+ - Implemented correctly: N
359
+ - Partially implemented: N
360
+ - Missing: N
361
+ - Potentially bypassable: N
362
+
363
+ Per-Gap Detail
364
+ --------------
365
+
366
+ [G1] Gap Title
367
+ - RFC Clause: [RFC XXXX §Y.Z]
368
+ - Code Path: [file/function]
369
+ - Gap Type: implemented-correctly | partial | missing | bypassable
370
+ - Attack Vector: [threat-model-relevant vector]
371
+ - Exploit Conditions: [prerequisites]
372
+ - Impact: [concrete attacker gain]
373
+ - Evidence: [code path and reasoning]
374
+
375
+ [Repeat for each gap...]
376
+ ```
377
+
378
+ ## Attack Pattern Registry Schema
379
+
380
+ File: `archon/attack-pattern-registry.json`
381
+
382
+ Created during Phase 10 Review Chamber debates. Each confirmed vulnerability pattern is added
383
+ with detection signatures for automated variant hunting in Phase 12.
384
+
385
+ ```json
386
+ {
387
+ "patterns": [
388
+ {
389
+ "id": "AP-001",
390
+ "title": "Unsafe ObjectInputStream deserialization",
391
+ "bug_class": "deserialization",
392
+ "root_cause": "ObjectInputStream.readObject() without ObjectInputFilter on attacker-reachable path",
393
+ "detection_signature": {
394
+ "codeql": "<QL query fragment for variant search>",
395
+ "grep": "<regex pattern for codebase-wide search>",
396
+ "semgrep": "<semgrep pattern for structural match>"
397
+ },
398
+ "confirmed_instances": [
399
+ {"finding_ref": "p7-003-admin-deser.md", "file": "src/admin/AdminService.java:142"}
400
+ ],
401
+ "untested_candidates": [
402
+ {"file": "src/backup/BackupRestoreService.java:201", "reason": "Uses ObjectInputStream in unaudited slice"}
403
+ ],
404
+ "severity": "CRITICAL",
405
+ "added_at": "<ISO 8601 timestamp>",
406
+ "added_by": "<chamber-id>"
407
+ }
408
+ ]
409
+ }
410
+ ```
411
+
412
+ ## Chamber Debate Transcript Template
413
+
414
+ File: `archon/chamber-workspace/<chamber-id>/debate.md`
415
+
416
+ See `references/chamber-protocol.md` for the complete format specification. The transcript is
417
+ append-only with structured round markers and role-tagged sections.
@@ -0,0 +1,134 @@
1
+ # Triage and Prerequisite Rules
2
+
3
+ Purpose: define **what qualifies** as a reportable issue and how to prioritize it.
4
+ Out of scope: deep-analysis methodology and report output templates.
5
+
6
+ ## Severity Priority
7
+
8
+ 1. CRITICAL
9
+ 2. HIGH
10
+ 3. MEDIUM (secondary pass only)
11
+
12
+ Low severity findings are eliminated from the audit pipeline entirely. Drop them at whichever phase
13
+ first determines their severity (Phase 5, 7, or 8). Never carry a Low finding to Phase 12 or
14
+ Phase 15. The final audit report covers Medium, High, and Critical findings only.
15
+
16
+ If no path to material impact exists, do not report.
17
+
18
+ ## Prerequisite Minimums
19
+
20
+ Every finding must state:
21
+
22
+ - Attacker starting position
23
+ - Required capabilities
24
+ - Trust boundary crossed
25
+ - Concrete attacker gain
26
+
27
+ ## Capability Validity Rules
28
+
29
+ Treat findings as invalid when prerequisites already imply environment compromise:
30
+
31
+ - Write access to app config/data files
32
+ - Control over CI/CD or deployment infrastructure
33
+ - Control over runtime environment variables
34
+ - Ownership of unrelated external infrastructure as the sole prerequisite
35
+
36
+ Escalate only if the code under review provides a realistic path to gain that prerequisite.
37
+
38
+ ## Token and Secret Claims
39
+
40
+ Do not treat "token possession enables access" as a finding by itself.
41
+
42
+ Report only when there is a feasible acquisition path, such as:
43
+
44
+ - Exfiltration via XSS/injection
45
+ - Leakage to logs, URLs, telemetry, or third-party endpoints
46
+ - Misconfiguration that exposes secret material
47
+
48
+ ## Noise Filters
49
+
50
+ Deprioritize unless chained to clear impact:
51
+
52
+ - CORS weakness without data exposure/state change
53
+ - Missing rate limiting without abuse chain
54
+ - Enumeration without takeover or sensitive-data access
55
+ - Verbose errors without sensitive disclosure
56
+ - Surface-only scanner hits without source-to-sink evidence
57
+
58
+ ## Threat-Model Alignment Rule
59
+
60
+ Attack vectors are selected by project threat model and attack surface:
61
+
62
+ - AV:N often applies to internet-facing systems
63
+ - Local/adjacent/physical vectors may be in-scope for CLI, desktop, or embedded targets
64
+
65
+ The report decision should follow project context, not a fixed AV requirement.
66
+
67
+ ## Bug Bounty Scope Gate
68
+
69
+ Before advancing a finding to Phase 12 or Phase 15, confirm all five:
70
+
71
+ - [ ] Target (domain, binary, repo, service) is explicitly listed in-scope for the program
72
+ - [ ] Bug class is not in the program's exclusion list (e.g., "rate limiting not accepted", "self-XSS out of scope")
73
+ - [ ] Test method used is permitted (e.g., no automated scanning if prohibited, no testing on production if not allowed)
74
+ - [ ] Finding is not a known, already-reported, or recently-patched duplicate (check public disclosures and changelog)
75
+ - [ ] Severity meets the program's minimum threshold (some programs reject informational and low)
76
+
77
+ If `archon/bounty-scope.md` was captured during pre-audit setup, cross-reference it here. If scope is unclear, mark the finding `OUT OF SCOPE (scope-unclear)` and do not report until confirmed.
78
+
79
+ ## Severity Calibration
80
+
81
+ Default-low principle: start every finding at MEDIUM. Require evidence to upgrade.
82
+
83
+ **Upgrade to HIGH when all three apply:**
84
+ - Remotely triggerable without physical access
85
+ - Crosses a meaningful trust boundary (user to admin, tenant to tenant, unauthenticated to authenticated state)
86
+ - No significant preconditions beyond normal attacker position
87
+
88
+ **Upgrade to CRITICAL when all three apply:**
89
+ - Achieves RCE, full authentication bypass, or mass data exfiltration
90
+ - Unauthenticated or exploitable by any low-privilege user
91
+ - Internet-facing or otherwise broadly reachable
92
+
93
+ **Downgrade signals (apply any that fit):**
94
+ - Requires local machine access or physical proximity
95
+ - Requires admin or operator-level privilege to trigger
96
+ - Requires non-default configuration to be vulnerable
97
+ - Impact is confined to the attacker's own session or data
98
+ - DoS-only with no confidentiality or integrity impact
99
+ - Requires chaining multiple individually-unexploitable issues
100
+ - Theoretical cryptographic weakness without a practical exploitation path
101
+
102
+ When in doubt, record `Severity-Original` and `Severity-Final` in the finding draft and document
103
+ the calibration reasoning.
104
+
105
+ **Low severity elimination**: if downgrade signals reduce a finding to Low severity, assign verdict
106
+ `DROP (low severity)` immediately and do not carry it forward. Low findings do not receive
107
+ adversarial validation, variant analysis, or a final report entry.
108
+
109
+ ## Claude-Specific FP Awareness
110
+
111
+ Known patterns where Claude-family models produce false positives in security audits:
112
+
113
+ 1. **Unsafe-looking code without path tracing**: flagging a dangerous function call without confirming attacker-controlled input reaches it
114
+ 2. **Phantom validation bypass**: claiming validation is missing when it exists in a helper, middleware, or parent caller not immediately visible
115
+ 3. **Framework protection blindness**: missing ORM parameterization, template auto-escaping, CSRF middleware, or other framework-level controls
116
+ 4. **Same-origin confusion**: treating same-origin or same-session interactions as cross-trust-boundary attacks
117
+ 5. **Dependency CVE without reachability**: reporting a CVE in a transitive dependency without confirming the vulnerable function is called with attacker input
118
+ 6. **Config-as-vulnerability**: reporting insecure default config that is overridden in every realistic deployment or that requires admin access to set
119
+ 7. **Test and example code**: flagging vulnerabilities in test fixtures, documentation examples, or dev-only scripts not shipped to production
120
+ 8. **Double-counting**: reporting the same root cause under different surface manifestations as multiple distinct findings
121
+
122
+ For each finding, explicitly check whether it matches one of the above before assigning `VALID`.
123
+
124
+ ## Bug Bounty Litmus Test
125
+
126
+ Five questions that must all be answered "yes" before submitting:
127
+
128
+ 1. Can this be reproduced end-to-end in under 30 minutes by someone unfamiliar with the codebase?
129
+ 2. Does successful exploitation result in a meaningful security impact (data exposure, privilege gain, account takeover, or equivalent)?
130
+ 3. Is this unintended behavior — not a documented feature, accepted risk, or design decision?
131
+ 4. Is this distinct from publicly known issues, recent patches, and issues already in the program's disclosure queue?
132
+ 5. Can the impact be demonstrated concretely, without relying on hypothetical attacker capabilities or theoretical conditions?
133
+
134
+ If any answer is "no" or "uncertain", hold the finding and investigate further before submission.