@guava-parity/guard-scanner 16.0.1 → 16.0.2

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/README.md CHANGED
@@ -12,14 +12,14 @@
12
12
  <p align="center">
13
13
  <a href="https://www.npmjs.com/package/@guava-parity/guard-scanner"><img src="https://img.shields.io/npm/v/@guava-parity/guard-scanner?color=cb3837&label=npm" alt="npm" /></a>
14
14
  <a href="https://www.npmjs.com/package/@guava-parity/guard-scanner"><img src="https://img.shields.io/npm/dm/@guava-parity/guard-scanner?color=blue&label=downloads" alt="downloads" /></a>
15
- <a href="#test-results"><img src="https://img.shields.io/badge/tests-363%20passed-brightgreen" alt="tests" /></a>
15
+ <a href="#test-results"><img src="https://img.shields.io/badge/tests-362%20passed-brightgreen" alt="tests" /></a>
16
16
  <a href="https://github.com/koatora20/guard-scanner/actions/workflows/codeql.yml"><img src="https://img.shields.io/badge/CodeQL-enabled-181717" alt="CodeQL" /></a>
17
17
  <a href="https://doi.org/10.5281/zenodo.18906684"><img src="https://img.shields.io/badge/DOI-Zenodo-blue" alt="DOI" /></a>
18
18
  <a href="https://github.com/koatora20/guard-scanner/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT" /></a>
19
19
  </p>
20
20
 
21
21
  <p align="center">
22
- <strong>358</strong> detection patterns · <strong>35</strong> threat categories · <strong>27</strong> runtime checks · <strong>1</strong> dependency (<code>ws</code>)
22
+ <strong>364</strong> detection patterns · <strong>35</strong> threat categories · <strong>27</strong> runtime checks · <strong>1</strong> dependency (<code>ws</code>)
23
23
  </p>
24
24
 
25
25
  ---
@@ -153,7 +153,7 @@ Every v16 finding can now carry `layer`, `layer_name`, `owasp_asi`, and `protoco
153
153
  | 4. Behavioral Analysis | No-research execution, hallucination-driven actions |
154
154
  | 5. Trust Exploitation | Authority claim attacks, creator impersonation |
155
155
 
156
- **27 runtime checks** across 5 layers. Public compatibility is pinned to OpenClaw `v2026.3.8` for manifest/discovery/`before_tool_call`; newer upstream releases are tracked separately by the upstream drift watchdog.
156
+ **27 runtime checks** across 5 layers. Validated stable target: OpenClaw `v2026.3.13`. Regression baseline: `v2026.3.8` for manifest/discovery/`before_tool_call`.
157
157
 
158
158
  Modes: `monitor` (log only) · `enforce` (block CRITICAL, default) · `strict` (block HIGH+)
159
159
 
@@ -247,13 +247,13 @@ Evidence artifacts:
247
247
  ## Test Results
248
248
 
249
249
  ```
250
- ℹ tests 363
251
- ℹ suites 94
252
- ℹ pass 363
250
+ ℹ tests 362
251
+ ℹ suites 38
252
+ ℹ pass 362
253
253
  ℹ fail 0
254
254
  ```
255
255
 
256
- 28 test files. Run `npm test` to reproduce. 100% pass rate on [benchmark corpus](docs/data/corpus-metrics.json).
256
+ 38 test files. Run `npm test` to reproduce. 100% pass rate on [benchmark corpus](docs/data/corpus-metrics.json).
257
257
 
258
258
  ---
259
259
 
package/README_ja.md CHANGED
@@ -12,14 +12,14 @@
12
12
  <p align="center">
13
13
  <a href="https://www.npmjs.com/package/@guava-parity/guard-scanner"><img src="https://img.shields.io/npm/v/@guava-parity/guard-scanner?color=cb3837&label=npm" alt="npm" /></a>
14
14
  <a href="https://www.npmjs.com/package/@guava-parity/guard-scanner"><img src="https://img.shields.io/npm/dm/@guava-parity/guard-scanner?color=blue&label=downloads" alt="downloads" /></a>
15
- <a href="#テスト結果"><img src="https://img.shields.io/badge/テスト-363_passed-brightgreen" alt="tests" /></a>
15
+ <a href="#テスト結果"><img src="https://img.shields.io/badge/テスト-362_passed-brightgreen" alt="tests" /></a>
16
16
  <a href="https://github.com/koatora20/guard-scanner/actions/workflows/codeql.yml"><img src="https://img.shields.io/badge/CodeQL-有効-181717" alt="CodeQL" /></a>
17
17
  <a href="https://doi.org/10.5281/zenodo.18906684"><img src="https://img.shields.io/badge/DOI-Zenodo-blue" alt="DOI" /></a>
18
18
  <a href="https://github.com/koatora20/guard-scanner/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT" /></a>
19
19
  </p>
20
20
 
21
21
  <p align="center">
22
- <strong>358</strong> 検出パターン · <strong>35</strong> 脅威カテゴリ · <strong>27</strong> ランタイムチェック · 依存: <strong>1</strong> (<code>ws</code> のみ)
22
+ <strong>364</strong> 検出パターン · <strong>35</strong> 脅威カテゴリ · <strong>27</strong> ランタイムチェック · 依存: <strong>1</strong> (<code>ws</code> のみ)
23
23
  </p>
24
24
 
25
25
  <p align="center">
@@ -157,7 +157,7 @@ v16 の JSON / MCP 出力では各 finding に `layer`, `layer_name`, `owasp_asi
157
157
  | 4. 行動分析 | リサーチ未実施での実行、ハルシネーション駆動アクション |
158
158
  | 5. 信頼搾取 | 権限主張攻撃、作成者なりすまし |
159
159
 
160
- **27のランタイムチェック**を5層で実行。公開互換の保証面は OpenClaw `v2026.3.8` manifest/discovery/`before_tool_call` に固定し、新しい upstream は drift watchdog で別途追跡する。
160
+ **27のランタイムチェック**を5層で実行。検証済みの安定ターゲットは OpenClaw `v2026.3.13`、回帰ベースラインは manifest/discovery/`before_tool_call` `v2026.3.8`。
161
161
 
162
162
  モード: `monitor`(ログのみ)· `enforce`(CRITICAL をブロック、デフォルト)· `strict`(HIGH+をブロック)
163
163
 
@@ -229,13 +229,13 @@ MCPサーバーとして実行時に公開されるツール:
229
229
  ## テスト結果
230
230
 
231
231
  ```
232
- ℹ tests 363
233
- ℹ suites 94
234
- ℹ pass 363
232
+ ℹ tests 362
233
+ ℹ suites 38
234
+ ℹ pass 362
235
235
  ℹ fail 0
236
236
  ```
237
237
 
238
- テストファイル28件。`npm test` で再現可能。[ベンチマークコーパス](docs/data/corpus-metrics.json) 100%パス。
238
+ テストファイル38件。`npm test` で再現可能。[ベンチマークコーパス](docs/data/corpus-metrics.json) 100%パス。
239
239
 
240
240
  ---
241
241
 
package/SECURITY.md CHANGED
@@ -14,14 +14,14 @@ We will respond within 48 hours and provide a fix within 7 days for critical iss
14
14
 
15
15
  | Version | Status |
16
16
  |---------|--------|
17
- | Latest major (`14.x`) | ✅ Supported |
17
+ | Latest major (`16.x`) | ✅ Supported |
18
18
  | Older releases | ⚠️ Best effort only |
19
19
 
20
20
  ## Scope
21
21
 
22
22
  guard-scanner is a **static analysis tool** — it reads files but never executes them. It does not:
23
23
  - Execute any code from scanned skills
24
- - Make network requests
24
+ - Make network requests (except optional VirusTotal integration)
25
25
  - Modify any files in the scan directory
26
26
  - Require elevated privileges
27
27
 
@@ -29,7 +29,7 @@ The only files guard-scanner writes are output reports (`--json`, `--sarif`, `--
29
29
 
30
30
  ## Supply Chain Security
31
31
 
32
- guard-scanner itself keeps runtime dependencies intentionally small. As of `14.0.0`, it ships with **one runtime dependency** (`ws`) to support the MCP server.
32
+ guard-scanner itself keeps runtime dependencies intentionally small. As of `16.0.1`, it ships with **one runtime dependency** (`ws`) to support the MCP server.
33
33
 
34
34
  - Small runtime surface area
35
35
  - No `postinstall` scripts
@@ -38,16 +38,16 @@ guard-scanner itself keeps runtime dependencies intentionally small. As of `14.0
38
38
 
39
39
  ## Pattern Updates
40
40
 
41
- The threat pattern database (`src/patterns.js`) and IoC database (`src/ioc-db.js`) are updated based on:
41
+ The threat pattern database (`src/patterns.ts`) and IoC database (`src/ioc-db.ts`) are updated based on:
42
42
  - Snyk ToxicSkills taxonomy
43
- - OWASP MCP Top 10
43
+ - OWASP LLM Top 10 & Agentic Security Top 10
44
44
  - CVE reports affecting AI agents
45
45
  - Community-reported incidents
46
46
  - Original research from real-world attacks
47
47
 
48
48
  ## Responsible Disclosure
49
49
 
50
- The test fixtures in `test/fixtures/malicious-skill/` contain **intentionally malicious patterns** for testing purposes. These files are:
50
+ The test fixtures in `tests/fixtures/malicious-skill/` contain **intentionally malicious patterns** for testing purposes. These files are:
51
51
  - Clearly marked as test fixtures
52
52
  - Non-functional (will error if executed)
53
53
  - Necessary for validating detection capabilities
package/SKILL.md CHANGED
@@ -1,13 +1,15 @@
1
1
  ---
2
2
  name: guard-scanner
3
- description: "Security scanner and runtime guard for AI agent skills. 358 static threat patterns across 35 categories + 27 runtime checks, with v16 5-layer analysis output (`layer`, `layer_name`, `owasp_asi`, `protocol_surface`) and `--compliance owasp-asi`. Use when scanning skill directories for security threats, auditing npm/GitHub/ClawHub assets for leaked credentials, running real-time file watch during development, integrating security checks into CI/CD pipelines (SARIF/JSON), setting up MCP server for editor-integrated scanning (Cursor, Windsurf, Claude Code, OpenClaw), or runtime guarding tool calls via the OpenClaw v2026.3.8 before_tool_call compatibility surface. Single dependency (ws). MIT licensed."
3
+ description: "Security scanner and runtime guard for OpenClaw skills, MCP servers, and AI agent workflows. Detects prompt injection, identity hijacking, memory poisoning, A2A contagion, secret leaks, supply-chain abuse, and dangerous tool calls with 364 static threat patterns across 35 threat categories plus 27 runtime checks. Use when reviewing a new skill before install, scanning a workspace in CI/CD (SARIF/JSON/HTML), auditing npm/GitHub/ClawHub assets for leaked credentials, running watch mode during development, exposing scanner tools over MCP for Cursor/Windsurf/Claude Code/OpenClaw, or enforcing before_tool_call policy in OpenClaw. v16 adds 5-layer analysis output (`layer`, `layer_name`, `owasp_asi`, `protocol_surface`) and `--compliance owasp-asi`. MIT licensed; single runtime dependency (`ws`)."
4
4
  license: MIT
5
5
  metadata: {"openclaw": {"requires": {"bins": ["node"]}}}
6
6
  ---
7
7
 
8
8
  # guard-scanner
9
9
 
10
- Scan AI agent skills for 35 categories of threats. v16 adds a 5-layer analysis pipeline, OWASP ASI projection mode, richer finding metadata, and Rust runtime evidence integration on top of the existing prompt injection, identity hijacking, memory poisoning, MCP poisoning, and supply chain coverage.
10
+ Security scanner and runtime guard for the agentic stack. Use it before installing a skill from ClawHub, when auditing MCP servers or OpenClaw workspaces, when wiring security checks into CI/CD, or when you want OpenClaw to block dangerous tool calls at runtime.
11
+
12
+ It covers prompt injection, identity hijacking, memory poisoning, A2A contagion, MCP abuse, secret leakage, supply-chain abuse, and dangerous execution patterns. v16 adds a 5-layer analysis pipeline, OWASP ASI projection mode, richer finding metadata, and Rust runtime evidence integration.
11
13
 
12
14
  ## Quick Start
13
15
 
@@ -79,7 +81,7 @@ MCP tools: `scan_skill`, `scan_text`, `check_tool_call`, `audit_assets`, `get_st
79
81
 
80
82
  Public quality contract:
81
83
 
82
- - Benchmark corpus version: `2026-03-13.quality-v1`
84
+ - Benchmark corpus version: `2026-03-15.quality-v17`
83
85
  - Precision target: `>= 0.90`
84
86
  - Recall target: `>= 0.90`
85
87
  - FPR/FNR budgets: `<= 0.10`
@@ -112,7 +114,7 @@ guard-scanner scan ./skills/ --vt-scan
112
114
 
113
115
  ## Runtime Guard
114
116
 
115
- The validated OpenClaw surface is the compiled runtime plugin entry (`dist/openclaw-plugin.mjs`) discovered through `package.json > openclaw.extensions` and mounted on `before_tool_call` for OpenClaw `v2026.3.8`. Newer upstream releases are measured by the drift watchdog before any public compatibility claim is widened.
117
+ The validated OpenClaw surface is the compiled runtime plugin entry (`dist/openclaw-plugin.mjs`) discovered through `package.json > openclaw.extensions` and mounted on `before_tool_call` for OpenClaw `v2026.3.13`, with regression coverage kept on `v2026.3.8`.
116
118
 
117
119
  The `before_tool_call` hook provides 27 runtime checks across 5 defense layers, while v16 scan output adds a second 5-layer analysis view:
118
120
 
@@ -175,7 +177,7 @@ guard-scanner ./skills/ --plugin ./my-plugin.js
175
177
 
176
178
  ## Threat Categories
177
179
 
178
- 35 categories covering OWASP LLM Top 10 + Agentic Security Top 10. See `src/patterns.js` for the full pattern database. Key categories:
180
+ 35 categories covering OWASP LLM Top 10 + Agentic Security Top 10. See `src/patterns.ts` for the full pattern database. Key categories:
179
181
 
180
182
  - **Prompt Injection** — hidden instructions, invisible Unicode, homoglyphs
181
183
  - **Identity Hijacking** ⚿ — persona swap, SOUL.md overwrites, memory wipe