@primitivehub/mcp-server 0.1.2 → 0.1.4

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/CHANGELOG.md CHANGED
@@ -6,19 +6,35 @@ Version tracks Trust Contract spec version (for `verify_bundle`) and
6
6
  Context CI Top 10 version (for `scan_text` / `audit_workspace`);
7
7
  `0.1.x` of this package is conformant to both v0.1.
8
8
 
9
- ## [0.1.2] — 2026-10-05
10
-
11
- **Security (Critical) — forged Trust Bundle, reported 2026-09-30.** Fail
12
- closed on unauthenticated bundles. Depends on `@primitivehub/phub@^0.1.2`
13
- and `@primitivehub/verify@^0.1.1`.
14
-
15
- ### Security
16
- - `verify_bundle` → `isError:true` + `authenticated:false` +
17
- `trust:"INSPECTED_NOT_AUTHENTICATED"` for any bundle that isn't
18
- cryptographically authenticated (every bundle, in v0.1).
19
- - `verify_before_load` → a supplied, unauthenticated bundle now **BLOCKS**
20
- (`BUNDLE_UNAUTHENTICATED`); it can never make a load `safe`.
21
- - Supersedes `@primitivehub/mcp-server@0.1.0`, **deprecated**.
9
+ ## [0.1.4] — 2026-10-16
10
+
11
+ **Security hardening (adversarial red-team, 2026-10-16).** Requires
12
+ `@primitivehub/phub@^0.1.4` + `@primitivehub/verify@^0.1.2`.
13
+
14
+ ### Fixed
15
+ - **R14 — `scan_text` fail-safe on unknown detector.** An unknown
16
+ `detectors` id previously ran zero detectors and returned a clean,
17
+ non-error result. The tool now surfaces `UnknownDetectorError` as
18
+ `isError` instead of reporting a zero-detector scan as clean.
19
+
20
+ ### Changed
21
+ - Inherits phub@0.1.4's red-team fixes end-to-end: `verify_before_load`
22
+ carries the new posture-tier `PATH_UNASSESSED` reason (R05) and the
23
+ hardened `--require-attestation` semantics (R01); `audit_workspace`
24
+ inherits the truncated-audit fail-closed behavior (R04).
25
+
26
+ ## [0.1.3] — 2026-10-16
27
+
28
+ **Security hardening (external assessment PH-SEC-003).** Requires
29
+ `@primitivehub/phub@^0.1.3` + `@primitivehub/verify@^0.1.2`.
30
+
31
+ ### Changed
32
+ - **Honest scope for `verify_before_load` (PH-SEC-003):** documented as an
33
+ **opt-in verification API** — registering the MCP server does NOT
34
+ interpose on agent file reads; real enforcement needs the host to mediate
35
+ reads. Removed the "every agent MUST consult before reading" over-claim.
36
+ - Inherits verify's fail-closed `valid` + the `inspected` field; the
37
+ `scan_text` doc now states all ten detectors (CCI-001…010) run.
22
38
 
23
39
  ## [0.1.1] — 2026-10-04
24
40
 
package/README.md CHANGED
@@ -110,8 +110,8 @@ stubbed in v0.1 (see verify README).
110
110
 
111
111
  ### `scan_text`
112
112
 
113
- Run the v0.1 detector roster (T1/T2/T5) against text. Wraps phub's
114
- `runScan`.
113
+ Run the full Context CI Top 10 detector roster (CCI-001…010) against
114
+ text. Wraps phub's `runScan`.
115
115
 
116
116
  **Arguments:**
117
117
 
@@ -171,6 +171,14 @@ the low-FP signal, not just the boolean. Same engine as the `phub
171
171
  verify-before-load` CLI command and the `phub-scan` action's `mode:
172
172
  gate`.
173
173
 
174
+ > **Scope — opt-in, not enforced (PH-SEC-003).** Registering this MCP
175
+ > server exposes `verify_before_load` as a tool an agent *can* call; it
176
+ > does **not** interpose on the agent's file reads. A host or loader can
177
+ > still read content without invoking the gate. Treat this as an **opt-in
178
+ > verification API**: real "no untrusted bytes reach the model"
179
+ > enforcement requires the host to route reads through the gate. Our docs
180
+ > describe the *capability*, not a guarantee the host enforces it.
181
+
174
182
  **Arguments:**
175
183
 
176
184
  | Field | Type | Required | Default |
@@ -1 +1 @@
1
- {"version":3,"file":"scan-text.d.ts","sourceRoot":"","sources":["../../src/tools/scan-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCjB,CAAA;AAWV,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,GACf;IAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA6CrD"}
1
+ {"version":3,"file":"scan-text.d.ts","sourceRoot":"","sources":["../../src/tools/scan-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCjB,CAAA;AAWV,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,GACf;IAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAuDrD"}
@@ -9,7 +9,7 @@
9
9
  * the tool returns the post-policy verdicts. The agent decides what
10
10
  * to do with the result.
11
11
  */
12
- import { runScan } from "@primitivehub/phub";
12
+ import { runScan, UnknownDetectorError } from "@primitivehub/phub";
13
13
  export const SCAN_TEXT_TOOL = {
14
14
  name: "scan_text",
15
15
  description: "Run the PrimitiveHub Context CI Top 10 v0.1 detectors (T1 prompt-injection, T2 Unicode-steganography, T5 unsafe-shell-install) against a string. Pure-local scan; no network. Returns per-detector verdicts, post-policy. Use this BEFORE loading any agent-context content from an untrusted source.",
@@ -63,7 +63,18 @@ export function callScanText(rawArgs) {
63
63
  if (args.policy_path !== undefined) {
64
64
  scanOpts.policyPath = args.policy_path;
65
65
  }
66
- const result = runScan(filename, args.content, scanOpts);
66
+ // SECURITY (R14): an unknown detector id must NOT yield an empty, clean-
67
+ // looking scan. Fail safe with isError instead of reporting zero verdicts.
68
+ let result;
69
+ try {
70
+ result = runScan(filename, args.content, scanOpts);
71
+ }
72
+ catch (err) {
73
+ if (err instanceof UnknownDetectorError) {
74
+ return errorResponse(`${err.message} — refusing to report a zero-detector scan as clean`);
75
+ }
76
+ throw err;
77
+ }
67
78
  const summary = result.evaluation.summary;
68
79
  const allowed = result.evaluation.adjusted.flatMap((a) => a.allowedHints.map((ah) => ({
69
80
  cciId: a.verdict.cciId,
@@ -1 +1 @@
1
- {"version":3,"file":"scan-text.js","sourceRoot":"","sources":["../../src/tools/scan-text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan-text.js","sourceRoot":"","sources":["../../src/tools/scan-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAoB,MAAM,oBAAoB,CAAA;AAEpF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,WAAW;IACjB,WAAW,EACT,uSAAuS;IACzS,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iGAAiG;aAC/G;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,oHAAoH;aACvH;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EACT,kJAAkJ;aACrJ;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,uDAAuD;aACrE;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,sIAAsI;aACzI;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EACT,sHAAsH;aACzH;SACF;KACF;CACO,CAAA;AAgBV,MAAM,UAAU,YAAY,CAC1B,OAAgB;IAEhB,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAiB,CAAA;IAE5C,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,aAAa,CAAC,uCAAuC,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAA;IAC5C,MAAM,QAAQ,GAAgB;QAC5B,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;QAC5B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;KACjC,CAAA;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAA;IACxC,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,IAAI,MAAM,CAAA;IACV,IAAI,CAAC;QACH,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;YACxC,OAAO,aAAa,CAAC,GAAG,GAAG,CAAC,OAAO,qDAAqD,CAAC,CAAA;QAC3F,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAA;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK;QACtB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI;QAClB,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO;QACxB,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS;QAC5B,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM;KAC7B,CAAC,CAAC,CACJ,CAAA;IAED,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,aAAa,EAAE,OAAO;QACtB,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAA;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,EAAE,MAAM,CAAC,QAAQ,KAAK,CAAC;KAC/B,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO,EAAE,IAAI;KACd,CAAA;AACH,CAAC"}
@@ -1,15 +1,24 @@
1
1
  /**
2
2
  * MCP tool: `verify_before_load`
3
3
  *
4
- * The composite runtime gate. Per ADR-0029, every agent runtime that
5
- * loads agent-context primitives MUST consult this tool before reading
6
- * the content. Refuses-by-default for:
4
+ * The composite runtime gate — an OPT-IN verification API. An agent (or a
5
+ * host integration) SHOULD call this BEFORE loading any agent-context
6
+ * primitive.
7
+ *
8
+ * IMPORTANT (PH-SEC-003 — honest scope): calling this is ADVISORY, not
9
+ * enforced. Registering the MCP server does NOT interpose on the agent's
10
+ * file reads — nothing prevents a loader from reading content without
11
+ * calling the gate. Real enforcement requires the HOST to mediate reads
12
+ * through this check; until then this is an opt-in check, not a
13
+ * compulsory read-interceptor.
14
+ *
15
+ * Refuses-by-default for:
7
16
  * - missing lock (operator hasn't sealed anything)
8
17
  * - lock spec-version mismatch (Top 10 ratcheted; re-seal required)
9
18
  * - drift (working tree differs from lock)
10
19
  * - unattested artifacts (with requireAttestation set)
11
- * - scanner findings (T1/T2/T5 at v0.1)
12
- * - invalid Trust Bundle (when one is provided)
20
+ * - scanner findings (all ten Context CI Top 10 detectors, CCI-001…010)
21
+ * - an unauthenticated or invalid Trust Bundle (when one is provided)
13
22
  *
14
23
  * Pure transport per ADR-0031 § 2 rule #1. Combines two existing
15
24
  * primitives:
@@ -1 +1 @@
1
- {"version":3,"file":"verify-before-load.d.ts","sourceRoot":"","sources":["../../src/tools/verify-before-load.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAWH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4C1B,CAAA;AAYV,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAsGtE"}
1
+ {"version":3,"file":"verify-before-load.d.ts","sourceRoot":"","sources":["../../src/tools/verify-before-load.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAWH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4C1B,CAAA;AAYV,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAsGtE"}
@@ -1,15 +1,24 @@
1
1
  /**
2
2
  * MCP tool: `verify_before_load`
3
3
  *
4
- * The composite runtime gate. Per ADR-0029, every agent runtime that
5
- * loads agent-context primitives MUST consult this tool before reading
6
- * the content. Refuses-by-default for:
4
+ * The composite runtime gate — an OPT-IN verification API. An agent (or a
5
+ * host integration) SHOULD call this BEFORE loading any agent-context
6
+ * primitive.
7
+ *
8
+ * IMPORTANT (PH-SEC-003 — honest scope): calling this is ADVISORY, not
9
+ * enforced. Registering the MCP server does NOT interpose on the agent's
10
+ * file reads — nothing prevents a loader from reading content without
11
+ * calling the gate. Real enforcement requires the HOST to mediate reads
12
+ * through this check; until then this is an opt-in check, not a
13
+ * compulsory read-interceptor.
14
+ *
15
+ * Refuses-by-default for:
7
16
  * - missing lock (operator hasn't sealed anything)
8
17
  * - lock spec-version mismatch (Top 10 ratcheted; re-seal required)
9
18
  * - drift (working tree differs from lock)
10
19
  * - unattested artifacts (with requireAttestation set)
11
- * - scanner findings (T1/T2/T5 at v0.1)
12
- * - invalid Trust Bundle (when one is provided)
20
+ * - scanner findings (all ten Context CI Top 10 detectors, CCI-001…010)
21
+ * - an unauthenticated or invalid Trust Bundle (when one is provided)
13
22
  *
14
23
  * Pure transport per ADR-0031 § 2 rule #1. Combines two existing
15
24
  * primitives:
@@ -1 +1 @@
1
- {"version":3,"file":"verify-before-load.js","sourceRoot":"","sources":["../../src/tools/verify-before-load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-before-load.js","sourceRoot":"","sources":["../../src/tools/verify-before-load.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primitivehub/mcp-server",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "MCP server exposing PrimitiveHub verification + scanning to AI agents (Claude, Cursor, Aider, …). Pure transport over @primitivehub/verify + @primitivehub/phub — zero custom trust logic.",
5
5
  "license": "MIT",
6
6
  "author": "PrimitiveHub AI / CyberOrca Labs",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "type": "module",
17
17
  "bin": {
18
- "primitivehub-mcp": "bin/primitivehub-mcp.js"
18
+ "primitivehub-mcp": "./bin/primitivehub-mcp.js"
19
19
  },
20
20
  "main": "./dist/index.js",
21
21
  "types": "./dist/index.d.ts",
@@ -49,8 +49,8 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@modelcontextprotocol/sdk": "^1.0.0",
52
- "@primitivehub/verify": "^0.1.1",
53
- "@primitivehub/phub": "^0.1.2"
52
+ "@primitivehub/verify": "^0.1.2",
53
+ "@primitivehub/phub": "^0.1.4"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/node": "^22",