torusguard 1.4.0 → 2.1.0
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.
- package/.torusguard/.manifest.json +50 -28
- package/.torusguard/auth.json +5 -0
- package/.torusguard/rules/container/TG-CONT-001-root-user-execution.md +50 -0
- package/.torusguard/rules/container/TG-CONT-002-docker-socket-mount.md +47 -0
- package/.torusguard/rules/container/TG-CONT-003-privileged-container-mode.md +53 -0
- package/.torusguard/rules/container/TG-CONT-004-build-arg-secret-exposure.md +43 -0
- package/.torusguard/rules/git/TG-GIT-001-historical-secret-in-git-commit.md +44 -0
- package/.torusguard/rules/git/TG-GIT-002-plaintext-credentials-in-git-config.md +41 -0
- package/.torusguard/rules/git/TG-GIT-003-sensitive-tracked-file-gitignore-breach.md +40 -0
- package/.torusguard/rules/rag/TG-RAG-001-untrusted-rag-context-injection.md +72 -0
- package/.torusguard/rules/rag/TG-RAG-002-autonomous-llm-tool-unsandboxed-call.md +51 -0
- package/.torusguard/rules/rag/TG-RAG-003-unpartitioned-vector-tenant-lookup.md +51 -0
- package/.torusguard/rules/redos/TG-REDOS-001-catastrophic-exponential-backtracking.md +46 -0
- package/.torusguard/rules/redos/TG-REDOS-002-unbounded-nested-quantifier.md +43 -0
- package/.torusguard/rules_catalog.json +338 -518
- package/.torusguard/scripts/__pycache__/apply_runner.cpython-314.pyc +0 -0
- package/.torusguard/scripts/__pycache__/audit_runner.cpython-314.pyc +0 -0
- package/.torusguard/scripts/__pycache__/harden_runner.cpython-314.pyc +0 -0
- package/.torusguard/scripts/__pycache__/html_reporter.cpython-314.pyc +0 -0
- package/.torusguard/scripts/__pycache__/manifest_builder.cpython-314.pyc +0 -0
- package/.torusguard/scripts/__pycache__/recipes_runner.cpython-314.pyc +0 -0
- package/.torusguard/scripts/__pycache__/report_sync.cpython-314.pyc +0 -0
- package/.torusguard/scripts/manifest_builder.py +1 -1
- package/.torusguard/skills/torusguard/SKILL.md +69 -24
- package/.torusguard/skills/torusguard/bootstrap.py +57 -24
- package/.torusguard/skills/torusguard-ai-guard/SKILL.md +95 -0
- package/.torusguard/skills/torusguard-apply/SKILL.md +60 -34
- package/.torusguard/skills/torusguard-audit/SKILL.md +73 -24
- package/.torusguard/skills/torusguard-authorize/SKILL.md +48 -6
- package/.torusguard/skills/torusguard-container/SKILL.md +94 -0
- package/.torusguard/skills/torusguard-exploit-check/SKILL.md +50 -6
- package/.torusguard/skills/torusguard-full/SKILL.md +62 -19
- package/.torusguard/skills/torusguard-git-mine/SKILL.md +92 -0
- package/.torusguard/skills/torusguard-harden/SKILL.md +81 -50
- package/.torusguard/skills/torusguard-init/SKILL.md +61 -14
- package/.torusguard/skills/torusguard-ocr-scan/SKILL.md +94 -0
- package/.torusguard/skills/torusguard-recheck/SKILL.md +71 -18
- package/.torusguard/skills/torusguard-redos/SKILL.md +91 -0
- package/.torusguard/skills/torusguard-report/SKILL.md +50 -9
- package/.torusguard/skills/torusguard-status/SKILL.md +63 -10
- package/.torusguard/skills/torusguard-verify/SKILL.md +52 -10
- package/.torusguard/skills/torusguard-web-validate/SKILL.md +53 -8
- package/.torusguard/snapshots/20260921-182638/go.mod.bak +11 -0
- package/.torusguard/snapshots/20260921-185213/file.go.bak +5 -0
- package/.torusguard/workflows/ai-guard.md +31 -0
- package/.torusguard/workflows/apply.md +32 -55
- package/.torusguard/workflows/audit.md +28 -46
- package/.torusguard/workflows/authorize.md +27 -50
- package/.torusguard/workflows/container.md +29 -0
- package/.torusguard/workflows/exploit-check.md +28 -50
- package/.torusguard/workflows/git-mine.md +25 -0
- package/.torusguard/workflows/harden.md +29 -48
- package/.torusguard/workflows/init.md +27 -50
- package/.torusguard/workflows/memory.md +18 -23
- package/.torusguard/workflows/ocr-scan.md +25 -0
- package/.torusguard/workflows/recheck.md +28 -46
- package/.torusguard/workflows/redos.md +27 -0
- package/.torusguard/workflows/report.md +33 -52
- package/.torusguard/workflows/status.md +31 -52
- package/.torusguard/workflows/verify.md +29 -49
- package/.torusguard/workflows/web-validate.md +22 -45
- package/README.md +336 -386
- package/package.json +1 -1
- package/skills/torusguard/SKILL.md +71 -24
- package/skills/torusguard/__pycache__/bootstrap.cpython-314.pyc +0 -0
- package/skills/torusguard/bootstrap.py +60 -71
- package/skills/torusguard/payload/.manifest.json +50 -28
- package/skills/torusguard/payload/TORUSGUARD.md +145 -145
- package/skills/torusguard/payload/agents/auditor.md +41 -41
- package/skills/torusguard/payload/agents/profiler.md +49 -49
- package/skills/torusguard/payload/agents/remediator.md +41 -41
- package/skills/torusguard/payload/agents/reviewer.md +39 -39
- package/skills/torusguard/payload/agents/validator.md +46 -46
- package/skills/torusguard/payload/config/scope.json +24 -24
- package/skills/torusguard/payload/references/csharp-security.md +41 -41
- package/skills/torusguard/payload/references/go-security.md +41 -41
- package/skills/torusguard/payload/references/java-security.md +40 -40
- package/skills/torusguard/payload/references/polyglot-security-matrix.md +25 -25
- package/skills/torusguard/payload/references/rust-security.md +40 -40
- package/skills/torusguard/payload/rules/container/TG-CONT-001-root-user-execution.md +50 -0
- package/skills/torusguard/payload/rules/container/TG-CONT-002-docker-socket-mount.md +47 -0
- package/skills/torusguard/payload/rules/container/TG-CONT-003-privileged-container-mode.md +53 -0
- package/skills/torusguard/payload/rules/container/TG-CONT-004-build-arg-secret-exposure.md +43 -0
- package/skills/torusguard/payload/rules/custom/.gitkeep +1 -1
- package/skills/torusguard/payload/rules/custom/README.md +30 -30
- package/skills/torusguard/payload/rules/git/TG-GIT-001-historical-secret-in-git-commit.md +44 -0
- package/skills/torusguard/payload/rules/git/TG-GIT-002-plaintext-credentials-in-git-config.md +41 -0
- package/skills/torusguard/payload/rules/git/TG-GIT-003-sensitive-tracked-file-gitignore-breach.md +40 -0
- package/skills/torusguard/payload/rules/rag/TG-RAG-001-untrusted-rag-context-injection.md +72 -0
- package/skills/torusguard/payload/rules/rag/TG-RAG-002-autonomous-llm-tool-unsandboxed-call.md +51 -0
- package/skills/torusguard/payload/rules/rag/TG-RAG-003-unpartitioned-vector-tenant-lookup.md +51 -0
- package/skills/torusguard/payload/rules/redos/TG-REDOS-001-catastrophic-exponential-backtracking.md +46 -0
- package/skills/torusguard/payload/rules/redos/TG-REDOS-002-unbounded-nested-quantifier.md +43 -0
- package/skills/torusguard/payload/rules_catalog.json +338 -518
- package/skills/torusguard/payload/scripts/__pycache__/term_ui.cpython-314.pyc +0 -0
- package/skills/torusguard/payload/scripts/manifest_builder.py +1 -1
- package/skills/torusguard/payload/scripts/rules_sync.py +321 -321
- package/skills/torusguard/payload/scripts/safety_gate.py +64 -64
- package/skills/torusguard/payload/skills/torusguard/SKILL.md +69 -24
- package/skills/torusguard/payload/skills/torusguard/bootstrap.py +57 -24
- package/skills/torusguard/payload/skills/torusguard-ai-guard/SKILL.md +95 -0
- package/skills/torusguard/payload/skills/torusguard-apply/SKILL.md +60 -34
- package/skills/torusguard/payload/skills/torusguard-audit/SKILL.md +73 -24
- package/skills/torusguard/payload/skills/torusguard-authorize/SKILL.md +48 -6
- package/skills/torusguard/payload/skills/torusguard-container/SKILL.md +94 -0
- package/skills/torusguard/payload/skills/torusguard-exploit-check/SKILL.md +50 -6
- package/skills/torusguard/payload/skills/torusguard-full/SKILL.md +62 -19
- package/skills/torusguard/payload/skills/torusguard-git-mine/SKILL.md +92 -0
- package/skills/torusguard/payload/skills/torusguard-harden/SKILL.md +81 -50
- package/skills/torusguard/payload/skills/torusguard-init/SKILL.md +61 -14
- package/skills/torusguard/payload/skills/torusguard-ocr-scan/SKILL.md +94 -0
- package/skills/torusguard/payload/skills/torusguard-recheck/SKILL.md +71 -18
- package/skills/torusguard/payload/skills/torusguard-redos/SKILL.md +91 -0
- package/skills/torusguard/payload/skills/torusguard-report/SKILL.md +50 -9
- package/skills/torusguard/payload/skills/torusguard-status/SKILL.md +63 -10
- package/skills/torusguard/payload/skills/torusguard-verify/SKILL.md +52 -10
- package/skills/torusguard/payload/skills/torusguard-web-validate/SKILL.md +53 -8
- package/skills/torusguard/payload/templates/audit-report.template.md +54 -54
- package/skills/torusguard/payload/templates/authorization.template.md +34 -34
- package/skills/torusguard/payload/templates/finding-card.template.md +32 -32
- package/skills/torusguard/payload/templates/remediation-bundle.template.md +35 -35
- package/skills/torusguard/payload/workflows/ai-guard.md +31 -0
- package/skills/torusguard/payload/workflows/apply.md +31 -62
- package/skills/torusguard/payload/workflows/audit.md +27 -51
- package/skills/torusguard/payload/workflows/authorize.md +27 -50
- package/skills/torusguard/payload/workflows/container.md +29 -0
- package/skills/torusguard/payload/workflows/exploit-check.md +28 -50
- package/skills/torusguard/payload/workflows/git-mine.md +25 -0
- package/skills/torusguard/payload/workflows/harden.md +28 -52
- package/skills/torusguard/payload/workflows/init.md +27 -56
- package/skills/torusguard/payload/workflows/memory.md +18 -23
- package/skills/torusguard/payload/workflows/ocr-scan.md +25 -0
- package/skills/torusguard/payload/workflows/recheck.md +28 -46
- package/skills/torusguard/payload/workflows/redos.md +27 -0
- package/skills/torusguard/payload/workflows/report.md +39 -62
- package/skills/torusguard/payload/workflows/status.md +31 -55
- package/skills/torusguard/payload/workflows/verify.md +29 -49
- package/skills/torusguard/payload/workflows/web-validate.md +22 -45
- package/skills/torusguard/references/csharp-security.md +41 -0
- package/skills/torusguard/references/go-security.md +41 -0
- package/skills/torusguard/references/java-security.md +40 -0
- package/skills/torusguard/references/polyglot-security-matrix.md +25 -0
- package/skills/torusguard/references/rust-security.md +40 -0
- package/skills/torusguard-ai-guard/SKILL.md +95 -0
- package/skills/torusguard-apply/SKILL.md +60 -34
- package/skills/torusguard-audit/SKILL.md +73 -24
- package/skills/torusguard-authorize/SKILL.md +48 -6
- package/skills/torusguard-container/SKILL.md +94 -0
- package/skills/torusguard-exploit-check/SKILL.md +50 -6
- package/skills/torusguard-full/SKILL.md +62 -19
- package/skills/torusguard-git-mine/SKILL.md +92 -0
- package/skills/torusguard-harden/SKILL.md +81 -50
- package/skills/torusguard-init/SKILL.md +61 -14
- package/skills/torusguard-ocr-scan/SKILL.md +94 -0
- package/skills/torusguard-recheck/SKILL.md +71 -18
- package/skills/torusguard-redos/SKILL.md +91 -0
- package/skills/torusguard-report/SKILL.md +50 -9
- package/skills/torusguard-status/SKILL.md +63 -10
- package/skills/torusguard-verify/SKILL.md +52 -10
- package/skills/torusguard-web-validate/SKILL.md +53 -8
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
---
|
|
2
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:
|
|
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
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
- .torusguard/scripts/finding_scorer.py
|
|
10
|
+
- internal/scanner/scanner.go
|
|
11
|
+
- cmd/torusguard/main.go
|
|
12
|
+
- cmd/torusguard/mcp.go
|
|
14
13
|
---
|
|
15
14
|
|
|
16
15
|
# /torusguard audit — Static Security Code Scan & Clustering
|
|
@@ -20,30 +19,27 @@ $ARGUMENTS
|
|
|
20
19
|
---
|
|
21
20
|
|
|
22
21
|
## Objective
|
|
23
|
-
|
|
22
|
+
Execute static AST analysis across polyglot project files, evaluate code against 74 canonical security rules across 18 families, assign stable line-shift invariant fingerprints, cluster architectural root causes, synchronize findings with `security_report.md`, and score findings with auditable 0–100 confidence ratings.
|
|
24
23
|
|
|
25
24
|
---
|
|
26
25
|
|
|
27
|
-
##
|
|
26
|
+
## Tri-Mode Execution
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
5. **Syntax Check:** Check for syntax errors before parsing ASTs.
|
|
28
|
+
| Mode | Command / Tool | Execution Method |
|
|
29
|
+
| :--- | :--- | :--- |
|
|
30
|
+
| **Mode A: Terminal CLI** | `torusguard audit [--include-tests] [--json]` | Shell execution of compiled Go binary. |
|
|
31
|
+
| **Mode B: AI Chat Slash** | `/torusguard audit` | Conversational guided audit with bounded context inspection. |
|
|
32
|
+
| **Mode C: Native MCP Tool** | `torusguard_audit` | Autonomous agent tool invocation via stdio JSON-RPC. |
|
|
35
33
|
|
|
36
34
|
---
|
|
37
35
|
|
|
38
|
-
##
|
|
36
|
+
## Mandatory Pre-Flight Context Inspection
|
|
39
37
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
| Live endpoint or runtime probing | Run `/torusguard web-validate` |
|
|
46
|
-
| Differential check after patch | Run `/torusguard recheck` |
|
|
38
|
+
Inspect workspace prerequisites before launching static audit:
|
|
39
|
+
1. **Init State (`torusguard.json`):** Assert repository is initialized or run `torusguard init`.
|
|
40
|
+
2. **Active Rules (`rules/active/`):** Confirm rule definitions exist.
|
|
41
|
+
3. **Exclusions:** Assert `node_modules/`, `.venv/`, `dist/`, `.git/` are skipped.
|
|
42
|
+
4. **Syntax Check:** Check for syntax errors before parsing ASTs.
|
|
47
43
|
|
|
48
44
|
---
|
|
49
45
|
|
|
@@ -51,31 +47,18 @@ Inspect workspace prerequisites before launching static audit:
|
|
|
51
47
|
- Audit discoveries automatically synchronize to `security_report.md` at workspace root.
|
|
52
48
|
- Findings transition into `OPEN 🔴` status with stable invariant fingerprints.
|
|
53
49
|
|
|
54
|
-
## Execution Steps
|
|
55
|
-
|
|
56
|
-
1. **Allocate Run Folder:** Run `python .torusguard/scripts/run_manager.py create audit`.
|
|
57
|
-
2. **Scan Codebase ASTs:** Match active rules against source trees.
|
|
58
|
-
3. **Compute Stable Fingerprints:** Hash AST context to produce stable IDs.
|
|
59
|
-
4. **Cluster Root Causes:** Group findings sharing identical sinks.
|
|
60
|
-
5. **Score Confidence (0–100):** Run `python .torusguard/scripts/finding_scorer.py --run <run_dir>`.
|
|
61
|
-
6. **Emit Artifacts:** Write `findings.md`, `findings.json`, and `summary.md`.
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## Failure Recovery
|
|
66
|
-
|
|
67
|
-
- **Zero Rules Active:** Re-run `/torusguard init` to activate rules.
|
|
68
|
-
- **AST Parse Error:** Log syntax error on malformed file, skip, and continue.
|
|
69
|
-
- **Scorer Failure:** Ensure Python 3.10+; verify finding JSON structure.
|
|
70
|
-
- **Halt Trigger:** Abort if run folder cannot be allocated or disk write fails.
|
|
71
|
-
|
|
72
50
|
---
|
|
73
51
|
|
|
74
|
-
##
|
|
52
|
+
## Execution Steps
|
|
75
53
|
|
|
76
|
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
54
|
+
1. **Launch Audit Scan:**
|
|
55
|
+
- **Mode A (CLI):** Run `torusguard audit` in terminal.
|
|
56
|
+
- **Mode B (Chat):** Parse AST sinks using `grep_search` and bounded `ExtractContext`.
|
|
57
|
+
- **Mode C (MCP):** Call `torusguard_audit` with `{"target": "."}`.
|
|
58
|
+
2. **Scan Codebase ASTs:** Match 74 canonical rules across 18 families against source trees.
|
|
59
|
+
3. **Compute Stable Fingerprints:** Hash AST context to produce stable line-shift invariant IDs.
|
|
60
|
+
4. **Cluster Root Causes:** Group findings sharing identical sinks or causal architecture.
|
|
61
|
+
5. **Synchronize Ground Truth:** Update `security_report.md` at workspace root.
|
|
79
62
|
|
|
80
63
|
---
|
|
81
64
|
|
|
@@ -83,12 +66,11 @@ Inspect workspace prerequisites before launching static audit:
|
|
|
83
66
|
|
|
84
67
|
```markdown
|
|
85
68
|
### 🔎 TorusGuard Static Audit Results
|
|
86
|
-
- **Run ID:** `run-YYYYMMDD-HHMMSS-audit`
|
|
87
69
|
- **Files Scanned:** [Count] source files
|
|
88
70
|
- **Total Findings:** [Count] ([Critical] Critical, [High] High)
|
|
89
71
|
- **Root Cause Clusters:** [Count] architectural issues
|
|
90
72
|
- **Confidence:** [Score]/100
|
|
91
|
-
- **
|
|
73
|
+
- **Living Report:** `security_report.md`
|
|
92
74
|
```
|
|
93
75
|
|
|
94
76
|
---
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Legal scope definition, target ownership proof verification, and safety boundary enforcement for runtime validation.
|
|
3
|
-
tools: Read, Grep, Glob, Bash, Write
|
|
4
|
-
version:
|
|
3
|
+
tools: Read, Grep, Glob, Bash, Write, run_command
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
agent: reviewer
|
|
6
6
|
lifecycle-phase: Phase 1 (Authorization Gate)
|
|
7
7
|
required-skills:
|
|
8
8
|
- torusguard-authorize
|
|
9
9
|
scripts-binding:
|
|
10
|
-
-
|
|
11
|
-
-
|
|
10
|
+
- internal/validate/validate.go
|
|
11
|
+
- cmd/torusguard/main.go
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
# /torusguard authorize — Legal Scope & Safety Gate
|
|
@@ -18,7 +18,17 @@ $ARGUMENTS
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
20
|
## Objective
|
|
21
|
-
Legal scope definition, target ownership proof verification, and safety boundary enforcement.
|
|
21
|
+
Legal scope definition, target ownership proof verification, and safety boundary enforcement for runtime validation.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Tri-Mode Execution
|
|
26
|
+
|
|
27
|
+
| Mode | Command / Tool | Execution Method |
|
|
28
|
+
| :--- | :--- | :--- |
|
|
29
|
+
| **Mode A: Terminal CLI** | `torusguard authorize` | Interactive boundary setup and cryptographic token generation. |
|
|
30
|
+
| **Mode B: AI Chat Slash** | `/torusguard authorize` | Conversational parameter collection and scope validation. |
|
|
31
|
+
| **Mode C: Native MCP Tool** | Safety Gate Guard | Administrative gatekeeper ensuring strict safety boundaries before probes. |
|
|
22
32
|
|
|
23
33
|
---
|
|
24
34
|
|
|
@@ -27,52 +37,20 @@ Legal scope definition, target ownership proof verification, and safety boundary
|
|
|
27
37
|
Inspect authorization parameters and environment safety before executing:
|
|
28
38
|
1. **Config Record (`.torusguard/config/torusguard.json`):** Assert repository is initialized.
|
|
29
39
|
2. **Current Scope (`.torusguard/config/scope.json`):** Inspect active allowed targets, paths, and TTL expiry.
|
|
30
|
-
3. **Environment Classification:** Assert target is local or staging (`localhost`, `127.0.0.1`, `*.
|
|
40
|
+
3. **Environment Classification:** Assert target is local or staging (`localhost`, `127.0.0.1`, `*.staging.*`).
|
|
31
41
|
4. **Destructive Guard:** Ensure state-changing operations (`DELETE`, bulk drops) remain blocked by default.
|
|
32
|
-
5. **
|
|
33
|
-
6. **TTL Window:** Ensure authorization window does not exceed 24 hours.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## When to Use /torusguard authorize
|
|
38
|
-
|
|
39
|
-
| Trigger Scenario | Recommended Action |
|
|
40
|
-
| :--- | :--- |
|
|
41
|
-
| Preparing for live HTTP probes or API validation | Run `/torusguard authorize` |
|
|
42
|
-
| Updating allowed hosts, path prefixes, or rate limits | Run `/torusguard authorize` |
|
|
43
|
-
| Static-only security audit | Skip authorize; run `/torusguard audit` |
|
|
44
|
-
| Checking active legal scope status | Run `/torusguard status` |
|
|
45
|
-
| Expired authorization window | Re-run `/torusguard authorize` |
|
|
42
|
+
5. **TTL Window:** Ensure authorization window does not exceed 24 hours.
|
|
46
43
|
|
|
47
44
|
---
|
|
48
45
|
|
|
49
46
|
## Execution Steps
|
|
50
47
|
|
|
51
|
-
1. **
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
4. **Write Scope File (`.torusguard/config/scope.json`):** Save authorized targets, valid TTL timestamp, and request rate caps.
|
|
58
|
-
5. **Confirm Scope Binding:** Verify `.torusguard/config/scope.json` parses as valid JSON against schema.
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## Failure Recovery
|
|
63
|
-
|
|
64
|
-
- **Unreachable Host:** Verify local server is running on the specified port.
|
|
65
|
-
- **Production Target Warning:** If target resolves to an external production host, halt and request operator override.
|
|
66
|
-
- **Malformed JSON:** Re-initialize `scope.json` from `.torusguard/schemas/auth-boundary.schema.json`.
|
|
67
|
-
- **Halt Trigger:** Abort immediately if user provides wildcard target (`*`) or third-party domain.
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## Hallucination Guard
|
|
72
|
-
|
|
73
|
-
- ❌ Never proceed with runtime probing without an explicit, valid `.torusguard/config/scope.json`.
|
|
74
|
-
- ❌ Never authorize destructive HTTP methods (`DELETE`, `DROP`) under default non-destructive policy.
|
|
75
|
-
- ✅ Always validate targets through `.torusguard/scripts/safety_gate.py`.
|
|
48
|
+
1. **Trigger Authorization:**
|
|
49
|
+
- **Mode A (CLI):** Run `torusguard authorize`.
|
|
50
|
+
- **Mode B (Chat):** Collect target host URL and allowed prefixes.
|
|
51
|
+
2. **Generate Token:** Persist cryptographic authorization token into `.torusguard/auth.json`.
|
|
52
|
+
3. **Write Scope Record:** Persist authorized targets and expiration TTL into `.torusguard/config/scope.json`.
|
|
53
|
+
4. **Confirm Readiness:** Prepare environment for `/torusguard web-validate`.
|
|
76
54
|
|
|
77
55
|
---
|
|
78
56
|
|
|
@@ -81,9 +59,8 @@ Inspect authorization parameters and environment safety before executing:
|
|
|
81
59
|
```markdown
|
|
82
60
|
### 🔒 TorusGuard Authorization Gate
|
|
83
61
|
- **Target URL:** [Target Host or URL]
|
|
84
|
-
- **Environment:** [Localhost / Staging
|
|
85
|
-
- **
|
|
86
|
-
- **Rate Limit:** [Max requests / concurrency limit]
|
|
62
|
+
- **Environment:** [Localhost / Staging]
|
|
63
|
+
- **Session TTL:** 24 Hours
|
|
87
64
|
- **Scope File:** `.torusguard/config/scope.json`
|
|
88
65
|
- **Status:** AUTHORIZED — ready for `/torusguard web-validate`
|
|
89
66
|
```
|
|
@@ -92,5 +69,5 @@ Inspect authorization parameters and environment safety before executing:
|
|
|
92
69
|
|
|
93
70
|
## Next Steps
|
|
94
71
|
|
|
95
|
-
1. Run `/torusguard
|
|
96
|
-
2. Run `/torusguard
|
|
72
|
+
1. Run `/torusguard web-validate` to begin safe, authorized endpoint validation.
|
|
73
|
+
2. Run `/torusguard audit` to scan codebase for AST vulnerabilities.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# /torusguard-container — Container & Docker Security Audit
|
|
2
|
+
|
|
3
|
+
$ARGUMENTS
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
Detect and remediate container privilege escalation, root execution, docker socket exposure, and build-time secret injection across `Dockerfile`, `Containerfile`, and `docker-compose.yml` configurations.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Tri-Mode Parity
|
|
13
|
+
- **Mode A (Terminal CLI):** `torusguard container [target]`
|
|
14
|
+
- **Mode B (AI Chat Slash Command):** `/torusguard container [target]`
|
|
15
|
+
- **Mode C (Native MCP Tool):** `torusguard_container`
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Execution Steps
|
|
20
|
+
|
|
21
|
+
1. **Discover Container Configurations:** Discover all Dockerfiles and compose YAML files in the workspace.
|
|
22
|
+
2. **Execute Static Heuristic Audit:** Run `ScanContainerFiles` or `torusguard_container` against discovered files.
|
|
23
|
+
3. **Assert Security Invariants:**
|
|
24
|
+
- Enforce non-root user declarations (`TG-CONT-001`).
|
|
25
|
+
- Block Docker daemon socket mounts (`/var/run/docker.sock`) (`TG-CONT-002`).
|
|
26
|
+
- Disallow `privileged: true` and unconfined seccomp profiles (`TG-CONT-003`).
|
|
27
|
+
- Ban build-time secrets in `ARG` or `ENV` directives (`TG-CONT-004`).
|
|
28
|
+
4. **Formulate Surgical Patches:** Propose minimal diffs adding non-root users (`USER appuser`) and secret mounts within Ponytail bounds (≤35 additions, ≤25 deletions).
|
|
29
|
+
5. **Synchronize Report:** Log all container findings in `security_report.md`.
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Safe, bounded, single-step exploitability confirmation across 5 standard verification statuses.
|
|
3
|
-
tools: Read, Grep, Glob, Bash, Write
|
|
4
|
-
version:
|
|
3
|
+
tools: Read, Grep, Glob, Bash, Write, run_command
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
agent: validator
|
|
6
6
|
lifecycle-phase: Phase 3c (Exploitability Check)
|
|
7
7
|
required-skills:
|
|
8
8
|
- torusguard-exploit-check
|
|
9
9
|
scripts-binding:
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
- .torusguard/scripts/finding_scorer.py
|
|
10
|
+
- internal/validate/validate.go
|
|
11
|
+
- cmd/torusguard/main.go
|
|
13
12
|
---
|
|
14
13
|
|
|
15
14
|
# /torusguard exploit-check — Bounded Exploitability Confirmation
|
|
@@ -19,62 +18,43 @@ $ARGUMENTS
|
|
|
19
18
|
---
|
|
20
19
|
|
|
21
20
|
## Objective
|
|
22
|
-
Safe, bounded, single-step exploitability confirmation
|
|
21
|
+
Safe, bounded, single-step exploitability confirmation using inert canary tokens without data loss or weaponized execution.
|
|
23
22
|
|
|
24
23
|
---
|
|
25
24
|
|
|
26
|
-
##
|
|
25
|
+
## Tri-Mode Execution
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
5. **Bound:** Limit to single non-destructive HTTP request per finding.
|
|
34
|
-
6. **Audit Trail:** Inject `X-TorusGuard-AuthID` header on all outbound requests.
|
|
27
|
+
| Mode | Command / Tool | Execution Method |
|
|
28
|
+
| :--- | :--- | :--- |
|
|
29
|
+
| **Mode A: Terminal CLI** | `torusguard exploit-check [--url <url>] [--finding <id>]` | Terminal execution of sentinel canary prober. |
|
|
30
|
+
| **Mode B: AI Chat Slash** | `/torusguard exploit-check` | Conversational exploitability triage and status classification. |
|
|
31
|
+
| **Mode C: Native MCP Tool** | Bounded Probe Engine | Safe probe execution guarded by inert tokens and safety gate. |
|
|
35
32
|
|
|
36
33
|
---
|
|
37
34
|
|
|
38
|
-
##
|
|
35
|
+
## Mandatory Pre-Flight Context Inspection
|
|
39
36
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
| Applying approved remediation patch | Run `/torusguard apply` |
|
|
37
|
+
Inspect authorization parameters and probe safety constraints:
|
|
38
|
+
1. **Scope Check (`scope.json`):** Assert endpoint is authorized.
|
|
39
|
+
2. **Approved Probes:** Use benign canaries (SQLi math identity `' OR 1=1--`, HTML marker `<tg-canary-tag>`).
|
|
40
|
+
3. **Destructive Ban:** Strictly prohibit drops, DOS, or weaponized payloads.
|
|
41
|
+
4. **Bound:** Limit to single non-destructive HTTP request per finding.
|
|
42
|
+
5. **Audit Trail:** Inject `X-TorusGuard-AuthID` header on all outbound requests.
|
|
47
43
|
|
|
48
44
|
---
|
|
49
45
|
|
|
50
46
|
## Execution Steps
|
|
51
47
|
|
|
52
|
-
1. **
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## Failure Recovery
|
|
65
|
-
|
|
66
|
-
- **Connection Refused:** Verify target server is running locally on port.
|
|
67
|
-
- **Safety Gate Block:** If `Manual Only`, halt automated probe and request human review.
|
|
68
|
-
- **Ambiguous Response:** Mark finding as `Needs Review`; never assume exploit without proof.
|
|
69
|
-
- **Halt Trigger:** Abort if probe causes server 500 error or unexpected crash.
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## Hallucination Guard
|
|
74
|
-
|
|
75
|
-
- ❌ Never classify a vulnerability as `Confirmed` without direct sentinel reflection.
|
|
76
|
-
- ❌ Never execute brute force attacks or automated password spraying.
|
|
77
|
-
- ✅ Always provide reproducible curl commands with redacted credentials.
|
|
48
|
+
1. **Trigger Exploit Check:**
|
|
49
|
+
- **Mode A (CLI):** Run `torusguard exploit-check --url http://localhost:3000 --finding TG-SEC-001`.
|
|
50
|
+
- **Mode B (Chat):** Review response to inert canary probe.
|
|
51
|
+
2. **Classify Status:** Evaluate response against 5 canonical outcomes:
|
|
52
|
+
- `Confirmed`: Canary reflected or secondary tenant data leaked.
|
|
53
|
+
- `Not Reproducible`: Endpoint responded with 401/403 or sanitized input.
|
|
54
|
+
- `Needs Review`: Ambiguous status code or incomplete response.
|
|
55
|
+
- `Blocked by Controls`: WAF or rate limiter stopped probe.
|
|
56
|
+
- `Out of Scope`: Target endpoint is not authorized.
|
|
57
|
+
3. **Update Living Report:** Record outcome in `security_report.md`.
|
|
78
58
|
|
|
79
59
|
---
|
|
80
60
|
|
|
@@ -84,10 +64,8 @@ Inspect authorization parameters and probe safety constraints:
|
|
|
84
64
|
### 🎯 TorusGuard Exploitability Confirmation
|
|
85
65
|
- **Target Route:** `[METHOD] /path`
|
|
86
66
|
- **Finding ID:** `TG-XXX-HASH`
|
|
87
|
-
- **Canary Used:** [Inert Math Sentinel / Unauth Read]
|
|
88
67
|
- **Status:** [Confirmed / Not Reproducible / Blocked]
|
|
89
68
|
- **Evidence:** [Response snippet demonstrating leak or block]
|
|
90
|
-
- **Replay Curl:** `curl -X [METHOD] http://localhost:PORT/path ...`
|
|
91
69
|
```
|
|
92
70
|
|
|
93
71
|
---
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# /torusguard-git-mine — Git Repository & History Secret Mining
|
|
2
|
+
|
|
3
|
+
$ARGUMENTS
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
Inspect local Git metadata, `.git/config` remotes, and historical commit logs to uncover leaked API tokens, private certificates, and sensitive credentials committed in previous revisions.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Tri-Mode Parity
|
|
13
|
+
- **Mode A (Terminal CLI):** `torusguard git-mine [target]`
|
|
14
|
+
- **Mode B (AI Chat Slash Command):** `/torusguard git-mine [target]`
|
|
15
|
+
- **Mode C (Native MCP Tool):** `torusguard_git_mine`
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Execution Steps
|
|
20
|
+
|
|
21
|
+
1. **Verify Git Environment:** Verify target directory is a valid Git repository containing `.git/`.
|
|
22
|
+
2. **Audit Remote Configurations:** Check `.git/config` for embedded basic auth credentials in remote origin URLs (`TG-GIT-002`).
|
|
23
|
+
3. **Mine Commit Log Diffs:** Inspect the last 50 commits (`git log -p`) for added tokens, keys, and credentials (`TG-GIT-001`).
|
|
24
|
+
4. **Audit Tracked Sensitive Files:** Ensure `.env`, private keys, and certificates are not tracked in git tree history (`TG-GIT-003`).
|
|
25
|
+
5. **Report & Revoke:** Provide immediate provider revocation steps and commit log cleanup guidance in `security_report.md`.
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Governed remediation formulation under strict Ponytail Protocol bounds (<= 35 additions, <= 25 deletions) and bundle packaging.
|
|
3
|
-
tools: Read, Grep, Glob, Bash, Write
|
|
4
|
-
version:
|
|
3
|
+
tools: Read, Grep, Glob, Bash, Write, run_command
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
agent: remediator
|
|
6
6
|
lifecycle-phase: Phase 4 (Remediation Formulation)
|
|
7
7
|
required-skills:
|
|
8
8
|
- torusguard-harden
|
|
9
9
|
scripts-binding:
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
10
|
+
- internal/harden/patch.go
|
|
11
|
+
- internal/harden/reflection.go
|
|
12
|
+
- cmd/torusguard/main.go
|
|
13
|
+
- cmd/torusguard/mcp.go
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
# /torusguard harden — Governed Remediation & Bundle Packaging
|
|
@@ -20,31 +20,29 @@ $ARGUMENTS
|
|
|
20
20
|
---
|
|
21
21
|
|
|
22
22
|
## Objective
|
|
23
|
-
|
|
23
|
+
Formulate minimal, surgical code fixes bound by the Ponytail Protocol ($\le 35$ additions, $\le 25$ deletions), packaging unified diffs or semantic reflection patches into auditable remediation bundles ready for review.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Tri-Mode Execution
|
|
28
|
+
|
|
29
|
+
| Mode | Command / Tool | Execution Method |
|
|
30
|
+
| :--- | :--- | :--- |
|
|
31
|
+
| **Mode A: Terminal CLI** | `torusguard harden <candidate.patch \| patch.json>` | Shell validation of patch against Ponytail bounds. |
|
|
32
|
+
| **Mode B: AI Chat Slash** | `/torusguard harden` | Formulate semantic patch with Line-Level Reflection. |
|
|
33
|
+
| **Mode C: Native MCP Tool** | `torusguard_harden` | Automated validation of patch file or `find_snippet` / `replace_snippet`. |
|
|
24
34
|
|
|
25
35
|
---
|
|
26
36
|
|
|
27
37
|
## Mandatory Pre-Flight Context Inspection
|
|
28
38
|
|
|
29
39
|
Inspect finding targets and patch constraints before generating diffs:
|
|
30
|
-
1. **Target Finding (`
|
|
40
|
+
1. **Target Finding (`security_report.md`):** Identify prioritized verified findings.
|
|
31
41
|
2. **Ponytail Protocol:** Enforce hard limit ($\le 35$ additions, $\le 25$ deletions). Ban rewrites.
|
|
32
|
-
3. **Sensitive Path Review:** Flag changes touching `auth/` or
|
|
42
|
+
3. **Sensitive Path Review:** Flag changes touching `auth/` or credentials for explicit sign-off.
|
|
33
43
|
4. **Behavior Preservation:** Ensure patch addresses flaw without breaking public APIs.
|
|
34
44
|
5. **Dry-Run Rule:** Do NOT apply changes to disk during harden; emit bundle for review.
|
|
35
|
-
6. **
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## When to Use /torusguard harden
|
|
40
|
-
|
|
41
|
-
| Trigger Scenario | Recommended Action |
|
|
42
|
-
| :--- | :--- |
|
|
43
|
-
| Formulating minimal patches for verified findings | Run `/torusguard harden` |
|
|
44
|
-
| Packaging a 4-artifact remediation bundle for review | Run `/torusguard harden` |
|
|
45
|
-
| Writing and applying changes to code files | Run `/torusguard apply` |
|
|
46
|
-
| Differentially re-scanning code after patch application | Run `/torusguard recheck` |
|
|
47
|
-
| Discovering new vulnerabilities | Run `/torusguard audit` |
|
|
45
|
+
6. **Zero Bypasses:** Reject `# nosec`, `verify=False`, or `InsecureSkipVerify` under rule `TG-DIFF-001`.
|
|
48
46
|
|
|
49
47
|
---
|
|
50
48
|
|
|
@@ -52,30 +50,15 @@ Inspect finding targets and patch constraints before generating diffs:
|
|
|
52
50
|
- Candidate patches transition findings in `security_report.md` into `CANDIDATE 🟡` status.
|
|
53
51
|
- Every patch strictly conforms to Ponytail bounds (<= 35 additions, <= 25 deletions).
|
|
54
52
|
|
|
55
|
-
## Execution Steps
|
|
56
|
-
|
|
57
|
-
1. **Select Target Finding:** Choose verified flaw from active run directory.
|
|
58
|
-
2. **Examine Live Code Context:** Read surrounding lines (±15) of vulnerable sink.
|
|
59
|
-
3. **Draft Unified Diff:** Formulate minimal fix adhering to Ponytail Protocol limits.
|
|
60
|
-
4. **Audit Patch Safety:** Run `python .torusguard/scripts/diff_guard.py <patch.diff>`.
|
|
61
|
-
5. **Package 4-Artifact Bundle:** Write `patch.diff`, `plan.md`, `verification.md`, `rollback.md` to `.torusguard/runs/<run_id>/remediation/<finding_id>/`.
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## Failure Recovery
|
|
66
|
-
|
|
67
|
-
- **Line Churn Exceeded (>35 add or >25 del):** Decompose patch into smaller sequential sub-fixes.
|
|
68
|
-
- **Sensitive Path Conflict:** Mark bundle with `Requires Sensitive-Path Sign-Off` in `plan.md`.
|
|
69
|
-
- **Finding Not Found:** Ensure finding ID exists in active `findings.md`.
|
|
70
|
-
- **Halt Trigger:** Abort if target source file cannot be read from disk.
|
|
71
|
-
|
|
72
53
|
---
|
|
73
54
|
|
|
74
|
-
##
|
|
55
|
+
## Execution Steps
|
|
75
56
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
57
|
+
1. **Select Target Finding:** Choose verified flaw from `security_report.md`.
|
|
58
|
+
2. **Examine Live Code Context:** Read surrounding lines ($\pm 3$) using bounded context extraction.
|
|
59
|
+
3. **Formulate Minimal Semantic Patch:** Formulate `find_snippet` and `replace_snippet`.
|
|
60
|
+
4. **Audit Patch Safety:** Run `torusguard harden` or call `torusguard_harden`.
|
|
61
|
+
5. **Package Bundle:** Prepare candidate patch ready for the Human Gate.
|
|
79
62
|
|
|
80
63
|
---
|
|
81
64
|
|
|
@@ -84,10 +67,8 @@ Inspect finding targets and patch constraints before generating diffs:
|
|
|
84
67
|
```markdown
|
|
85
68
|
### 🛠️ TorusGuard Remediation Bundle
|
|
86
69
|
- **Finding Target:** `TG-XXX-HASH` ([Vulnerability Name])
|
|
87
|
-
- **File Affected:** `src/path/to/file
|
|
70
|
+
- **File Affected:** `src/path/to/file`
|
|
88
71
|
- **Line Churn:** +[Additions] / -[Deletions] (Ponytail: PASS)
|
|
89
|
-
- **Sensitive Path:** [Yes (Sign-Off Needed) / No (Standard)]
|
|
90
|
-
- **Bundle Path:** `.torusguard/runs/<run_id>/remediation/<finding_id>/`
|
|
91
72
|
- **Status:** READY FOR REVIEW — run `/torusguard apply` to execute
|
|
92
73
|
```
|
|
93
74
|
|
|
@@ -95,5 +76,5 @@ Inspect finding targets and patch constraints before generating diffs:
|
|
|
95
76
|
|
|
96
77
|
## Next Steps
|
|
97
78
|
|
|
98
|
-
1. Review proposed diff
|
|
99
|
-
2. Run `/torusguard apply`
|
|
79
|
+
1. Review proposed diff or semantic reflection snippet.
|
|
80
|
+
2. Run `/torusguard apply` or `torusguard apply` with Human Gate approval.
|