torusguard 2.0.0-alpha โ†’ 2.1.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 (227) hide show
  1. package/.torusguard/.manifest.json +94 -30
  2. package/.torusguard/core/__init__.py +146 -0
  3. package/.torusguard/core/agent_roles.py +104 -0
  4. package/.torusguard/core/ast_walker.py +283 -0
  5. package/.torusguard/core/authorization.py +218 -0
  6. package/.torusguard/core/browser_verifier.py +128 -0
  7. package/.torusguard/core/bundle.py +141 -0
  8. package/.torusguard/core/call_graph.py +184 -0
  9. package/.torusguard/core/clustering.py +275 -0
  10. package/.torusguard/core/confidence.py +120 -0
  11. package/.torusguard/core/cross_file_taint.py +101 -0
  12. package/.torusguard/core/exploit_checker.py +317 -0
  13. package/.torusguard/core/formatter.py +351 -0
  14. package/.torusguard/core/governance.py +210 -0
  15. package/.torusguard/core/identity.py +104 -0
  16. package/.torusguard/core/import_resolver.py +91 -0
  17. package/.torusguard/core/incremental.py +102 -0
  18. package/.torusguard/core/lifecycle.py +137 -0
  19. package/.torusguard/core/models.py +425 -0
  20. package/.torusguard/core/parallel.py +56 -0
  21. package/.torusguard/core/parser.py +202 -0
  22. package/.torusguard/core/rechecker.py +107 -0
  23. package/.torusguard/core/replay_trace.py +178 -0
  24. package/.torusguard/core/rules_registry.py +131 -0
  25. package/.torusguard/core/run_folder.py +60 -0
  26. package/.torusguard/core/run_manager.py +163 -0
  27. package/.torusguard/core/runtime_evidence.py +175 -0
  28. package/.torusguard/core/runtime_validator.py +246 -0
  29. package/.torusguard/core/safety_gate.py +139 -0
  30. package/.torusguard/core/sarif.py +189 -0
  31. package/.torusguard/core/stack_profiler.py +184 -0
  32. package/.torusguard/core/symbol_table.py +91 -0
  33. package/.torusguard/core/taint.py +133 -0
  34. package/.torusguard/core/taint_graph.py +235 -0
  35. package/.torusguard/core/taint_rules.py +268 -0
  36. package/.torusguard/core/v070_reporter.py +102 -0
  37. package/.torusguard/core/v070_workflow.py +339 -0
  38. package/.torusguard/core/v6_reporter.py +180 -0
  39. package/.torusguard/core/v6_workflow.py +221 -0
  40. package/.torusguard/core/watcher.py +58 -0
  41. package/.torusguard/rules/TG-INPUT-007-unvalidated-redirect.md +53 -0
  42. package/.torusguard/rules/TG-INPUT-008-insecure-deserialization.md +52 -0
  43. package/.torusguard/rules/container/TG-CONT-001-root-user-execution.md +50 -0
  44. package/.torusguard/rules/container/TG-CONT-002-docker-socket-mount.md +47 -0
  45. package/.torusguard/rules/container/TG-CONT-003-privileged-container-mode.md +53 -0
  46. package/.torusguard/rules/container/TG-CONT-004-build-arg-secret-exposure.md +43 -0
  47. package/.torusguard/rules/git/TG-GIT-001-historical-secret-in-git-commit.md +44 -0
  48. package/.torusguard/rules/git/TG-GIT-002-plaintext-credentials-in-git-config.md +41 -0
  49. package/.torusguard/rules/git/TG-GIT-003-sensitive-tracked-file-gitignore-breach.md +40 -0
  50. package/.torusguard/rules/rag/TG-RAG-001-untrusted-rag-context-injection.md +72 -0
  51. package/.torusguard/rules/rag/TG-RAG-002-autonomous-llm-tool-unsandboxed-call.md +51 -0
  52. package/.torusguard/rules/rag/TG-RAG-003-unpartitioned-vector-tenant-lookup.md +51 -0
  53. package/.torusguard/rules/redos/TG-REDOS-001-catastrophic-exponential-backtracking.md +46 -0
  54. package/.torusguard/rules/redos/TG-REDOS-002-unbounded-nested-quantifier.md +43 -0
  55. package/.torusguard/rules_catalog.json +96 -0
  56. package/.torusguard/scripts/__pycache__/audit_runner.cpython-314.pyc +0 -0
  57. package/.torusguard/scripts/__pycache__/finding_scorer.cpython-314.pyc +0 -0
  58. package/.torusguard/scripts/__pycache__/manifest_builder.cpython-314.pyc +0 -0
  59. package/.torusguard/scripts/__pycache__/rules_sync.cpython-314.pyc +0 -0
  60. package/.torusguard/scripts/audit_runner.py +108 -10
  61. package/.torusguard/scripts/finding_scorer.py +43 -13
  62. package/.torusguard/scripts/manifest_builder.py +1 -1
  63. package/.torusguard/scripts/skill_profiler.py +26 -0
  64. package/.torusguard/skills/torusguard/SKILL.md +74 -25
  65. package/.torusguard/skills/torusguard/bootstrap.py +57 -24
  66. package/.torusguard/skills/torusguard-ai-guard/SKILL.md +95 -0
  67. package/.torusguard/skills/torusguard-apply/SKILL.md +60 -34
  68. package/.torusguard/skills/torusguard-audit/SKILL.md +131 -57
  69. package/.torusguard/skills/torusguard-authorize/SKILL.md +48 -6
  70. package/.torusguard/skills/torusguard-container/SKILL.md +94 -0
  71. package/.torusguard/skills/torusguard-exploit-check/SKILL.md +50 -6
  72. package/.torusguard/skills/torusguard-full/SKILL.md +62 -19
  73. package/.torusguard/skills/torusguard-git-mine/SKILL.md +92 -0
  74. package/.torusguard/skills/torusguard-harden/SKILL.md +81 -50
  75. package/.torusguard/skills/torusguard-init/SKILL.md +61 -14
  76. package/.torusguard/skills/torusguard-ocr-scan/SKILL.md +94 -0
  77. package/.torusguard/skills/torusguard-recheck/SKILL.md +71 -18
  78. package/.torusguard/skills/torusguard-redos/SKILL.md +91 -0
  79. package/.torusguard/skills/torusguard-report/SKILL.md +50 -9
  80. package/.torusguard/skills/torusguard-status/SKILL.md +63 -10
  81. package/.torusguard/skills/torusguard-verify/SKILL.md +52 -10
  82. package/.torusguard/skills/torusguard-web-validate/SKILL.md +53 -8
  83. package/.torusguard/workflows/ai-guard.md +31 -0
  84. package/.torusguard/workflows/apply.md +32 -55
  85. package/.torusguard/workflows/audit.md +35 -49
  86. package/.torusguard/workflows/authorize.md +27 -50
  87. package/.torusguard/workflows/container.md +29 -0
  88. package/.torusguard/workflows/exploit-check.md +28 -50
  89. package/.torusguard/workflows/git-mine.md +25 -0
  90. package/.torusguard/workflows/harden.md +29 -48
  91. package/.torusguard/workflows/init.md +27 -50
  92. package/.torusguard/workflows/memory.md +18 -23
  93. package/.torusguard/workflows/ocr-scan.md +25 -0
  94. package/.torusguard/workflows/recheck.md +28 -46
  95. package/.torusguard/workflows/redos.md +27 -0
  96. package/.torusguard/workflows/report.md +33 -52
  97. package/.torusguard/workflows/status.md +31 -52
  98. package/.torusguard/workflows/verify.md +29 -49
  99. package/.torusguard/workflows/web-validate.md +22 -45
  100. package/README.md +96 -60
  101. package/package.json +7 -2
  102. package/skills/torusguard/SKILL.md +75 -24
  103. package/skills/torusguard/__pycache__/bootstrap.cpython-314.pyc +0 -0
  104. package/skills/torusguard/bootstrap.py +60 -71
  105. package/skills/torusguard/payload/.manifest.json +94 -31
  106. package/skills/torusguard/payload/core/__init__.py +146 -0
  107. package/skills/torusguard/payload/core/agent_roles.py +104 -0
  108. package/skills/torusguard/payload/core/ast_walker.py +283 -0
  109. package/skills/torusguard/payload/core/authorization.py +218 -0
  110. package/skills/torusguard/payload/core/browser_verifier.py +128 -0
  111. package/skills/torusguard/payload/core/bundle.py +141 -0
  112. package/skills/torusguard/payload/core/call_graph.py +184 -0
  113. package/skills/torusguard/payload/core/clustering.py +275 -0
  114. package/skills/torusguard/payload/core/confidence.py +120 -0
  115. package/skills/torusguard/payload/core/cross_file_taint.py +101 -0
  116. package/skills/torusguard/payload/core/exploit_checker.py +317 -0
  117. package/skills/torusguard/payload/core/formatter.py +351 -0
  118. package/skills/torusguard/payload/core/governance.py +210 -0
  119. package/skills/torusguard/payload/core/identity.py +104 -0
  120. package/skills/torusguard/payload/core/import_resolver.py +91 -0
  121. package/skills/torusguard/payload/core/incremental.py +102 -0
  122. package/skills/torusguard/payload/core/lifecycle.py +137 -0
  123. package/skills/torusguard/payload/core/models.py +425 -0
  124. package/skills/torusguard/payload/core/parallel.py +56 -0
  125. package/skills/torusguard/payload/core/parser.py +202 -0
  126. package/skills/torusguard/payload/core/rechecker.py +107 -0
  127. package/skills/torusguard/payload/core/replay_trace.py +178 -0
  128. package/skills/torusguard/payload/core/rules_registry.py +131 -0
  129. package/skills/torusguard/payload/core/run_folder.py +60 -0
  130. package/skills/torusguard/payload/core/run_manager.py +163 -0
  131. package/skills/torusguard/payload/core/runtime_evidence.py +175 -0
  132. package/skills/torusguard/payload/core/runtime_validator.py +246 -0
  133. package/skills/torusguard/payload/core/safety_gate.py +139 -0
  134. package/skills/torusguard/payload/core/sarif.py +189 -0
  135. package/skills/torusguard/payload/core/stack_profiler.py +184 -0
  136. package/skills/torusguard/payload/core/symbol_table.py +91 -0
  137. package/skills/torusguard/payload/core/taint.py +133 -0
  138. package/skills/torusguard/payload/core/taint_graph.py +235 -0
  139. package/skills/torusguard/payload/core/taint_rules.py +268 -0
  140. package/skills/torusguard/payload/core/v070_reporter.py +102 -0
  141. package/skills/torusguard/payload/core/v070_workflow.py +339 -0
  142. package/skills/torusguard/payload/core/v6_reporter.py +180 -0
  143. package/skills/torusguard/payload/core/v6_workflow.py +221 -0
  144. package/skills/torusguard/payload/core/watcher.py +58 -0
  145. package/skills/torusguard/payload/rules/TG-INPUT-007-unvalidated-redirect.md +53 -0
  146. package/skills/torusguard/payload/rules/TG-INPUT-008-insecure-deserialization.md +52 -0
  147. package/skills/torusguard/payload/rules/container/TG-CONT-001-root-user-execution.md +50 -0
  148. package/skills/torusguard/payload/rules/container/TG-CONT-002-docker-socket-mount.md +47 -0
  149. package/skills/torusguard/payload/rules/container/TG-CONT-003-privileged-container-mode.md +53 -0
  150. package/skills/torusguard/payload/rules/container/TG-CONT-004-build-arg-secret-exposure.md +43 -0
  151. package/skills/torusguard/payload/rules/git/TG-GIT-001-historical-secret-in-git-commit.md +44 -0
  152. package/skills/torusguard/payload/rules/git/TG-GIT-002-plaintext-credentials-in-git-config.md +41 -0
  153. package/skills/torusguard/payload/rules/git/TG-GIT-003-sensitive-tracked-file-gitignore-breach.md +40 -0
  154. package/skills/torusguard/payload/rules/rag/TG-RAG-001-untrusted-rag-context-injection.md +72 -0
  155. package/skills/torusguard/payload/rules/rag/TG-RAG-002-autonomous-llm-tool-unsandboxed-call.md +51 -0
  156. package/skills/torusguard/payload/rules/rag/TG-RAG-003-unpartitioned-vector-tenant-lookup.md +51 -0
  157. package/skills/torusguard/payload/rules/redos/TG-REDOS-001-catastrophic-exponential-backtracking.md +46 -0
  158. package/skills/torusguard/payload/rules/redos/TG-REDOS-002-unbounded-nested-quantifier.md +43 -0
  159. package/skills/torusguard/payload/rules_catalog.json +338 -518
  160. package/skills/torusguard/payload/scripts/__pycache__/term_ui.cpython-314.pyc +0 -0
  161. package/skills/torusguard/payload/scripts/audit_runner.py +108 -10
  162. package/skills/torusguard/payload/scripts/finding_scorer.py +43 -13
  163. package/skills/torusguard/payload/scripts/manifest_builder.py +1 -1
  164. package/skills/torusguard/payload/skills/torusguard/SKILL.md +74 -25
  165. package/skills/torusguard/payload/skills/torusguard/bootstrap.py +57 -24
  166. package/skills/torusguard/payload/skills/torusguard/references/csharp-security.md +41 -41
  167. package/skills/torusguard/payload/skills/torusguard/references/go-security.md +41 -41
  168. package/skills/torusguard/payload/skills/torusguard/references/java-security.md +40 -40
  169. package/skills/torusguard/payload/skills/torusguard/references/polyglot-security-matrix.md +25 -25
  170. package/skills/torusguard/payload/skills/torusguard/references/rust-security.md +40 -40
  171. package/skills/torusguard/payload/skills/torusguard-ai-guard/SKILL.md +95 -0
  172. package/skills/torusguard/payload/skills/torusguard-apply/SKILL.md +60 -34
  173. package/skills/torusguard/payload/skills/torusguard-audit/SKILL.md +131 -57
  174. package/skills/torusguard/payload/skills/torusguard-authorize/SKILL.md +48 -6
  175. package/skills/torusguard/payload/skills/torusguard-container/SKILL.md +94 -0
  176. package/skills/torusguard/payload/skills/torusguard-exploit-check/SKILL.md +50 -6
  177. package/skills/torusguard/payload/skills/torusguard-full/SKILL.md +62 -19
  178. package/skills/torusguard/payload/skills/torusguard-git-mine/SKILL.md +92 -0
  179. package/skills/torusguard/payload/skills/torusguard-harden/SKILL.md +81 -50
  180. package/skills/torusguard/payload/skills/torusguard-init/SKILL.md +61 -14
  181. package/skills/torusguard/payload/skills/torusguard-ocr-scan/SKILL.md +94 -0
  182. package/skills/torusguard/payload/skills/torusguard-recheck/SKILL.md +71 -18
  183. package/skills/torusguard/payload/skills/torusguard-redos/SKILL.md +91 -0
  184. package/skills/torusguard/payload/skills/torusguard-report/SKILL.md +50 -9
  185. package/skills/torusguard/payload/skills/torusguard-status/SKILL.md +63 -10
  186. package/skills/torusguard/payload/skills/torusguard-verify/SKILL.md +52 -10
  187. package/skills/torusguard/payload/skills/torusguard-web-validate/SKILL.md +53 -8
  188. package/skills/torusguard/payload/workflows/ai-guard.md +31 -0
  189. package/skills/torusguard/payload/workflows/apply.md +31 -62
  190. package/skills/torusguard/payload/workflows/audit.md +35 -55
  191. package/skills/torusguard/payload/workflows/authorize.md +27 -50
  192. package/skills/torusguard/payload/workflows/container.md +29 -0
  193. package/skills/torusguard/payload/workflows/exploit-check.md +28 -50
  194. package/skills/torusguard/payload/workflows/git-mine.md +25 -0
  195. package/skills/torusguard/payload/workflows/harden.md +28 -52
  196. package/skills/torusguard/payload/workflows/init.md +27 -56
  197. package/skills/torusguard/payload/workflows/memory.md +18 -23
  198. package/skills/torusguard/payload/workflows/ocr-scan.md +25 -0
  199. package/skills/torusguard/payload/workflows/recheck.md +28 -46
  200. package/skills/torusguard/payload/workflows/redos.md +27 -0
  201. package/skills/torusguard/payload/workflows/report.md +39 -62
  202. package/skills/torusguard/payload/workflows/status.md +31 -55
  203. package/skills/torusguard/payload/workflows/torusguard-audit.md +35 -55
  204. package/skills/torusguard/payload/workflows/verify.md +29 -49
  205. package/skills/torusguard/payload/workflows/web-validate.md +22 -45
  206. package/skills/torusguard/references/csharp-security.md +41 -0
  207. package/skills/torusguard/references/go-security.md +41 -0
  208. package/skills/torusguard/references/java-security.md +40 -0
  209. package/skills/torusguard/references/polyglot-security-matrix.md +25 -0
  210. package/skills/torusguard/references/rust-security.md +40 -0
  211. package/skills/torusguard-ai-guard/SKILL.md +95 -0
  212. package/skills/torusguard-apply/SKILL.md +60 -34
  213. package/skills/torusguard-audit/SKILL.md +130 -57
  214. package/skills/torusguard-authorize/SKILL.md +48 -6
  215. package/skills/torusguard-container/SKILL.md +94 -0
  216. package/skills/torusguard-exploit-check/SKILL.md +50 -6
  217. package/skills/torusguard-full/SKILL.md +62 -19
  218. package/skills/torusguard-git-mine/SKILL.md +92 -0
  219. package/skills/torusguard-harden/SKILL.md +81 -50
  220. package/skills/torusguard-init/SKILL.md +61 -14
  221. package/skills/torusguard-ocr-scan/SKILL.md +94 -0
  222. package/skills/torusguard-recheck/SKILL.md +71 -18
  223. package/skills/torusguard-redos/SKILL.md +91 -0
  224. package/skills/torusguard-report/SKILL.md +50 -9
  225. package/skills/torusguard-status/SKILL.md +63 -10
  226. package/skills/torusguard-verify/SKILL.md +52 -10
  227. package/skills/torusguard-web-validate/SKILL.md +53 -8
@@ -1,105 +1,82 @@
1
1
  ---
2
- description: Executive posture reporting, interactive HTML dashboard generation, directory attack surface heatmap, and OASIS SARIF v2.1.0 structured export.
3
- tools: Read, Grep, Glob, Bash, Write
4
- version: 2.2.0
2
+ description: Executive posture reporting, cluster analysis, signed compliance audit, and OASIS SARIF v2.1.0 structured export.
3
+ tools: Read, Grep, Glob, Bash, Write, run_command
4
+ version: 2.0.0
5
5
  agent: reviewer
6
6
  lifecycle-phase: Phase 7 (Reporting & SARIF Export)
7
7
  required-skills:
8
8
  - torusguard-report
9
9
  scripts-binding:
10
- - .torusguard/scripts/html_reporter.py
11
- - .torusguard/scripts/report_sync.py
12
- - .torusguard/scripts/sarif_exporter.py
13
- - .torusguard/scripts/run_manager.py
14
- - .torusguard/scripts/term_ui.py
10
+ - internal/report/html.go
11
+ - internal/report/sarif.go
12
+ - cmd/torusguard/main.go
13
+ - cmd/torusguard/mcp.go
15
14
  ---
16
15
 
17
- # /torusguard report โ€” Unified Security Posture Report & SARIF / HTML Export
16
+ # /torusguard report โ€” Unified Security Posture Report & SARIF Export
18
17
 
19
18
  $ARGUMENTS
20
19
 
21
20
  ---
22
21
 
23
22
  ## Objective
24
- Generate an executive security posture report, interactive dark-mode HTML dashboard (`report.html`), and schema-compliant OASIS SARIF v2.1.0 log (`results.sarif`) with zero network dependencies.
23
+ Executive posture reporting, cluster analysis, signed compliance audit, and OASIS SARIF v2.1.0 export.
25
24
 
26
25
  ---
27
26
 
28
- ## Dual Mode Execution Syntax
27
+ ## Tri-Mode Execution
29
28
 
30
- | Target Artifact | Mode A: Terminal CLI | Mode B: AI Chat Slash Command | Output Location |
31
- | :--- | :--- | :--- | :--- |
32
- | **Interactive HTML Dashboard** | `npx torusguard report --html` | `/torusguard report --html` or `/torusguard-report` | `report.html` (workspace root) + `.torusguard/runs/report-latest.html` |
33
- | **OASIS SARIF v2.1.0 Log** | `npx torusguard report --sarif` | `/torusguard report --sarif` | `.torusguard/runs/results-latest.sarif` |
34
- | **Combined (Both)** | `npx torusguard report --html --sarif` | `/torusguard report --html --sarif` | Both `report.html` and `results-latest.sarif` in a single pass |
35
- | **Custom Path** | `npx torusguard report --html --out <path>` | `/torusguard report --out <path>` | Specified path + latest run mirror |
36
- | **Monorepo Subproject** | `npx torusguard report --target <dir> --html` | `/torusguard report --target <dir>` | `<dir>/report.html` |
29
+ | Mode | Command / Tool | Execution Method |
30
+ | :--- | :--- | :--- |
31
+ | **Mode A: Terminal CLI** | `torusguard report --html [--sarif]` | Shell compilation of HTML dashboard and SARIF log. |
32
+ | **Mode B: AI Chat Slash** | `/torusguard report` | Executive summary generation and posture calculation. |
33
+ | **Mode C: Native MCP Tool** | `torusguard://security_report` | Agent reads resource payload directly from living report. |
37
34
 
38
35
  ---
39
36
 
40
37
  ## Mandatory Pre-Flight Context Inspection
41
38
 
42
39
  Inspect run records and reporting parameters before generating release artifacts:
43
- 1. **Active Run Records:** Ensure target run folder or `.torusguard/runs/` contains valid run records.
44
- 2. **Dual-Ledger Ground Truth:** Confirm that `security_report.md` at workspace root is in lockstep with findings.
45
- 3. **SARIF v2.1.0 Schema:** Validate output structure against official OASIS SARIF standard (`sarif-schema-2.1.0.json`).
46
- 4. **Multi-Analysis Category:** Tag static findings under category `torusguard/static` to prevent CI collisions.
47
- 5. **Zero External CDN:** Ensure all icons, gauges, and scripts in `report.html` are 100% self-contained and offline-ready.
48
- 6. **Secret Masking:** Ensure zero unredacted authorization tokens or API keys appear in report text.
40
+ 1. **Living Report State:** Ensure `security_report.md` exists and reflects latest findings.
41
+ 2. **SARIF v2.1.0 Schema:** Validate output structure against official OASIS SARIF standard.
42
+ 3. **Multi-Analysis Category:** Tag static findings under category `torusguard/static` to prevent CI collision.
43
+ 4. **Secret Masking:** Ensure zero unredacted authorization tokens or API keys appear in report.
44
+ 5. **Zero-CDN Guarantee:** Ensure HTML report contains zero external CDN script dependencies.
49
45
 
50
46
  ---
51
47
 
52
- ## Interactive Dashboard Features (v2.2.0)
53
-
54
- When viewing `report.html` in any browser:
55
- 1. **Safe Defenses vs Harmed Exposure:** Complete Defended Invariants inventory across all 74 rules in 18 architectural families. Clean codebases earn 100/100 (74 Defended, 0 Harmed).
56
- 2. **Directory Attack Surface Heatmap:** Visual directory tree of exposure risk. Clicking any directory card filters the findings table to that specific folder.
57
- 3. **Golden Recipe Explorer:** Distilled, verified fix patterns with before/after code templates and one-click clipboard copying.
58
- 4. **Prescriptive Next Best Defenses:** Stack-aware security recommendations with copyable `npx torusguard harden` commands.
59
- 5. **Client-Side Exporters:** Zero-network buttons to download OASIS SARIF v2.1.0 and CSV records directly from browser memory.
60
- 6. **Multi-Agent AI Prompt Presets:** One-click prompts tailored for Cursor (`.cursorrules`), Claude Code (`CLAUDE.md`), Antigravity, and GitHub Copilot.
61
- 7. **Print & PDF Styling:** Built-in high-contrast `@media print` layout for boardroom and compliance distribution.
48
+ ## Living Report Invariant
49
+ - Executive posture reports incorporate health scoring and metrics from `security_report.md`.
50
+ - Emits visual dark-mode HTML (`--html`) and OASIS SARIF v2.1.0 (`--sarif`).
62
51
 
63
52
  ---
64
53
 
65
54
  ## Execution Steps
66
55
 
67
- 1. **Detect Mode & Arguments:**
68
- - Parse `--html`, `--sarif`, `--out`, `--target`, and `--run` from `$ARGUMENTS`.
69
- - If no format flag is specified in chat, default to generating the visual HTML dashboard (`report.html`).
70
- 2. **Execute Reporter Scripts:**
71
- - **For SARIF:**
72
- ```bash
73
- python .torusguard/scripts/sarif_exporter.py [--output <path>] [--root <target>]
74
- ```
75
- - **For HTML:**
76
- ```bash
77
- python .torusguard/scripts/html_reporter.py [--out <path>] [--root <target>]
78
- ```
79
- 3. **Synchronize Dual Ledger:**
80
- - Verify `security_report.md` matches `report.html` findings and posture score.
81
- 4. **Emit 75-Column Visual Summary Card:**
82
- - Present markdown output card with direct clickable links to both `report.html` and `security_report.md`.
56
+ 1. **Trigger Report Generation:**
57
+ - **Mode A (CLI):** Run `torusguard report --html --sarif`.
58
+ - **Mode B (Chat):** Calculate posture score from `security_report.md` and present summary card.
59
+ - **Mode C (MCP):** Query resource `torusguard://security_report`.
60
+ 2. **Compile Visual HTML:** Generate zero-dependency dark-mode HTML dashboard at `report.html`.
61
+ 3. **Export SARIF v2.1.0:** Produce schema-compliant SARIF log for CI/CD pipelines.
62
+ 4. **Sign Off Ledger:** Confirm artifacts are persisted to disk.
83
63
 
84
64
  ---
85
65
 
86
66
  ## Output Card Format
87
67
 
88
68
  ```markdown
89
- ### ๐Ÿ›ก๏ธ TorusGuard Security Posture Report Emitted
90
- - **Posture Score:** [Score]/100 ([Status Label])
91
- - **Invariants Defended:** [N] Defended ยท [M] Harmed (74 Rules)
92
- - **Living Ledger:** [security_report.md](file:///path/to/security_report.md)
93
- - **HTML Dashboard:** [report.html](file:///path/to/report.html)
94
- - **SARIF v2.1.0 Export:** [results-latest.sarif](file:///path/to/results-latest.sarif)
95
- - **Status:** COMPLETE โ€” dual-ledger synchronized
69
+ ### ๐Ÿ“Š TorusGuard Security Posture Report
70
+ - **Posture Score:** 100/100 (OPTIMAL DEFENSE)
71
+ - **Total Invariants:** 74 Defended across 18 families
72
+ - **HTML Dashboard:** `report.html`
73
+ - **SARIF v2.1.0 Export:** `results.sarif`
74
+ - **Living Ledger:** `security_report.md`
96
75
  ```
97
76
 
98
77
  ---
99
78
 
100
- ## Failure Recovery
79
+ ## Next Steps
101
80
 
102
- - **Missing Run Folder:** Auto-discover the latest timestamped run in `.torusguard/runs/`.
103
- - **Windows File Lock:** `html_reporter.py` uses atomic temporary write swapping with exponential retry.
104
- - **Missing SARIF Input:** Auto-discovers findings from the latest audit run in `.torusguard/runs/`.
105
- - **Clean Workspace:** Emits 100/100 posture score with all 74 defended invariants listed.
81
+ 1. Upload `results.sarif` to GitHub Code Scanning via `.github/workflows/`.
82
+ 2. Open `report.html` in browser for visual audit presentation.
@@ -1,14 +1,15 @@
1
1
  ---
2
2
  description: Read-only diagnostic overview of workspace security posture, active configuration, rules catalog, and run history.
3
- tools: Read, Grep, Glob, Bash
4
- version: 1.4.0
3
+ tools: Read, Grep, Glob, Bash, Write, run_command
4
+ version: 2.0.0
5
5
  agent: reviewer
6
6
  lifecycle-phase: System / Diagnostics
7
7
  required-skills:
8
8
  - torusguard-status
9
9
  scripts-binding:
10
- - .torusguard/scripts/report_sync.py
11
- - .torusguard/scripts/run_manager.py
10
+ - cmd/torusguard/main.go
11
+ - cmd/torusguard/mcp.go
12
+ - internal/workspace/workspace.go
12
13
  ---
13
14
 
14
15
  # /torusguard status โ€” Workspace Security Posture & Diagnostic Overview
@@ -18,33 +19,27 @@ $ARGUMENTS
18
19
  ---
19
20
 
20
21
  ## Objective
21
- Read-only diagnostic overview of workspace security posture, active configuration, and run history.
22
-
23
- Supported CLI flags:
24
- - `npx torusguard status [--target <dir>]` : Diagnostic check on specified project directory
22
+ Read-only diagnostic overview of workspace security posture, active configuration, and run history across 74 canonical security rules and 18 families.
25
23
 
26
24
  ---
27
25
 
28
- ## Mandatory Pre-Flight Context Inspection
26
+ ## Tri-Mode Execution
29
27
 
30
- Inspect workspace state and configuration records prior to status display:
31
- 1. **Config State (`.torusguard/config/torusguard.json`):** Confirm workspace initialization and read detected stack.
32
- 2. **Active Rules Directory (`.torusguard/rules/active/`):** Count active rule files.
33
- 3. **Run Folder Ledger (`.torusguard/runs/`):** Check run history and locate latest `manifest.json`.
34
- 4. **Scope Record (`.torusguard/config/scope.json`):** Check whether runtime authorization TTL is active or expired.
35
- 5. **Read-Only Invariant:** Ensure command performs zero file modifications or disk mutations.
28
+ | Mode | Command / Tool | Execution Method |
29
+ | :--- | :--- | :--- |
30
+ | **Mode A: Terminal CLI** | `torusguard status [--json]` | Terminal execution of 75-column diagnostic cards. |
31
+ | **Mode B: AI Chat Slash** | `/torusguard status` | Conversational diagnostic inspection of active config and ledger. |
32
+ | **Mode C: Native MCP Tool** | `torusguard_status` | Agent tool call with `{"target": "."}` returning posture JSON/string. |
36
33
 
37
34
  ---
38
35
 
39
- ## When to Use /torusguard status
36
+ ## Mandatory Pre-Flight Context Inspection
40
37
 
41
- | Trigger Scenario | Recommended Action |
42
- | :--- | :--- |
43
- | Checking workspace configuration and active security posture | Run `/torusguard status` |
44
- | Reviewing recent audit runs and finding counts | Run `/torusguard status` |
45
- | Checking active legal scope authorization TTL | Run `/torusguard status` |
46
- | Initializing workspace for the first time | Run `/torusguard init` |
47
- | Executing full security scan | Run `/torusguard audit` |
38
+ Inspect workspace state and configuration records prior to status display:
39
+ 1. **Config State (`.torusguard/config/torusguard.json`):** Confirm workspace initialization and read detected stack.
40
+ 2. **Active Rules Directory (`.torusguard/rules/active/`):** Count active rule files (74 canonical rules).
41
+ 3. **Living Report (`security_report.md`):** Read current open vs resolved findings.
42
+ 4. **Read-Only Invariant:** Ensure command performs zero file modifications or disk mutations.
48
43
 
49
44
  ---
50
45
 
@@ -52,33 +47,16 @@ Inspect workspace state and configuration records prior to status display:
52
47
  - Reads current health score and status breakdown directly from `security_report.md`.
53
48
  - Displays 18 rule families and 74 rules in standardized 75-column terminal cards.
54
49
 
55
- ## Execution Steps
56
-
57
- 1. **Read Configuration:** Load `.torusguard/config/torusguard.json`; extract stack, version, and enabled rule count.
58
- 2. **Enumerate Active Rules:** Count rule files physically present in `.torusguard/rules/active/`.
59
- 3. **Inspect Run History:**
60
- ```bash
61
- python .torusguard/scripts/run_manager.py list
62
- ```
63
- 4. **Evaluate Scope Expiry:** Parse `.torusguard/config/scope.json`; report if TTL is valid or expired.
64
- 5. **Print Status Overview:** Render complete workspace diagnostic overview card.
65
-
66
50
  ---
67
51
 
68
- ## Failure Recovery
69
-
70
- - **Uninitialized Workspace:** If config is missing, prompt user to execute `/torusguard init`.
71
- - **Zero Runs Found:** Display clean status card noting no historical audit runs exist yet.
72
- - **Corrupt Config File:** Report parsing error and recommend re-running `/torusguard init`.
73
- - **Halt Trigger:** Abort command if read access to `.torusguard/` is denied.
74
-
75
- ---
76
-
77
- ## Hallucination Guard
52
+ ## Execution Steps
78
53
 
79
- - โŒ Never display fabricated finding counts not substantiated by run manifests.
80
- - โŒ Never execute modifying shell commands or edit source code during status inspection.
81
- - โœ… Always report factual file counts from `.torusguard/rules/active/` and `.torusguard/runs/`.
54
+ 1. **Trigger Status Check:**
55
+ - **Mode A (CLI):** Run `torusguard status`.
56
+ - **Mode B (Chat):** Read `torusguard.json` and `security_report.md`.
57
+ - **Mode C (MCP):** Call `torusguard_status`.
58
+ 2. **Evaluate Posture:** Report detected stack, active invariants, and living findings ledger.
59
+ 3. **Recommend Next Actions:** Direct user to audit or remediation as needed.
82
60
 
83
61
  ---
84
62
 
@@ -86,13 +64,11 @@ Inspect workspace state and configuration records prior to status display:
86
64
 
87
65
  ```markdown
88
66
  ### ๐Ÿ›ก๏ธ TorusGuard Workspace Status
89
- - **Version:** v0.9.2
90
- - **Framework Detected:** [Stack or None]
91
- - **Active Rules:** [Count] rules active in `.torusguard/rules/active/`
92
- - **Total Runs:** [Count] historical runs recorded
93
- - **Latest Run:** `run-YYYYMMDD-HHMMSS` ([Findings Count] findings)
94
- - **Scope Status:** [Authorized (TTL Active) / Expired / Unconfigured]
95
- - **Health Posture:** [GOOD / ACTION NEEDED]
67
+ - **Version:** v2.0.0
68
+ - **Framework Detected:** [Stack]
69
+ - **Active Rules:** 74 canonical rules active across 18 families
70
+ - **Living Report:** `security_report.md`
71
+ - **Health Posture:** [OPTIMAL DEFENSE / ACTION NEEDED]
96
72
  ```
97
73
 
98
74
  ---
@@ -100,4 +76,4 @@ Inspect workspace state and configuration records prior to status display:
100
76
  ## Next Steps
101
77
 
102
78
  1. Run `/torusguard audit` to scan codebase for security vulnerabilities.
103
- 2. Run `/torusguard authorize` to configure or refresh live target scope.
79
+ 2. Run `/torusguard report --html` to view interactive dashboard.
@@ -1,55 +1,47 @@
1
1
  ---
2
- description: Static security AST scanning, stable line-shift invariant fingerprinting, root-cause clustering, and 0-100 confidence scoring.
3
- tools: Read, Grep, Glob, Bash, Write
4
- version: 1.4.0
2
+ description: Taint-aware static security AST scanning, cross-file interprocedural dataflow, 86+ rules across 22 families, and 7-signal calibrated confidence scoring.
3
+ tools: Read, Grep, Glob, Bash, Write, run_command
4
+ version: 2.0.0
5
5
  agent: auditor
6
6
  lifecycle-phase: Phase 2 (Static Audit & Clustering)
7
7
  required-skills:
8
8
  - torusguard-audit
9
9
  scripts-binding:
10
10
  - .torusguard/scripts/audit_runner.py
11
- - .torusguard/scripts/report_sync.py
12
- - .torusguard/scripts/run_manager.py
13
11
  - .torusguard/scripts/finding_scorer.py
12
+ - .torusguard/core/cross_file_taint.py
13
+ - .torusguard/core/confidence.py
14
+ - .torusguard/core/incremental.py
14
15
  ---
15
16
 
16
- # /torusguard audit โ€” Static Security Code Scan & Clustering
17
+ # /torusguard audit โ€” Deep Taint-Aware Static Security Code Scan & Clustering
17
18
 
18
19
  $ARGUMENTS
19
20
 
20
21
  ---
21
22
 
22
23
  ## Objective
23
- Static security AST scanning, stable fingerprinting, root-cause clustering, throughput telemetry, and 0-100 scoring.
24
-
25
- Supported CLI flags:
26
- - `npx torusguard audit [--target <dir>]` : Specify project root directory
27
- - `npx torusguard audit --watch` / `-w` : Continuous watch mode, re-scanning on file change
28
- - `npx torusguard audit --sarif` : Automatically export OASIS SARIF v2.1.0 log
29
- - `npx torusguard audit --severity <critical|high|medium|low>` : Floor filter for findings
24
+ Execute deep taint-aware static AST analysis across polyglot project files, evaluate code against 86+ canonical security rules across 22 families, trace interprocedural source-to-sink dataflows, assign stable line-shift invariant fingerprints, cluster architectural root causes, synchronize findings with `security_report.md`, and score findings with auditable 7-signal evidence-chain confidence ratings.
30
25
 
31
26
  ---
32
27
 
33
- ## Mandatory Pre-Flight Context Inspection
28
+ ## Tri-Mode Execution
34
29
 
35
- Inspect workspace prerequisites before launching static audit:
36
- 1. **Init State (`torusguard.json`):** Assert repository is initialized.
37
- 2. **Active Rules (`rules/active/`):** Confirm rule definitions exist.
38
- 3. **Exclusions:** Assert `node_modules/`, `.venv/`, `dist/`, `.git/` are skipped.
39
- 4. **Run Folder:** Allocate isolated folder in `.torusguard/runs/`.
40
- 5. **Syntax Check:** Check for syntax errors before parsing ASTs.
30
+ | Mode | Command / Tool | Execution Method |
31
+ | :--- | :--- | :--- |
32
+ | **Mode A: Terminal CLI** | `torusguard audit [--incremental] [--watch] [--json]` | Shell execution of TorusGuard audit engine. |
33
+ | **Mode B: AI Chat Slash** | `/torusguard audit` | Conversational guided audit with bounded context inspection. |
34
+ | **Mode C: Native MCP Tool** | `torusguard_audit` | Autonomous agent tool invocation via stdio JSON-RPC. |
41
35
 
42
36
  ---
43
37
 
44
- ## When to Use /torusguard audit
38
+ ## Mandatory Pre-Flight Context Inspection
45
39
 
46
- | Trigger Scenario | Recommended Action |
47
- | :--- | :--- |
48
- | First-time scan of repository or new branch | Run `/torusguard audit` |
49
- | Pre-commit review and PR security checks | Run `/torusguard audit` |
50
- | Uninitialized project | Run `/torusguard init` first |
51
- | Live endpoint or runtime probing | Run `/torusguard web-validate` |
52
- | Differential check after patch | Run `/torusguard recheck` |
40
+ Inspect workspace prerequisites before launching static audit:
41
+ 1. **Init State (`torusguard.json`):** Assert repository is initialized or run `torusguard init`.
42
+ 2. **Active Rules (`rules/`):** Confirm rule definitions exist across the 22 architectural families.
43
+ 3. **Exclusions:** Assert `node_modules/`, `.venv/`, `dist/`, `.git/` are skipped.
44
+ 4. **Syntax Check:** Check for syntax errors before parsing ASTs.
53
45
 
54
46
  ---
55
47
 
@@ -57,31 +49,19 @@ Inspect workspace prerequisites before launching static audit:
57
49
  - Audit discoveries automatically synchronize to `security_report.md` at workspace root.
58
50
  - Findings transition into `OPEN ๐Ÿ”ด` status with stable invariant fingerprints.
59
51
 
60
- ## Execution Steps
61
-
62
- 1. **Allocate Run Folder:** Run `python .torusguard/scripts/run_manager.py create audit`.
63
- 2. **Scan Codebase ASTs:** Match active rules against source trees.
64
- 3. **Compute Stable Fingerprints:** Hash AST context to produce stable IDs.
65
- 4. **Cluster Root Causes:** Group findings sharing identical sinks.
66
- 5. **Score Confidence (0โ€“100):** Run `python .torusguard/scripts/finding_scorer.py --run <run_dir>`.
67
- 6. **Emit Artifacts:** Write `findings.md`, `findings.json`, and `summary.md`.
68
-
69
52
  ---
70
53
 
71
- ## Failure Recovery
72
-
73
- - **Zero Rules Active:** Re-run `/torusguard init` to activate rules.
74
- - **AST Parse Error:** Log syntax error on malformed file, skip, and continue.
75
- - **Scorer Failure:** Ensure Python 3.10+; verify finding JSON structure.
76
- - **Halt Trigger:** Abort if run folder cannot be allocated or disk write fails.
77
-
78
- ---
79
-
80
- ## Hallucination Guard
54
+ ## Execution Steps
81
55
 
82
- - โŒ Never invent finding IDs without AST line hashing.
83
- - โŒ Never flag test fixtures as critical security flaws.
84
- - โœ… Always calculate scores using `.torusguard/scripts/finding_scorer.py`.
56
+ 1. **Launch Audit Scan:**
57
+ - **Mode A (CLI):** Run `torusguard audit` (or `python .torusguard/scripts/audit_runner.py`). Use `--incremental` for fast diffs.
58
+ - **Mode B (Chat):** Parse AST sinks and trace sources to sinks using `core.taint_graph` and bounded context windows.
59
+ - **Mode C (MCP):** Call `torusguard_audit` with `{"target": "."}`.
60
+ 2. **Scan Codebase ASTs:** Match 86+ canonical rules across 22 families against source trees.
61
+ 3. **Trace Taint Dataflows:** Follow untrusted inputs from sources to dangerous sinks across module boundaries.
62
+ 4. **Compute Stable Fingerprints:** Hash AST context to produce stable line-shift invariant IDs (`TG-XXX-<hash12>`).
63
+ 5. **Cluster Root Causes:** Group findings into the 22 canonical architectural root causes.
64
+ 6. **Synchronize Ground Truth:** Update `security_report.md` at workspace root.
85
65
 
86
66
  ---
87
67
 
@@ -89,12 +69,12 @@ Inspect workspace prerequisites before launching static audit:
89
69
 
90
70
  ```markdown
91
71
  ### ๐Ÿ”Ž TorusGuard Static Audit Results
92
- - **Run ID:** `run-YYYYMMDD-HHMMSS-audit`
93
- - **Files Scanned:** [Count] source files
72
+ - **Files Scanned:** [Count] source files ([Changed] changed)
73
+ - **Taint Paths Confirmed:** [Count] verified dataflows
94
74
  - **Total Findings:** [Count] ([Critical] Critical, [High] High)
95
75
  - **Root Cause Clusters:** [Count] architectural issues
96
- - **Confidence:** [Score]/100
97
- - **Artifact:** `.torusguard/runs/<run_id>/findings.md`
76
+ - **Confidence:** [Score]/100 (Evidence-Chain Calibrated)
77
+ - **Living Report:** `security_report.md`
98
78
  ```
99
79
 
100
80
  ---
@@ -102,4 +82,4 @@ Inspect workspace prerequisites before launching static audit:
102
82
  ## Next Steps
103
83
 
104
84
  1. Run `/torusguard verify` to validate exploitability and review evidence.
105
- 2. Run `/torusguard harden` to generate minimal surgical remediation plans.
85
+ 2. Run `/torusguard harden` to generate minimal surgical remediation plans conforming to the Ponytail protocol (<= 35 additions, <= 25 deletions).
@@ -1,14 +1,15 @@
1
1
  ---
2
2
  description: Evidence sufficiency verification, live disk line match audit, and finding score refinement.
3
- tools: Read, Grep, Glob, Bash, Write
4
- version: 1.3.6
3
+ tools: Read, Grep, Glob, Bash, Write, run_command
4
+ version: 2.0.0
5
5
  agent: validator
6
6
  lifecycle-phase: Phase 3a (Evidence Verification)
7
7
  required-skills:
8
8
  - torusguard-verify
9
9
  scripts-binding:
10
- - .torusguard/scripts/report_sync.py
11
- - .torusguard/scripts/finding_scorer.py
10
+ - internal/validate/validate.go
11
+ - cmd/torusguard/main.go
12
+ - cmd/torusguard/mcp.go
12
13
  ---
13
14
 
14
15
  # /torusguard verify โ€” Evidence Verification & Score Refinement
@@ -22,26 +23,22 @@ Evidence sufficiency verification, live disk line match audit, and finding score
22
23
 
23
24
  ---
24
25
 
25
- ## Mandatory Pre-Flight Context Inspection
26
+ ## Tri-Mode Execution
26
27
 
27
- Inspect finding records and evidence integrity before verification:
28
- 1. **Latest Run Records (`.torusguard/runs/`):** Locate most recent audit run directory.
29
- 2. **Finding Files:** Confirm `findings.md` or `findings.json` exists in the target run folder.
30
- 3. **Live File Drift:** Assert cited source files have not been edited or relocated on disk.
31
- 4. **Scoring Model Calibration:** Ensure `finding_scorer.py` evaluates all 5 rubric dimensions.
32
- 5. **Role Boundary:** Enforce validator role; do not apply code modifications during verification.
28
+ | Mode | Command / Tool | Execution Method |
29
+ | :--- | :--- | :--- |
30
+ | **Mode A: Terminal CLI** | `torusguard verify` | Terminal audit of living security report and evidence presence. |
31
+ | **Mode B: AI Chat Slash** | `/torusguard verify` | Live code line inspection, taint flow audit, and false-positive filtering. |
32
+ | **Mode C: Native MCP Tool** | `torusguard_verify` | Agent tool call with `{"target": "."}` returning line audit proofs. |
33
33
 
34
34
  ---
35
35
 
36
- ## When to Use /torusguard verify
36
+ ## Mandatory Pre-Flight Context Inspection
37
37
 
38
- | Trigger Scenario | Recommended Action |
39
- | :--- | :--- |
40
- | Auditing whether static findings are valid code flaws | Run `/torusguard verify` |
41
- | Upgrading Medium confidence finding to Confirmed | Run `/torusguard verify` |
42
- | No audit run executed yet | Run `/torusguard audit` first |
43
- | Running live network requests against endpoints | Run `/torusguard web-validate` |
44
- | Generating patch after verification | Run `/torusguard harden` |
38
+ Inspect finding records and evidence integrity before verification:
39
+ 1. **Living Report (`security_report.md`):** Confirm report exists at workspace root.
40
+ 2. **Live File Drift:** Assert cited source files have not been edited or relocated on disk.
41
+ 3. **Role Boundary:** Enforce validator role; do not apply code modifications during verification.
45
42
 
46
43
  ---
47
44
 
@@ -49,34 +46,18 @@ Inspect finding records and evidence integrity before verification:
49
46
  - Confirmed evidence sufficiency transitions findings in `security_report.md` to `VERIFIED ๐ŸŸ `.
50
47
  - False positives transition to `FALSE POSITIVE โšช`.
51
48
 
49
+ ---
50
+
52
51
  ## Execution Steps
53
52
 
54
- 1. **Locate Target Findings:** Load active findings from latest run directory.
53
+ 1. **Trigger Verification:**
54
+ - **Mode A (CLI):** Run `torusguard verify`.
55
+ - **Mode B (Chat):** Read cited lines via `view_file` and verify source-to-sink flow.
56
+ - **Mode C (MCP):** Call `torusguard_verify`.
55
57
  2. **Live Disk Line Match:** Read current code at cited line ranges; verify AST snippet matches.
56
58
  3. **Audit Evidence Sufficiency:** Assess whether taint path is unbroken and caller context is exposed.
57
- 4. **Refine Confidence Scores:**
58
- ```bash
59
- python .torusguard/scripts/finding_scorer.py --run <run_dir> --verify
60
- ```
61
- 5. **Classify Status:** Assign verified state (`Confirmed`, `Plausible`, or `False Positive / Disputed`).
62
- 6. **Emit Verification Ledger:** Write `verified-evidence.md` into the active run folder.
63
-
64
- ---
65
-
66
- ## Failure Recovery
67
-
68
- - **Missing Run Folder:** Run `/torusguard audit` first to produce a valid run baseline.
69
- - **Line Drift Detected:** Flag line mismatch; scan nearby lines (ยฑ25) for relocated AST sink.
70
- - **Malformed Finding JSON:** Repair JSON structure using finding schema before scoring.
71
- - **Halt Trigger:** Abort if cited files are completely deleted from disk.
72
-
73
- ---
74
-
75
- ## Hallucination Guard
76
-
77
- - โŒ Never confirm a finding if the cited sink has already been sanitized by middleware.
78
- - โŒ Never bump confidence score without documenting unbroken taint source-to-sink flow.
79
- - โœ… Always anchor line matches to live disk reads using `view_file`.
59
+ 4. **Classify Status:** Assign verified state (`Confirmed`, `Plausible`, or `False Positive`).
60
+ 5. **Update Living Ledger:** Update statuses in `security_report.md`.
80
61
 
81
62
  ---
82
63
 
@@ -84,17 +65,16 @@ Inspect finding records and evidence integrity before verification:
84
65
 
85
66
  ```markdown
86
67
  ### ๐Ÿงช TorusGuard Evidence Verification
87
- - **Run ID:** `run-YYYYMMDD-HHMMSS-audit`
68
+ - **Report File:** `security_report.md`
88
69
  - **Findings Evaluated:** [Count] findings
89
70
  - **Confirmed Real:** [Count] verified flaws
90
- - **Downgraded / False Positives:** [Count] filtered out
91
- - **Refined Mean Score:** [Score]/100
92
- - **Ledger:** `.torusguard/runs/<run_id>/verified-evidence.md`
71
+ - **False Positives Filtered:** [Count]
72
+ - **Status:** Evidence verified on disk
93
73
  ```
94
74
 
95
75
  ---
96
76
 
97
77
  ## Next Steps
98
78
 
99
- 1. Run `/torusguard web-validate` if live endpoint probing is required.
100
- 2. Run `/torusguard harden` to build surgical patch bundles for verified flaws.
79
+ 1. Run `/torusguard harden` to build surgical patch bundles for verified flaws.
80
+ 2. Run `/torusguard web-validate` if live endpoint probing is required.