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,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.3.6
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,30 +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
+ Read-only diagnostic overview of workspace security posture, active configuration, and run history across 74 canonical security rules and 18 families.
22
23
 
23
24
  ---
24
25
 
25
- ## Mandatory Pre-Flight Context Inspection
26
+ ## Tri-Mode Execution
26
27
 
27
- Inspect workspace state and configuration records prior to status display:
28
- 1. **Config State (`.torusguard/config/torusguard.json`):** Confirm workspace initialization and read detected stack.
29
- 2. **Active Rules Directory (`.torusguard/rules/active/`):** Count active rule files.
30
- 3. **Run Folder Ledger (`.torusguard/runs/`):** Check run history and locate latest `manifest.json`.
31
- 4. **Scope Record (`.torusguard/config/scope.json`):** Check whether runtime authorization TTL is active or expired.
32
- 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. |
33
33
 
34
34
  ---
35
35
 
36
- ## When to Use /torusguard status
36
+ ## Mandatory Pre-Flight Context Inspection
37
37
 
38
- | Trigger Scenario | Recommended Action |
39
- | :--- | :--- |
40
- | Checking workspace configuration and active security posture | Run `/torusguard status` |
41
- | Reviewing recent audit runs and finding counts | Run `/torusguard status` |
42
- | Checking active legal scope authorization TTL | Run `/torusguard status` |
43
- | Initializing workspace for the first time | Run `/torusguard init` |
44
- | 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.
45
43
 
46
44
  ---
47
45
 
@@ -49,33 +47,16 @@ Inspect workspace state and configuration records prior to status display:
49
47
  - Reads current health score and status breakdown directly from `security_report.md`.
50
48
  - Displays 18 rule families and 74 rules in standardized 75-column terminal cards.
51
49
 
52
- ## Execution Steps
53
-
54
- 1. **Read Configuration:** Load `.torusguard/config/torusguard.json`; extract stack, version, and enabled rule count.
55
- 2. **Enumerate Active Rules:** Count rule files physically present in `.torusguard/rules/active/`.
56
- 3. **Inspect Run History:**
57
- ```bash
58
- python .torusguard/scripts/run_manager.py list
59
- ```
60
- 4. **Evaluate Scope Expiry:** Parse `.torusguard/config/scope.json`; report if TTL is valid or expired.
61
- 5. **Print Status Overview:** Render complete workspace diagnostic overview card.
62
-
63
50
  ---
64
51
 
65
- ## Failure Recovery
66
-
67
- - **Uninitialized Workspace:** If config is missing, prompt user to execute `/torusguard init`.
68
- - **Zero Runs Found:** Display clean status card noting no historical audit runs exist yet.
69
- - **Corrupt Config File:** Report parsing error and recommend re-running `/torusguard init`.
70
- - **Halt Trigger:** Abort command if read access to `.torusguard/` is denied.
71
-
72
- ---
73
-
74
- ## Hallucination Guard
52
+ ## Execution Steps
75
53
 
76
- - ❌ Never display fabricated finding counts not substantiated by run manifests.
77
- - ❌ Never execute modifying shell commands or edit source code during status inspection.
78
- - ✅ 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.
79
60
 
80
61
  ---
81
62
 
@@ -83,13 +64,11 @@ Inspect workspace state and configuration records prior to status display:
83
64
 
84
65
  ```markdown
85
66
  ### 🛡️ TorusGuard Workspace Status
86
- - **Version:** v0.9.2
87
- - **Framework Detected:** [Stack or None]
88
- - **Active Rules:** [Count] rules active in `.torusguard/rules/active/`
89
- - **Total Runs:** [Count] historical runs recorded
90
- - **Latest Run:** `run-YYYYMMDD-HHMMSS` ([Findings Count] findings)
91
- - **Scope Status:** [Authorized (TTL Active) / Expired / Unconfigured]
92
- - **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]
93
72
  ```
94
73
 
95
74
  ---
@@ -97,4 +76,4 @@ Inspect workspace state and configuration records prior to status display:
97
76
  ## Next Steps
98
77
 
99
78
  1. Run `/torusguard audit` to scan codebase for security vulnerabilities.
100
- 2. Run `/torusguard authorize` to configure or refresh live target scope.
79
+ 2. Run `/torusguard report --html` to view interactive dashboard.
@@ -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.
@@ -1,14 +1,14 @@
1
1
  ---
2
2
  description: Authorized HTTP probing, token redaction, transparent audit header injection, and replay trace capture.
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 3b (Runtime Web Validation)
7
7
  required-skills:
8
8
  - torusguard-web-validate
9
9
  scripts-binding:
10
- - .torusguard/scripts/report_sync.py
11
- - .torusguard/scripts/safety_gate.py
10
+ - internal/validate/validate.go
11
+ - cmd/torusguard/main.go
12
12
  ---
13
13
 
14
14
  # /torusguard web-validate — Bounded HTTP Probing & Session Capture
@@ -18,7 +18,17 @@ $ARGUMENTS
18
18
  ---
19
19
 
20
20
  ## Objective
21
- Authorized HTTP probing, token redaction, transparent audit header injection, and replay capture.
21
+ Authorized HTTP probing, token redaction, transparent audit header injection, and replay capture against local/staging web applications.
22
+
23
+ ---
24
+
25
+ ## Tri-Mode Execution
26
+
27
+ | Mode | Command / Tool | Execution Method |
28
+ | :--- | :--- | :--- |
29
+ | **Mode A: Terminal CLI** | `torusguard web-validate [--url <url>]` | Terminal execution of bounded HTTP validator. |
30
+ | **Mode B: AI Chat Slash** | `/torusguard web-validate` | Interactive verification of endpoints and security headers. |
31
+ | **Mode C: Native MCP Tool** | Scope Guarded Probing | Safe runtime probing guarded by `scope.json` and SSRF boundaries. |
22
32
 
23
33
  ---
24
34
 
@@ -26,53 +36,21 @@ Authorized HTTP probing, token redaction, transparent audit header injection, an
26
36
 
27
37
  Inspect authorization parameters and safety limits before sending HTTP requests:
28
38
  1. **Active Scope (`.torusguard/config/scope.json`):** Assert target host and path are authorized with valid TTL.
29
- 2. **Safety Gate Classification:** Test proposed endpoint against `.torusguard/scripts/safety_gate.py`.
39
+ 2. **SSRF Boundary Enforcement:** Assert target does not resolve to private cloud metadata (`169.254.169.254`).
30
40
  3. **Sensitive Route Guard:** Ensure destructive endpoints (`DELETE`, account drops) are never called automatically.
31
41
  4. **Token Redaction Pipeline:** Ensure bearer tokens and session cookies are masked (`Bearer [REDACTED]`).
32
42
  5. **Request Budget:** Enforce maximum cap of 50 requests per validation session.
33
43
 
34
44
  ---
35
45
 
36
- ## When to Use /torusguard web-validate
37
-
38
- | Trigger Scenario | Recommended Action |
39
- | :--- | :--- |
40
- | Testing live route accessibility and security headers | Run `/torusguard web-validate` |
41
- | Verifying cookie security flags (`HttpOnly`, `Secure`, `SameSite`) | Run `/torusguard web-validate` |
42
- | Checking CORS headers and authentication barriers | Run `/torusguard web-validate` |
43
- | Pure static source code analysis | Run `/torusguard audit` |
44
- | Confirming exploitable attack vectors | Run `/torusguard exploit-check` |
45
-
46
- ---
47
-
48
46
  ## Execution Steps
49
47
 
50
- 1. **Verify Legal Scope:** Check target URL against `.torusguard/config/scope.json`.
51
- 2. **Invoke Safety Gate:**
52
- ```bash
53
- python .torusguard/scripts/safety_gate.py check --url <target_url> --method GET
54
- ```
55
- 3. **Dispatch Non-Destructive Probe:** Send bounded HTTP request with audit header `X-TorusGuard-AuthID`.
56
- 4. **Redact Sensitive Headers:** Sanitize auth tokens and credentials in request and response objects.
57
- 5. **Write Replay Artifacts:**
58
- Record sanitized trace in `.torusguard/runs/<run_id>/requests.json` and emit `web-validation.md`.
59
-
60
- ---
61
-
62
- ## Failure Recovery
63
-
64
- - **Target Offline:** Verify local dev server is active and accessible on designated host port.
65
- - **Safety Gate Rejection (Manual Only):** Halt probe immediately; report endpoint requires human manual test.
66
- - **Rate Limit / 429:** Back off exponentially (1s, 2s, 4s); stop session if 429 persists.
67
- - **Halt Trigger:** Abort if target domain deviates from authorized allowlist in `scope.json`.
68
-
69
- ---
70
-
71
- ## Hallucination Guard
72
-
73
- - ❌ Never dispatch HTTP requests outside domains explicitly listed in `.torusguard/config/scope.json`.
74
- - ❌ Never write raw Authorization headers or plaintext secrets to disk.
75
- - ✅ Always include transparent audit headers (`X-TorusGuard-AuthID`).
48
+ 1. **Trigger Web Validation:**
49
+ - **Mode A (CLI):** Run `torusguard web-validate --url http://localhost:3000`.
50
+ - **Mode B (Chat):** Send non-destructive probe and inspect response headers.
51
+ 2. **Audit Security Headers:** Check CSP, HSTS, X-Content-Type-Options, and CORS headers.
52
+ 3. **Audit Cookie Flags:** Verify `HttpOnly`, `Secure`, and `SameSite` on session cookies.
53
+ 4. **Sanitize Traces:** Redact all secrets and save sanitized replay trace.
76
54
 
77
55
  ---
78
56
 
@@ -84,7 +62,6 @@ Inspect authorization parameters and safety limits before sending HTTP requests:
84
62
  - **Endpoints Probed:** [Count] routes tested
85
63
  - **Security Headers:** [CSP / HSTS / CORS status]
86
64
  - **Cookie Security:** [HttpOnly / Secure / SameSite status]
87
- - **Replay Trace:** `.torusguard/runs/<run_id>/replay.json`
88
65
  - **Status:** COMPLETED — non-destructive probe finished
89
66
  ```
90
67