@guava-parity/guard-scanner 13.0.0 → 16.0.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.
Files changed (96) hide show
  1. package/README.md +170 -215
  2. package/README_ja.md +252 -0
  3. package/SECURITY.md +12 -4
  4. package/SKILL.md +148 -57
  5. package/dist/cli.cjs +5997 -0
  6. package/dist/cli.d.mts +1 -0
  7. package/dist/cli.d.ts +1 -0
  8. package/dist/cli.mjs +6003 -0
  9. package/dist/index.cjs +4825 -0
  10. package/dist/index.d.mts +17 -0
  11. package/dist/index.d.ts +17 -0
  12. package/dist/index.mjs +4798 -0
  13. package/dist/mcp-server.cjs +4756 -0
  14. package/dist/mcp-server.d.mts +1 -0
  15. package/dist/mcp-server.d.ts +1 -0
  16. package/dist/mcp-server.mjs +4767 -0
  17. package/dist/openclaw-plugin.cjs +4863 -0
  18. package/dist/openclaw-plugin.d.mts +11 -0
  19. package/dist/openclaw-plugin.d.ts +11 -0
  20. package/dist/openclaw-plugin.mjs +4854 -0
  21. package/dist/types.cjs +18 -0
  22. package/dist/types.d.mts +215 -0
  23. package/dist/types.d.ts +215 -0
  24. package/dist/types.mjs +1 -0
  25. package/docs/EVIDENCE_DRIVEN.md +182 -0
  26. package/docs/banner.png +0 -0
  27. package/docs/data/benchmark-ledger.json +1428 -0
  28. package/docs/data/corpus-metrics.json +11 -0
  29. package/docs/data/fp-ledger.json +18 -0
  30. package/docs/data/latest.json +25837 -2481
  31. package/docs/data/quality-contract.json +36 -0
  32. package/docs/generated/npm-audit-20260312.json +96 -0
  33. package/docs/generated/openclaw-upstream-status.json +25 -0
  34. package/docs/glossary.md +46 -0
  35. package/docs/index.html +1085 -496
  36. package/docs/logo.png +0 -0
  37. package/docs/openclaw-compatibility-audit.md +45 -0
  38. package/docs/openclaw-continuous-compatibility-plan.md +37 -0
  39. package/docs/rules/a2a-contagion.md +68 -0
  40. package/docs/rules/advanced-exfil.md +52 -0
  41. package/docs/rules/agent-protocol.md +108 -0
  42. package/docs/rules/api-abuse.md +68 -0
  43. package/docs/rules/autonomous-risk.md +92 -0
  44. package/docs/rules/config-impact.md +132 -0
  45. package/docs/rules/credential-handling.md +100 -0
  46. package/docs/rules/cve-patterns.md +332 -0
  47. package/docs/rules/data-exposure.md +84 -0
  48. package/docs/rules/exfiltration.md +36 -0
  49. package/docs/rules/financial-access.md +84 -0
  50. package/docs/rules/identity-hijack.md +140 -0
  51. package/docs/rules/inference-manipulation.md +60 -0
  52. package/docs/rules/leaky-skills.md +52 -0
  53. package/docs/rules/malicious-code.md +108 -0
  54. package/docs/rules/mcp-security.md +148 -0
  55. package/docs/rules/memory-poisoning.md +84 -0
  56. package/docs/rules/model-poisoning.md +44 -0
  57. package/docs/rules/obfuscation.md +60 -0
  58. package/docs/rules/persistence.md +108 -0
  59. package/docs/rules/pii-exposure.md +116 -0
  60. package/docs/rules/prompt-injection.md +148 -0
  61. package/docs/rules/prompt-worm.md +44 -0
  62. package/docs/rules/safeguard-bypass.md +44 -0
  63. package/docs/rules/sandbox-escape.md +100 -0
  64. package/docs/rules/secret-detection.md +44 -0
  65. package/docs/rules/supply-chain-v2.md +92 -0
  66. package/docs/rules/suspicious-download.md +60 -0
  67. package/docs/rules/trust-boundary.md +76 -0
  68. package/docs/rules/trust-exploitation.md +92 -0
  69. package/docs/rules/unverifiable-deps.md +84 -0
  70. package/docs/rules/vdb-injection.md +84 -0
  71. package/docs/security-vulnerability-report-20260312.md +53 -0
  72. package/docs/spec/PRD_V2_ARCHITECTURE.md +55 -0
  73. package/docs/spec/capabilities.json +174 -0
  74. package/docs/spec/finding.schema.json +104 -0
  75. package/docs/spec/integration-manifest.md +39 -0
  76. package/docs/spec/plugin-trust.json +11 -0
  77. package/docs/spec/sbom.json +33 -0
  78. package/docs/threat-model.md +65 -0
  79. package/docs/v13-architecture-manifest.md +55 -0
  80. package/hooks/context.ts +306 -0
  81. package/hooks/guard-scanner/plugin.ts +24 -1
  82. package/openclaw-plugin.mts +107 -0
  83. package/openclaw.plugin.json +30 -53
  84. package/package.json +66 -13
  85. package/src/asset-auditor.js +0 -508
  86. package/src/ci-reporter.js +0 -135
  87. package/src/cli.js +0 -294
  88. package/src/html-template.js +0 -239
  89. package/src/ioc-db.js +0 -54
  90. package/src/mcp-server.js +0 -702
  91. package/src/patterns.js +0 -611
  92. package/src/quarantine.js +0 -41
  93. package/src/runtime-guard.js +0 -346
  94. package/src/scanner.js +0 -1157
  95. package/src/vt-client.js +0 -202
  96. package/src/watcher.js +0 -170
@@ -0,0 +1,36 @@
1
+ {
2
+ "contract_version": "2026-03-13.quality-v1",
3
+ "benchmark_version": "2026-03-13.quality-v1",
4
+ "quality_targets": {
5
+ "precision_min": 0.9,
6
+ "recall_min": 0.9,
7
+ "false_positive_rate_max": 0.1,
8
+ "false_negative_rate_max": 0.1,
9
+ "explainability_completeness_rate_min": 1,
10
+ "runtime_check_latency_budget_ms": 5,
11
+ "false_positive_budget_by_category": {
12
+ "prompt-injection": 0.05,
13
+ "runtime-policy": 0.02,
14
+ "secret-detection": 0.08,
15
+ "supply-chain": 0.05,
16
+ "memory-poisoning": 0.03
17
+ }
18
+ },
19
+ "layers": [
20
+ {
21
+ "id": "layer_a",
22
+ "corpus": "test/fixtures/corpus/security-corpus.json",
23
+ "scanner_options": {}
24
+ },
25
+ {
26
+ "id": "layer_b",
27
+ "corpus": "test/fixtures/corpus/adversarial-corpus.json",
28
+ "scanner_options": {}
29
+ },
30
+ {
31
+ "id": "layer_c",
32
+ "corpus": "test/fixtures/corpus/ecosystem-corpus.json",
33
+ "scanner_options": {}
34
+ }
35
+ ]
36
+ }
@@ -0,0 +1,96 @@
1
+ {
2
+ "auditReportVersion": 2,
3
+ "vulnerabilities": {
4
+ "@buape/carbon": {
5
+ "name": "@buape/carbon",
6
+ "severity": "high",
7
+ "isDirect": false,
8
+ "via": [
9
+ "@hono/node-server"
10
+ ],
11
+ "effects": [
12
+ "openclaw"
13
+ ],
14
+ "range": "<=0.0.0-beta-20260306233624 || >=0.6.0",
15
+ "nodes": [
16
+ "node_modules/@buape/carbon"
17
+ ],
18
+ "fixAvailable": {
19
+ "name": "openclaw",
20
+ "version": "0.0.1",
21
+ "isSemVerMajor": true
22
+ }
23
+ },
24
+ "@hono/node-server": {
25
+ "name": "@hono/node-server",
26
+ "severity": "high",
27
+ "isDirect": false,
28
+ "via": [
29
+ {
30
+ "source": 1114170,
31
+ "name": "@hono/node-server",
32
+ "dependency": "@hono/node-server",
33
+ "title": "@hono/node-server has authorization bypass for protected static paths via encoded slashes in Serve Static Middleware",
34
+ "url": "https://github.com/advisories/GHSA-wc8c-qw6v-h7f6",
35
+ "severity": "high",
36
+ "cwe": [
37
+ "CWE-863"
38
+ ],
39
+ "cvss": {
40
+ "score": 7.5,
41
+ "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
42
+ },
43
+ "range": "<1.19.10"
44
+ }
45
+ ],
46
+ "effects": [
47
+ "@buape/carbon"
48
+ ],
49
+ "range": "<1.19.10",
50
+ "nodes": [
51
+ "node_modules/@hono/node-server"
52
+ ],
53
+ "fixAvailable": {
54
+ "name": "openclaw",
55
+ "version": "0.0.1",
56
+ "isSemVerMajor": true
57
+ }
58
+ },
59
+ "openclaw": {
60
+ "name": "openclaw",
61
+ "severity": "high",
62
+ "isDirect": true,
63
+ "via": [
64
+ "@buape/carbon"
65
+ ],
66
+ "effects": [],
67
+ "range": ">=2026.1.29-beta.1",
68
+ "nodes": [
69
+ "node_modules/openclaw"
70
+ ],
71
+ "fixAvailable": {
72
+ "name": "openclaw",
73
+ "version": "0.0.1",
74
+ "isSemVerMajor": true
75
+ }
76
+ }
77
+ },
78
+ "metadata": {
79
+ "vulnerabilities": {
80
+ "info": 0,
81
+ "low": 0,
82
+ "moderate": 0,
83
+ "high": 3,
84
+ "critical": 0,
85
+ "total": 3
86
+ },
87
+ "dependencies": {
88
+ "prod": 2,
89
+ "dev": 741,
90
+ "optional": 109,
91
+ "peer": 126,
92
+ "peerOptional": 0,
93
+ "total": 742
94
+ }
95
+ }
96
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "checkedAt": "2026-03-13T13:54:07.403Z",
3
+ "pinnedVersion": "2026.3.12",
4
+ "latestVersion": "2026.3.12",
5
+ "latestPublishedAt": "2026-03-13T04:13:28.358Z",
6
+ "registryModifiedAt": "2026-03-13T04:29:39.807Z",
7
+ "githubLatestVersion": "2026.3.12",
8
+ "githubPublishedAt": "2026-03-13T04:26:46Z",
9
+ "githubUrl": "https://github.com/openclaw/openclaw/releases/tag/v2026.3.12",
10
+ "sourceParity": {
11
+ "npmLatestVersion": "2026.3.12",
12
+ "githubLatestVersion": "2026.3.12",
13
+ "inParity": true
14
+ },
15
+ "source": "npm",
16
+ "status": {
17
+ "pinnedVersion": "2026.3.12",
18
+ "latestVersion": "2026.3.12",
19
+ "latestPublishedAt": "2026-03-13T04:13:28.358Z",
20
+ "source": "npm",
21
+ "upToDate": true,
22
+ "ahead": false,
23
+ "behind": false
24
+ }
25
+ }
@@ -0,0 +1,46 @@
1
+ # Guard-Scanner Glossary
2
+
3
+ Security terms used in guard-scanner, with standard equivalents.
4
+
5
+ ## Agent-Native Terms
6
+
7
+ | Term | Standard Equivalent | Description |
8
+ |------|---------------------|-------------|
9
+ | SOUL.md | Identity / persistent-memory control file | A configuration file that defines an AI agent's persistent behavior, personality, and rules. Overwriting it can hijack the agent's identity. |
10
+ | ClawHavoc | Agent skill supply-chain attack | An attack vector where malicious packages in a skill marketplace (e.g., ClawHub, npm) target AI agents, similar to typosquatting in package managers. |
11
+ | ZombieAgent | Persistent rogue agent | An agent process that persists beyond its intended lifecycle, maintaining unauthorized access or executing hidden tasks. |
12
+ | Soul Hijack | Agent identity takeover | An attack that overwrites an agent's identity file to change its behavior, bypass safety rules, or impersonate another agent. |
13
+ | Moltbook | Third-party agent marketplace (ClawHub/npm) | External skill registries where users can discover and install agent capabilities. These are supply-chain attack surfaces. |
14
+ | GuavaSuite | Agent runtime ecosystem | The full stack of tools, memory layers, and security infrastructure used by the Guava AI agent. |
15
+
16
+ ## Threat Categories (OWASP-Aligned)
17
+
18
+ | Category ID | Description | OWASP Mapping |
19
+ |-------------|-------------|---------------|
20
+ | prompt-injection | Attempts to override system instructions | ASI01 — Agent Goal Hijack |
21
+ | reverse-shell | Remote shell access attempts | ASI05 — Remote Code Execution |
22
+ | data-exfiltration | Unauthorized data transfer to external servers | ASI05 — RCE / ASI04 — Supply Chain |
23
+ | social-engineering | Trust exploitation and human manipulation | ASI09 — Human-Trust Exploitation |
24
+ | malicious-code | Known malicious patterns (eval, exec, etc.) | ASI05 — RCE |
25
+ | soul-lock | Identity file tampering attempts | ASI03 — Identity Abuse |
26
+ | memory-poisoning | Attempts to corrupt agent memory/context | ASI06 — Memory Poisoning |
27
+ | tool-shadowing | MCP tool description containing hidden instructions | ASI02 — Tool Misuse |
28
+ | context-crush | Prompt overstuffing to push instructions out of context | ASI01 — Agent Goal Hijack |
29
+
30
+ ## Severity Levels
31
+
32
+ | Level | Risk Weight | Meaning |
33
+ |-------|------------|---------|
34
+ | CRITICAL | 40 | Immediate threat — active exploitation attempt |
35
+ | HIGH | 15 | Dangerous pattern — likely malicious |
36
+ | MEDIUM | 5 | Suspicious pattern — needs review |
37
+ | LOW | 2 | Informational — minor concern |
38
+
39
+ ## Verdicts
40
+
41
+ | Verdict | Risk Range | Action |
42
+ |---------|-----------|--------|
43
+ | CLEAN | 0 | No threats detected |
44
+ | SAFE | 1-19 | Low risk, safe to use |
45
+ | SUSPICIOUS | 20-79 | Review recommended |
46
+ | MALICIOUS | 80+ | Block / quarantine |