agentscore-mcp 1.0.4 → 1.0.5
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 +126 -0
- package/dist/adapters/demo/adapter.d.ts +1 -1
- package/dist/adapters/github/adapter.d.ts +1 -1
- package/dist/adapters/json/adapter.d.ts +1 -1
- package/dist/adapters/moltbook/adapter.d.ts +1 -1
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +39 -0
- package/dist/config.js.map +1 -1
- package/dist/security/audit-store.d.ts +34 -0
- package/dist/security/audit-store.d.ts.map +1 -0
- package/dist/security/audit-store.js +50 -0
- package/dist/security/audit-store.js.map +1 -0
- package/dist/security/policy.d.ts +45 -0
- package/dist/security/policy.d.ts.map +1 -0
- package/dist/security/policy.js +144 -0
- package/dist/security/policy.js.map +1 -0
- package/dist/server.js +216 -13
- package/dist/server.js.map +1 -1
- package/dist/tools/agentscore.d.ts.map +1 -1
- package/dist/tools/agentscore.js +32 -0
- package/dist/tools/agentscore.js.map +1 -1
- package/dist/tools/sweep.d.ts.map +1 -1
- package/dist/tools/sweep.js +35 -0
- package/dist/tools/sweep.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -26,6 +26,22 @@
|
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
29
|
+
> [!TIP]
|
|
30
|
+
> **Compatibility:** AgentScore works with any MCP client that supports local `stdio` servers, including Claude Code/Desktop, Cursor, Codex-compatible clients, and other MCP hosts.
|
|
31
|
+
|
|
32
|
+
## Quick Navigation
|
|
33
|
+
|
|
34
|
+
| Start Here | Go To |
|
|
35
|
+
|:---|:---|
|
|
36
|
+
| Why + who this is for | [`Why This Exists`](#why-this-exists) · [`Goal, Audience, and Limits`](#goal-audience-and-limits) |
|
|
37
|
+
| Install and first run | [`Install in 10 Seconds`](#install-in-10-seconds) · [`Setup`](#setup) |
|
|
38
|
+
| Validate with real/controlled data | [`Production Proof`](#production-proof-2-minute-sanity-check) |
|
|
39
|
+
| Understand scoring model | [`Scoring System`](#scoring-system) |
|
|
40
|
+
| Adapter capabilities | [`Platform Adapters`](#platform-adapters) |
|
|
41
|
+
| Security and trust posture | [`Trust & Transparency`](#trust--transparency) |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
29
45
|
## Why This Exists
|
|
30
46
|
|
|
31
47
|
You're about to give AI agents access to customer data, source code, and critical workflows.
|
|
@@ -50,6 +66,20 @@ Built in public from recurring conversations with AI governance teams asking one
|
|
|
50
66
|
- Scores depend on available data quality; sparse data lowers certainty even if a score is produced.
|
|
51
67
|
- Use it with human review, policy controls, and least-privilege access.
|
|
52
68
|
|
|
69
|
+
> [!WARNING]
|
|
70
|
+
> No README or open-source license can guarantee zero legal risk. AgentScore is provided as-is (MIT), without warranty, and is **not legal advice**.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Pick Your Track
|
|
75
|
+
|
|
76
|
+
| Track | Best For | First Step |
|
|
77
|
+
|:---|:---|:---|
|
|
78
|
+
| `demo` | Fastest product demo with built-in agents | Run the install command and ask for `@NovaMind` |
|
|
79
|
+
| `github` | Live public profile/thread analysis | `export AGENTSCORE_ADAPTER=github` |
|
|
80
|
+
| `json` | Controlled internal evaluations from your own data | `export AGENTSCORE_ADAPTER=json` + set `AGENTSCORE_DATA_PATH` |
|
|
81
|
+
| `moltbook` | Live Moltbook agent analysis | `export AGENTSCORE_ADAPTER=moltbook` + set `MOLTBOOK_API_KEY` |
|
|
82
|
+
|
|
53
83
|
---
|
|
54
84
|
|
|
55
85
|
## Install in 10 Seconds
|
|
@@ -58,6 +88,12 @@ Built in public from recurring conversations with AI governance teams asking one
|
|
|
58
88
|
claude mcp add agentscore -- npx -y agentscore-mcp
|
|
59
89
|
```
|
|
60
90
|
|
|
91
|
+
Optional policy-enforced startup:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
claude mcp add agentscore -- npx -y agentscore-mcp --enforce
|
|
95
|
+
```
|
|
96
|
+
|
|
61
97
|
Then ask Claude:
|
|
62
98
|
|
|
63
99
|
> _"Investigate @NovaMind — can I trust this agent?"_
|
|
@@ -174,8 +210,64 @@ export AGENTSCORE_ADAPTER=json # or github / moltbook
|
|
|
174
210
|
|
|
175
211
|
AgentScore is a standard MCP server over `stdio`. Any MCP client that can launch local `stdio` servers can use it (not only Cursor/Claude).
|
|
176
212
|
|
|
213
|
+
| Client Type | Supported |
|
|
214
|
+
|:---|:---:|
|
|
215
|
+
| Claude Code | Yes |
|
|
216
|
+
| Claude Desktop | Yes |
|
|
217
|
+
| Cursor | Yes |
|
|
218
|
+
| Codex-compatible MCP clients | Yes |
|
|
219
|
+
| Any MCP host with local `stdio` support | Yes |
|
|
220
|
+
|
|
177
221
|
Public site note: [`ai-agent-score.vercel.app`](https://ai-agent-score.vercel.app) is currently a public trust index/leaderboard experience. MCP `reportUrl` links are handle-based and resolve when that handle exists in the site index.
|
|
178
222
|
|
|
223
|
+
### Centralized Service Mode (Streamable HTTP)
|
|
224
|
+
|
|
225
|
+
Run one shared governance endpoint for multiple clients:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
export AGENTSCORE_TRANSPORT=http
|
|
229
|
+
export AGENTSCORE_ENABLED_TOOLS=agentscore,sweep
|
|
230
|
+
export AGENTSCORE_HTTP_HOST=127.0.0.1
|
|
231
|
+
export AGENTSCORE_HTTP_PORT=8787
|
|
232
|
+
export AGENTSCORE_HTTP_PATH=/mcp
|
|
233
|
+
export AGENTSCORE_ENFORCE=true
|
|
234
|
+
export AGENTSCORE_POLICY_MIN_SCORE=650
|
|
235
|
+
node dist/server.js
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Service endpoints:
|
|
239
|
+
- MCP: `http://127.0.0.1:8787/mcp`
|
|
240
|
+
- Health: `http://127.0.0.1:8787/healthz`
|
|
241
|
+
- Policy snapshot: `http://127.0.0.1:8787/agentscore/policy`
|
|
242
|
+
- Audit events: `http://127.0.0.1:8787/agentscore/audit`
|
|
243
|
+
|
|
244
|
+
Optionally protect the MCP endpoint itself:
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
export AGENTSCORE_HTTP_AUTH_TOKEN=replace-with-strong-token
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
Then send one of:
|
|
251
|
+
- `Authorization: Bearer <token>`
|
|
252
|
+
- `x-agentscore-mcp-token: <token>`
|
|
253
|
+
- `x-agentscore-token: <token>`
|
|
254
|
+
|
|
255
|
+
Optionally protect policy/audit endpoints:
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
export AGENTSCORE_AUDIT_TOKEN=replace-with-strong-token
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
Then call with either:
|
|
262
|
+
- `Authorization: Bearer <token>`
|
|
263
|
+
- `x-agentscore-audit-token: <token>`
|
|
264
|
+
|
|
265
|
+
If your MCP client does not support direct remote Streamable HTTP servers, use a local bridge:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
npx -y mcp-remote http://127.0.0.1:8787/mcp
|
|
269
|
+
```
|
|
270
|
+
|
|
179
271
|
### Clean Onboarding (Recommended)
|
|
180
272
|
|
|
181
273
|
Use a single setup command and verify once:
|
|
@@ -255,6 +347,24 @@ Team/project-scoped example: [`examples/mcp.project.json`](examples/mcp.project.
|
|
|
255
347
|
- If project scope is required, create/update one config file deliberately (do not auto-generate multiple variants).
|
|
256
348
|
- Do not commit `.mcp.json` unless your team explicitly wants repo-scoped MCP defaults.
|
|
257
349
|
|
|
350
|
+
### Policy Gate Mode (Optional)
|
|
351
|
+
|
|
352
|
+
Enable hard blocking (instead of advisory-only scoring):
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
export AGENTSCORE_ENFORCE=true
|
|
356
|
+
export AGENTSCORE_POLICY_MIN_SCORE=650
|
|
357
|
+
export AGENTSCORE_POLICY_TRUSTED_ADAPTERS=github,json
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Or pass `--enforce` at startup to set `AGENTSCORE_ENFORCE=true`.
|
|
361
|
+
|
|
362
|
+
When enforced, AgentScore can return blocked responses (`isError: true`) if policy conditions are violated. Every decision emits a structured audit event to stderr:
|
|
363
|
+
|
|
364
|
+
```text
|
|
365
|
+
[agentscore][audit] {"type":"agentscore_policy_decision",...}
|
|
366
|
+
```
|
|
367
|
+
|
|
258
368
|
---
|
|
259
369
|
|
|
260
370
|
## Scoring System
|
|
@@ -451,6 +561,8 @@ flowchart LR
|
|
|
451
561
|
| Variable | Default | Description |
|
|
452
562
|
|:---|:---:|:---|
|
|
453
563
|
| `AGENTSCORE_ADAPTER` | `demo` | `demo` · `github` · `json` · `moltbook` |
|
|
564
|
+
| `AGENTSCORE_ENABLED_TOOLS` | `agentscore,sweep` | Comma-separated tool allow-list (`agentscore`, `sweep`) |
|
|
565
|
+
| `AGENTSCORE_TRANSPORT` | `stdio` | `stdio` or `http` (Streamable HTTP server mode) |
|
|
454
566
|
| `AGENTSCORE_PUBLIC_MODE` | `false` | If `true`, requires explicit adapter and blocks `demo` |
|
|
455
567
|
| `GITHUB_TOKEN` | — | GitHub PAT (optional, increases rate limit to 5,000/hr) |
|
|
456
568
|
| `MOLTBOOK_API_KEY` | — | Required for Moltbook adapter |
|
|
@@ -458,6 +570,20 @@ flowchart LR
|
|
|
458
570
|
| `AGENTSCORE_CACHE_TTL` | `86400` | Score cache TTL in seconds |
|
|
459
571
|
| `AGENTSCORE_RATE_LIMIT_MS` | `200` | Moltbook adapter request delay (ms) |
|
|
460
572
|
| `AGENTSCORE_SITE_URL` | `https://ai-agent-score.vercel.app` | Base URL for report links in MCP output |
|
|
573
|
+
| `AGENTSCORE_HTTP_HOST` | `127.0.0.1` | Bind host for HTTP transport |
|
|
574
|
+
| `AGENTSCORE_HTTP_PORT` | `8787` | Bind port for HTTP transport |
|
|
575
|
+
| `AGENTSCORE_HTTP_PATH` | `/mcp` | MCP endpoint path for HTTP transport |
|
|
576
|
+
| `AGENTSCORE_HTTP_AUTH_TOKEN` | — | Optional bearer token required for `/mcp` HTTP endpoint |
|
|
577
|
+
| `AGENTSCORE_AUDIT_TOKEN` | — | Optional bearer token required for policy/audit endpoints |
|
|
578
|
+
| `AGENTSCORE_AUDIT_MAX_ENTRIES` | `500` | In-memory cap for retained policy audit events |
|
|
579
|
+
| `AGENTSCORE_ENFORCE` | `false` | If `true`, policy gate can block risky results |
|
|
580
|
+
| `AGENTSCORE_POLICY_MIN_SCORE` | `550` | Minimum allowed score when policy is enforced |
|
|
581
|
+
| `AGENTSCORE_POLICY_BLOCK_RECOMMENDATIONS` | `AVOID` | Comma-separated blocked recommendations (`TRUST`, `CAUTION`, `AVOID`) |
|
|
582
|
+
| `AGENTSCORE_POLICY_BLOCK_THREAT_LEVELS` | `COMPROMISED` | Comma-separated blocked sweep levels (`SUSPICIOUS`, `COMPROMISED`) |
|
|
583
|
+
| `AGENTSCORE_POLICY_BLOCK_FLAGS` | `prompt injection,manipulation keyword,account not claimed` | Comma-separated flag substrings that trigger blocking |
|
|
584
|
+
| `AGENTSCORE_POLICY_TRUSTED_ADAPTERS` | `github,json,moltbook` *(when enforced)* | Comma-separated adapters allowed in enforced mode |
|
|
585
|
+
| `AGENTSCORE_POLICY_FAIL_ON_ERRORS` | `false` | If `true`, any per-handle scoring errors trigger blocking |
|
|
586
|
+
| `AGENTSCORE_AUDIT_LOG` | `auto` (`true` when enforced) | Set `false` to suppress structured policy audit events |
|
|
461
587
|
|
|
462
588
|
Invalid numeric values fall back to defaults. Trailing slashes on URLs are trimmed automatically. `AGENTSCORE_SITE_URL` must be a valid `https://` URL.
|
|
463
589
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { AgentPlatformAdapter, AgentProfile, AgentContent } from "../types.js";
|
|
10
10
|
export declare class DemoAdapter implements AgentPlatformAdapter {
|
|
11
11
|
readonly name = "demo";
|
|
12
|
-
readonly version = "1.0.
|
|
12
|
+
readonly version = "1.0.5";
|
|
13
13
|
fetchProfile(handle: string): Promise<AgentProfile | null>;
|
|
14
14
|
fetchContent(handle: string, limit?: number): Promise<AgentContent[]>;
|
|
15
15
|
fetchInteractions(handle: string, limit?: number): Promise<AgentContent[]>;
|
|
@@ -2,7 +2,7 @@ import type { AgentPlatformAdapter, AgentProfile, AgentContent } from "../types.
|
|
|
2
2
|
/** GitHub platform adapter — scores any public GitHub account. */
|
|
3
3
|
export declare class GitHubAdapter implements AgentPlatformAdapter {
|
|
4
4
|
readonly name = "github";
|
|
5
|
-
readonly version = "1.0.
|
|
5
|
+
readonly version = "1.0.5";
|
|
6
6
|
private client;
|
|
7
7
|
constructor();
|
|
8
8
|
fetchProfile(handle: string): Promise<AgentProfile | null>;
|
|
@@ -23,7 +23,7 @@ import type { AgentPlatformAdapter, AgentProfile, AgentContent } from "../types.
|
|
|
23
23
|
*/
|
|
24
24
|
export declare class JSONAdapter implements AgentPlatformAdapter {
|
|
25
25
|
readonly name = "json";
|
|
26
|
-
readonly version = "1.0.
|
|
26
|
+
readonly version = "1.0.5";
|
|
27
27
|
private data;
|
|
28
28
|
private loadData;
|
|
29
29
|
fetchProfile(handle: string): Promise<AgentProfile | null>;
|
|
@@ -2,7 +2,7 @@ import type { AgentPlatformAdapter, AgentProfile, AgentContent } from "../types.
|
|
|
2
2
|
/** Moltbook platform adapter — the default adapter. */
|
|
3
3
|
export declare class MoltbookAdapter implements AgentPlatformAdapter {
|
|
4
4
|
readonly name = "moltbook";
|
|
5
|
-
readonly version = "1.0.
|
|
5
|
+
readonly version = "1.0.5";
|
|
6
6
|
private client;
|
|
7
7
|
constructor();
|
|
8
8
|
fetchProfile(handle: string): Promise<AgentProfile | null>;
|
package/dist/config.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export interface Config {
|
|
2
2
|
adapter: "demo" | "moltbook" | "json" | "github";
|
|
3
|
+
transport: "stdio" | "http";
|
|
4
|
+
enabledTools: Array<"agentscore" | "sweep">;
|
|
3
5
|
moltbookApiKey: string;
|
|
4
6
|
githubToken: string;
|
|
5
7
|
dataPath: string;
|
|
@@ -7,6 +9,12 @@ export interface Config {
|
|
|
7
9
|
rateLimitMs: number;
|
|
8
10
|
siteUrl: string;
|
|
9
11
|
publicMode: boolean;
|
|
12
|
+
httpHost: string;
|
|
13
|
+
httpPort: number;
|
|
14
|
+
httpPath: string;
|
|
15
|
+
httpAuthToken: string;
|
|
16
|
+
auditToken: string;
|
|
17
|
+
auditMaxEntries: number;
|
|
10
18
|
}
|
|
11
19
|
/** Load and validate configuration from environment variables. */
|
|
12
20
|
export declare function loadConfig(): Config;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjD,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAOD,kEAAkE;AAClE,wBAAgB,UAAU,IAAI,MAAM,CA0HnC;AAED,2DAA2D;AAC3D,wBAAgB,SAAS,IAAI,MAAM,CAKlC"}
|
package/dist/config.js
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
let _config = null;
|
|
3
3
|
const ADAPTERS = ["demo", "moltbook", "json", "github"];
|
|
4
|
+
const TRANSPORTS = ["stdio", "http"];
|
|
5
|
+
const TOOLS = ["agentscore", "sweep"];
|
|
4
6
|
/** Load and validate configuration from environment variables. */
|
|
5
7
|
export function loadConfig() {
|
|
6
8
|
const publicMode = (process.env.AGENTSCORE_PUBLIC_MODE || "").trim().toLowerCase() === "true";
|
|
9
|
+
const rawTransport = (process.env.AGENTSCORE_TRANSPORT || "").trim();
|
|
10
|
+
const resolvedTransport = rawTransport || "stdio";
|
|
11
|
+
if (!TRANSPORTS.includes(resolvedTransport)) {
|
|
12
|
+
throw new Error(`AGENTSCORE_TRANSPORT must be one of: ${TRANSPORTS.join(", ")}. Received: "${resolvedTransport || "<empty>"}".`);
|
|
13
|
+
}
|
|
14
|
+
const transport = resolvedTransport;
|
|
7
15
|
const rawAdapter = (process.env.AGENTSCORE_ADAPTER || "").trim();
|
|
8
16
|
const resolvedAdapter = rawAdapter || "demo";
|
|
9
17
|
if (publicMode && !rawAdapter) {
|
|
@@ -50,8 +58,33 @@ export function loadConfig() {
|
|
|
50
58
|
}
|
|
51
59
|
const cacheTtl = parseInt(process.env.AGENTSCORE_CACHE_TTL || "86400", 10);
|
|
52
60
|
const rateLimitMs = parseInt(process.env.AGENTSCORE_RATE_LIMIT_MS || "200", 10);
|
|
61
|
+
const httpHost = (process.env.AGENTSCORE_HTTP_HOST || "127.0.0.1").trim() || "127.0.0.1";
|
|
62
|
+
const parsedHttpPort = parseInt(process.env.AGENTSCORE_HTTP_PORT || "8787", 10);
|
|
63
|
+
const httpPort = Number.isNaN(parsedHttpPort) ? 8787 : Math.max(1, Math.min(parsedHttpPort, 65535));
|
|
64
|
+
const rawHttpPath = (process.env.AGENTSCORE_HTTP_PATH || "/mcp").trim() || "/mcp";
|
|
65
|
+
const httpPath = rawHttpPath.startsWith("/") ? rawHttpPath : `/${rawHttpPath}`;
|
|
66
|
+
const parsedAuditMaxEntries = parseInt(process.env.AGENTSCORE_AUDIT_MAX_ENTRIES || "500", 10);
|
|
67
|
+
const auditMaxEntries = Number.isNaN(parsedAuditMaxEntries)
|
|
68
|
+
? 500
|
|
69
|
+
: Math.max(10, Math.min(parsedAuditMaxEntries, 10_000));
|
|
70
|
+
const rawEnabledTools = (process.env.AGENTSCORE_ENABLED_TOOLS || "").trim().toLowerCase();
|
|
71
|
+
let enabledTools = [...TOOLS];
|
|
72
|
+
if (rawEnabledTools) {
|
|
73
|
+
const requestedTools = [...new Set(rawEnabledTools.split(",").map((item) => item.trim()).filter(Boolean))];
|
|
74
|
+
const invalidTools = requestedTools.filter((tool) => !TOOLS.includes(tool));
|
|
75
|
+
if (invalidTools.length > 0) {
|
|
76
|
+
throw new Error(`AGENTSCORE_ENABLED_TOOLS contains invalid tools: ${invalidTools.join(", ")}. ` +
|
|
77
|
+
`Allowed values: ${TOOLS.join(", ")}.`);
|
|
78
|
+
}
|
|
79
|
+
enabledTools = TOOLS.filter((tool) => requestedTools.includes(tool));
|
|
80
|
+
if (enabledTools.length === 0) {
|
|
81
|
+
throw new Error(`AGENTSCORE_ENABLED_TOOLS must include at least one tool: ${TOOLS.join(", ")}.`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
53
84
|
_config = {
|
|
54
85
|
adapter,
|
|
86
|
+
transport,
|
|
87
|
+
enabledTools,
|
|
55
88
|
moltbookApiKey: process.env.MOLTBOOK_API_KEY || "",
|
|
56
89
|
githubToken: process.env.GITHUB_TOKEN || "",
|
|
57
90
|
dataPath,
|
|
@@ -59,6 +92,12 @@ export function loadConfig() {
|
|
|
59
92
|
rateLimitMs: Number.isNaN(rateLimitMs) ? 200 : rateLimitMs,
|
|
60
93
|
siteUrl,
|
|
61
94
|
publicMode,
|
|
95
|
+
httpHost,
|
|
96
|
+
httpPort,
|
|
97
|
+
httpPath,
|
|
98
|
+
httpAuthToken: process.env.AGENTSCORE_HTTP_AUTH_TOKEN || "",
|
|
99
|
+
auditToken: process.env.AGENTSCORE_AUDIT_TOKEN || "",
|
|
100
|
+
auditMaxEntries,
|
|
62
101
|
};
|
|
63
102
|
return _config;
|
|
64
103
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface PolicyAuditEvent {
|
|
2
|
+
ts: string;
|
|
3
|
+
type: "agentscore_policy_decision";
|
|
4
|
+
tool: "agentscore" | "sweep";
|
|
5
|
+
enforced: boolean;
|
|
6
|
+
blocked: boolean;
|
|
7
|
+
reasons: string[];
|
|
8
|
+
policy: {
|
|
9
|
+
minScore: number;
|
|
10
|
+
blockedRecommendations: Array<"TRUST" | "CAUTION" | "AVOID">;
|
|
11
|
+
blockedThreatLevels: Array<"SUSPICIOUS" | "COMPROMISED">;
|
|
12
|
+
blockedFlagPatterns: string[];
|
|
13
|
+
trustedAdapters: string[];
|
|
14
|
+
failOnErrors: boolean;
|
|
15
|
+
};
|
|
16
|
+
metadata: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
export declare function setAuditStoreMaxEntries(value: number): void;
|
|
19
|
+
export declare function appendPolicyAuditEvent(event: PolicyAuditEvent): void;
|
|
20
|
+
export declare function listPolicyAuditEvents(options?: {
|
|
21
|
+
limit?: number;
|
|
22
|
+
tool?: "agentscore" | "sweep";
|
|
23
|
+
blocked?: boolean;
|
|
24
|
+
}): PolicyAuditEvent[];
|
|
25
|
+
export declare function getPolicyAuditStats(): {
|
|
26
|
+
total: number;
|
|
27
|
+
blocked: number;
|
|
28
|
+
allowed: number;
|
|
29
|
+
byTool: {
|
|
30
|
+
agentscore: number;
|
|
31
|
+
sweep: number;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=audit-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-store.d.ts","sourceRoot":"","sources":["../../src/security/audit-store.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,4BAA4B,CAAC;IACnC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,sBAAsB,EAAE,KAAK,CAAC,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC;QAC7D,mBAAmB,EAAE,KAAK,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC;QACzD,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAKD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAM3D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAKpE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,gBAAgB,EAAE,CAQrB;AAED,wBAAgB,mBAAmB,IAAI;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAkBA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const events = [];
|
|
2
|
+
let maxEntries = 500;
|
|
3
|
+
export function setAuditStoreMaxEntries(value) {
|
|
4
|
+
if (!Number.isFinite(value))
|
|
5
|
+
return;
|
|
6
|
+
maxEntries = Math.max(10, Math.min(10_000, Math.trunc(value)));
|
|
7
|
+
if (events.length > maxEntries) {
|
|
8
|
+
events.splice(0, events.length - maxEntries);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export function appendPolicyAuditEvent(event) {
|
|
12
|
+
events.push(event);
|
|
13
|
+
if (events.length > maxEntries) {
|
|
14
|
+
events.splice(0, events.length - maxEntries);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export function listPolicyAuditEvents(options) {
|
|
18
|
+
const limit = options?.limit ? Math.max(1, Math.min(options.limit, 1000)) : 100;
|
|
19
|
+
const filtered = events.filter((event) => {
|
|
20
|
+
if (options?.tool && event.tool !== options.tool)
|
|
21
|
+
return false;
|
|
22
|
+
if (options?.blocked !== undefined && event.blocked !== options.blocked)
|
|
23
|
+
return false;
|
|
24
|
+
return true;
|
|
25
|
+
});
|
|
26
|
+
return filtered.slice(Math.max(0, filtered.length - limit));
|
|
27
|
+
}
|
|
28
|
+
export function getPolicyAuditStats() {
|
|
29
|
+
let blocked = 0;
|
|
30
|
+
let agentscore = 0;
|
|
31
|
+
let sweep = 0;
|
|
32
|
+
for (const event of events) {
|
|
33
|
+
if (event.blocked)
|
|
34
|
+
blocked++;
|
|
35
|
+
if (event.tool === "agentscore")
|
|
36
|
+
agentscore++;
|
|
37
|
+
else
|
|
38
|
+
sweep++;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
total: events.length,
|
|
42
|
+
blocked,
|
|
43
|
+
allowed: events.length - blocked,
|
|
44
|
+
byTool: {
|
|
45
|
+
agentscore,
|
|
46
|
+
sweep,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=audit-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-store.js","sourceRoot":"","sources":["../../src/security/audit-store.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,GAAuB,EAAE,CAAC;AACtC,IAAI,UAAU,GAAG,GAAG,CAAC;AAErB,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO;IACpC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAuB;IAC5D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAIrC;IACC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAChF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACvC,IAAI,OAAO,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAC/D,IAAI,OAAO,EAAE,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB;IASjC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;YAAE,UAAU,EAAE,CAAC;;YACzC,KAAK,EAAE,CAAC;IACf,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,OAAO;QACP,OAAO,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO;QAChC,MAAM,EAAE;YACN,UAAU;YACV,KAAK;SACN;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { AgentScoreResult, Recommendation } from "../scoring/types.js";
|
|
2
|
+
export interface PolicyConfig {
|
|
3
|
+
enforce: boolean;
|
|
4
|
+
minScore: number;
|
|
5
|
+
blockedRecommendations: Recommendation[];
|
|
6
|
+
blockedThreatLevels: Array<"SUSPICIOUS" | "COMPROMISED">;
|
|
7
|
+
blockedFlagPatterns: string[];
|
|
8
|
+
trustedAdapters: string[];
|
|
9
|
+
failOnErrors: boolean;
|
|
10
|
+
auditLog: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface PolicyGateResult {
|
|
13
|
+
enforced: boolean;
|
|
14
|
+
blocked: boolean;
|
|
15
|
+
reasons: string[];
|
|
16
|
+
policy: {
|
|
17
|
+
minScore: number;
|
|
18
|
+
blockedRecommendations: Recommendation[];
|
|
19
|
+
blockedThreatLevels: Array<"SUSPICIOUS" | "COMPROMISED">;
|
|
20
|
+
blockedFlagPatterns: string[];
|
|
21
|
+
trustedAdapters: string[];
|
|
22
|
+
failOnErrors: boolean;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
interface AgentPolicyInput {
|
|
26
|
+
adapter: string;
|
|
27
|
+
results: AgentScoreResult[];
|
|
28
|
+
errorsCount: number;
|
|
29
|
+
}
|
|
30
|
+
interface SweepPolicyInput {
|
|
31
|
+
adapter: string;
|
|
32
|
+
threatLevel: "CLEAN" | "SUSPICIOUS" | "COMPROMISED";
|
|
33
|
+
participants: Array<{
|
|
34
|
+
handle: string;
|
|
35
|
+
score: number;
|
|
36
|
+
}>;
|
|
37
|
+
patterns: string[];
|
|
38
|
+
notes?: string[];
|
|
39
|
+
}
|
|
40
|
+
export declare function readPolicyConfigFromEnv(env?: NodeJS.ProcessEnv): PolicyConfig;
|
|
41
|
+
export declare function evaluateAgentPolicy(input: AgentPolicyInput, config: PolicyConfig): PolicyGateResult;
|
|
42
|
+
export declare function evaluateSweepPolicy(input: SweepPolicyInput, config: PolicyConfig): PolicyGateResult;
|
|
43
|
+
export declare function emitPolicyAudit(tool: "agentscore" | "sweep", gate: PolicyGateResult, metadata: Record<string, unknown>, config: PolicyConfig): void;
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/security/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI5E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,EAAE,cAAc,EAAE,CAAC;IACzC,mBAAmB,EAAE,KAAK,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC;IACzD,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,sBAAsB,EAAE,cAAc,EAAE,CAAC;QACzC,mBAAmB,EAAE,KAAK,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC;QACzD,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;IACpD,YAAY,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAoCD,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,CAsC1F;AAkBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAG,gBAAgB,CA+BnG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAG,gBAAgB,CA6BnG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAcnJ"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { appendPolicyAuditEvent } from "./audit-store.js";
|
|
2
|
+
function parseBool(value, fallback) {
|
|
3
|
+
if (value === undefined)
|
|
4
|
+
return fallback;
|
|
5
|
+
const normalized = value.trim().toLowerCase();
|
|
6
|
+
if (["1", "true", "yes", "on"].includes(normalized))
|
|
7
|
+
return true;
|
|
8
|
+
if (["0", "false", "no", "off"].includes(normalized))
|
|
9
|
+
return false;
|
|
10
|
+
return fallback;
|
|
11
|
+
}
|
|
12
|
+
function parseList(value) {
|
|
13
|
+
if (!value)
|
|
14
|
+
return [];
|
|
15
|
+
return value
|
|
16
|
+
.split(",")
|
|
17
|
+
.map((item) => item.trim())
|
|
18
|
+
.filter((item) => item.length > 0);
|
|
19
|
+
}
|
|
20
|
+
function parseThreatLevels(raw) {
|
|
21
|
+
const allowed = new Set(["SUSPICIOUS", "COMPROMISED"]);
|
|
22
|
+
const out = [];
|
|
23
|
+
for (const item of raw) {
|
|
24
|
+
const upper = item.toUpperCase();
|
|
25
|
+
if (allowed.has(upper)) {
|
|
26
|
+
out.push(upper);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return out;
|
|
30
|
+
}
|
|
31
|
+
function normalizeScore(raw, fallback) {
|
|
32
|
+
const parsed = parseInt(raw || "", 10);
|
|
33
|
+
if (Number.isNaN(parsed))
|
|
34
|
+
return fallback;
|
|
35
|
+
return Math.max(300, Math.min(850, parsed));
|
|
36
|
+
}
|
|
37
|
+
export function readPolicyConfigFromEnv(env = process.env) {
|
|
38
|
+
const enforce = parseBool(env.AGENTSCORE_ENFORCE, false);
|
|
39
|
+
const minScore = normalizeScore(env.AGENTSCORE_POLICY_MIN_SCORE, 550);
|
|
40
|
+
const blockedRecommendations = parseList(env.AGENTSCORE_POLICY_BLOCK_RECOMMENDATIONS)
|
|
41
|
+
.map((value) => value.toUpperCase())
|
|
42
|
+
.filter((value) => ["TRUST", "CAUTION", "AVOID"].includes(value));
|
|
43
|
+
const effectiveBlockedRecommendations = blockedRecommendations.length > 0 ? blockedRecommendations : ["AVOID"];
|
|
44
|
+
const blockedThreatLevels = parseThreatLevels(parseList(env.AGENTSCORE_POLICY_BLOCK_THREAT_LEVELS));
|
|
45
|
+
const effectiveBlockedThreatLevels = blockedThreatLevels.length > 0 ? blockedThreatLevels : ["COMPROMISED"];
|
|
46
|
+
const blockedFlagPatterns = parseList(env.AGENTSCORE_POLICY_BLOCK_FLAGS).map((value) => value.toLowerCase());
|
|
47
|
+
const effectiveBlockedFlagPatterns = blockedFlagPatterns.length > 0
|
|
48
|
+
? blockedFlagPatterns
|
|
49
|
+
: ["prompt injection", "manipulation keyword", "account not claimed"];
|
|
50
|
+
const trustedAdapters = parseList(env.AGENTSCORE_POLICY_TRUSTED_ADAPTERS).map((value) => value.toLowerCase());
|
|
51
|
+
const effectiveTrustedAdapters = trustedAdapters.length > 0 ? trustedAdapters : enforce ? ["github", "json", "moltbook"] : [];
|
|
52
|
+
return {
|
|
53
|
+
enforce,
|
|
54
|
+
minScore,
|
|
55
|
+
blockedRecommendations: effectiveBlockedRecommendations,
|
|
56
|
+
blockedThreatLevels: effectiveBlockedThreatLevels,
|
|
57
|
+
blockedFlagPatterns: effectiveBlockedFlagPatterns,
|
|
58
|
+
trustedAdapters: effectiveTrustedAdapters,
|
|
59
|
+
failOnErrors: parseBool(env.AGENTSCORE_POLICY_FAIL_ON_ERRORS, false),
|
|
60
|
+
auditLog: parseBool(env.AGENTSCORE_AUDIT_LOG, enforce),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function buildPolicyGate(config, reasons) {
|
|
64
|
+
return {
|
|
65
|
+
enforced: config.enforce,
|
|
66
|
+
blocked: config.enforce && reasons.length > 0,
|
|
67
|
+
reasons: [...new Set(reasons)],
|
|
68
|
+
policy: {
|
|
69
|
+
minScore: config.minScore,
|
|
70
|
+
blockedRecommendations: config.blockedRecommendations,
|
|
71
|
+
blockedThreatLevels: config.blockedThreatLevels,
|
|
72
|
+
blockedFlagPatterns: config.blockedFlagPatterns,
|
|
73
|
+
trustedAdapters: config.trustedAdapters,
|
|
74
|
+
failOnErrors: config.failOnErrors,
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function evaluateAgentPolicy(input, config) {
|
|
79
|
+
const reasons = [];
|
|
80
|
+
if (!config.enforce)
|
|
81
|
+
return buildPolicyGate(config, reasons);
|
|
82
|
+
if (config.trustedAdapters.length > 0 && !config.trustedAdapters.includes(input.adapter.toLowerCase())) {
|
|
83
|
+
reasons.push(`Adapter '${input.adapter}' is not in trusted adapters list.`);
|
|
84
|
+
}
|
|
85
|
+
for (const result of input.results) {
|
|
86
|
+
if (result.score < config.minScore) {
|
|
87
|
+
reasons.push(`@${result.handle} scored ${result.score}, below minimum policy score ${config.minScore}.`);
|
|
88
|
+
}
|
|
89
|
+
if (config.blockedRecommendations.includes(result.recommendation)) {
|
|
90
|
+
reasons.push(`@${result.handle} recommendation is ${result.recommendation}, which is blocked by policy.`);
|
|
91
|
+
}
|
|
92
|
+
const loweredFlags = result.flags.map((flag) => flag.toLowerCase());
|
|
93
|
+
for (const pattern of config.blockedFlagPatterns) {
|
|
94
|
+
if (loweredFlags.some((flag) => flag.includes(pattern))) {
|
|
95
|
+
reasons.push(`@${result.handle} matched blocked flag pattern '${pattern}'.`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (config.failOnErrors && input.errorsCount > 0) {
|
|
100
|
+
reasons.push(`Policy configured to fail on scoring errors; observed ${input.errorsCount} error(s).`);
|
|
101
|
+
}
|
|
102
|
+
return buildPolicyGate(config, reasons);
|
|
103
|
+
}
|
|
104
|
+
export function evaluateSweepPolicy(input, config) {
|
|
105
|
+
const reasons = [];
|
|
106
|
+
if (!config.enforce)
|
|
107
|
+
return buildPolicyGate(config, reasons);
|
|
108
|
+
if (config.trustedAdapters.length > 0 && !config.trustedAdapters.includes(input.adapter.toLowerCase())) {
|
|
109
|
+
reasons.push(`Adapter '${input.adapter}' is not in trusted adapters list.`);
|
|
110
|
+
}
|
|
111
|
+
if (config.blockedThreatLevels.includes(input.threatLevel)) {
|
|
112
|
+
reasons.push(`Threat level ${input.threatLevel} is blocked by policy.`);
|
|
113
|
+
}
|
|
114
|
+
if (input.participants.length > 0) {
|
|
115
|
+
const avgScore = input.participants.reduce((sum, participant) => sum + participant.score, 0) / input.participants.length;
|
|
116
|
+
if (avgScore < config.minScore) {
|
|
117
|
+
reasons.push(`Participant average score ${Math.round(avgScore)} is below minimum ${config.minScore}.`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
const matchedFlags = [...input.patterns, ...(input.notes || [])].map((value) => value.toLowerCase());
|
|
121
|
+
for (const pattern of config.blockedFlagPatterns) {
|
|
122
|
+
if (matchedFlags.some((item) => item.includes(pattern))) {
|
|
123
|
+
reasons.push(`Sweep matched blocked pattern '${pattern}'.`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return buildPolicyGate(config, reasons);
|
|
127
|
+
}
|
|
128
|
+
export function emitPolicyAudit(tool, gate, metadata, config) {
|
|
129
|
+
if (!config.auditLog)
|
|
130
|
+
return;
|
|
131
|
+
const event = {
|
|
132
|
+
ts: new Date().toISOString(),
|
|
133
|
+
type: "agentscore_policy_decision",
|
|
134
|
+
tool,
|
|
135
|
+
enforced: gate.enforced,
|
|
136
|
+
blocked: gate.blocked,
|
|
137
|
+
reasons: gate.reasons,
|
|
138
|
+
policy: gate.policy,
|
|
139
|
+
metadata,
|
|
140
|
+
};
|
|
141
|
+
appendPolicyAuditEvent(event);
|
|
142
|
+
console.error(`[agentscore][audit] ${JSON.stringify(event)}`);
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/security/policy.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
2
3
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
4
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
5
|
+
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
6
|
+
import { createMcpExpressApp } from "@modelcontextprotocol/sdk/server/express.js";
|
|
7
|
+
import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js";
|
|
4
8
|
import { DemoAdapter } from "./adapters/demo/adapter.js";
|
|
5
9
|
import { MoltbookAdapter } from "./adapters/moltbook/adapter.js";
|
|
6
10
|
import { JSONAdapter } from "./adapters/json/adapter.js";
|
|
@@ -9,10 +13,10 @@ import { ScoreCache } from "./cache/score-cache.js";
|
|
|
9
13
|
import { loadConfig } from "./config.js";
|
|
10
14
|
import { registerAgentScoreTool } from "./tools/agentscore.js";
|
|
11
15
|
import { registerSweepTool } from "./tools/sweep.js";
|
|
16
|
+
import { getPolicyAuditStats, listPolicyAuditEvents, setAuditStoreMaxEntries } from "./security/audit-store.js";
|
|
17
|
+
import { readPolicyConfigFromEnv } from "./security/policy.js";
|
|
12
18
|
import { AGENTSCORE_VERSION } from "./version.js";
|
|
13
|
-
|
|
14
|
-
const config = loadConfig();
|
|
15
|
-
// Initialize adapter
|
|
19
|
+
function buildAdapterResolver(config) {
|
|
16
20
|
const adapters = {};
|
|
17
21
|
if (config.adapter === "demo") {
|
|
18
22
|
adapters.demo = new DemoAdapter();
|
|
@@ -33,7 +37,7 @@ async function main() {
|
|
|
33
37
|
adapters.moltbook = new MoltbookAdapter();
|
|
34
38
|
console.error("[agentscore] Using Moltbook adapter");
|
|
35
39
|
}
|
|
36
|
-
function getAdapter(platform) {
|
|
40
|
+
return function getAdapter(platform) {
|
|
37
41
|
const name = platform || config.adapter;
|
|
38
42
|
const adapter = adapters[name];
|
|
39
43
|
if (!adapter) {
|
|
@@ -57,25 +61,224 @@ async function main() {
|
|
|
57
61
|
throw new Error(`Unknown adapter '${name}'. Available: demo, json, moltbook, github`);
|
|
58
62
|
}
|
|
59
63
|
return adapter;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
// Create MCP server
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function buildMcpServer(getAdapter, cache, enabledTools) {
|
|
64
67
|
const server = new McpServer({
|
|
65
68
|
name: "agentscore-mcp-server",
|
|
66
69
|
version: AGENTSCORE_VERSION,
|
|
67
70
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
if (enabledTools.includes("agentscore")) {
|
|
72
|
+
registerAgentScoreTool(server, getAdapter, cache);
|
|
73
|
+
}
|
|
74
|
+
if (enabledTools.includes("sweep")) {
|
|
75
|
+
registerSweepTool(server, getAdapter, cache);
|
|
76
|
+
}
|
|
77
|
+
return server;
|
|
78
|
+
}
|
|
79
|
+
function isTokenAuthorized(req, expectedToken, alternateHeaders = []) {
|
|
80
|
+
if (!expectedToken)
|
|
81
|
+
return true;
|
|
82
|
+
const auth = req.headers.authorization;
|
|
83
|
+
if (typeof auth === "string" && auth.startsWith("Bearer ")) {
|
|
84
|
+
return auth.slice("Bearer ".length) === expectedToken;
|
|
85
|
+
}
|
|
86
|
+
return alternateHeaders.some((headerName) => {
|
|
87
|
+
const customHeader = req.headers[headerName];
|
|
88
|
+
return typeof customHeader === "string" && customHeader === expectedToken;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function writeUnauthorizedMcpResponse(res) {
|
|
92
|
+
res.status(401).json({
|
|
93
|
+
jsonrpc: "2.0",
|
|
94
|
+
error: { code: -32001, message: "Unauthorized" },
|
|
95
|
+
id: null,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
async function startStdioServer(config, getAdapter, cache) {
|
|
99
|
+
const server = buildMcpServer(getAdapter, cache, config.enabledTools);
|
|
72
100
|
const transport = new StdioServerTransport();
|
|
73
101
|
await server.connect(transport);
|
|
74
|
-
console.error(
|
|
102
|
+
console.error(`[agentscore] Server started — ${config.enabledTools.length} tool(s) registered (${config.enabledTools.join(", ")})`);
|
|
103
|
+
console.error("[agentscore] Transport: stdio");
|
|
75
104
|
console.error("[agentscore] Adapter:", config.adapter);
|
|
76
105
|
console.error("[agentscore] Public mode:", config.publicMode ? "enabled" : "disabled");
|
|
77
106
|
console.error("[agentscore] Cache TTL:", config.cacheTtl, "seconds");
|
|
78
107
|
}
|
|
108
|
+
async function startHttpServer(config, getAdapter, cache) {
|
|
109
|
+
const app = createMcpExpressApp({ host: config.httpHost });
|
|
110
|
+
const sessions = {};
|
|
111
|
+
app.get("/healthz", (_req, res) => {
|
|
112
|
+
res.json({
|
|
113
|
+
ok: true,
|
|
114
|
+
service: "agentscore-mcp-server",
|
|
115
|
+
version: AGENTSCORE_VERSION,
|
|
116
|
+
transport: "http",
|
|
117
|
+
adapter: config.adapter,
|
|
118
|
+
publicMode: config.publicMode,
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
app.get("/agentscore/policy", (req, res) => {
|
|
122
|
+
if (!isTokenAuthorized(req, config.auditToken, ["x-agentscore-audit-token"])) {
|
|
123
|
+
res.status(401).json({ error: "Unauthorized" });
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const policy = readPolicyConfigFromEnv();
|
|
127
|
+
res.json({
|
|
128
|
+
enforce: policy.enforce,
|
|
129
|
+
minScore: policy.minScore,
|
|
130
|
+
blockedRecommendations: policy.blockedRecommendations,
|
|
131
|
+
blockedThreatLevels: policy.blockedThreatLevels,
|
|
132
|
+
blockedFlagPatterns: policy.blockedFlagPatterns,
|
|
133
|
+
trustedAdapters: policy.trustedAdapters,
|
|
134
|
+
failOnErrors: policy.failOnErrors,
|
|
135
|
+
auditLog: policy.auditLog,
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
app.get("/agentscore/audit", (req, res) => {
|
|
139
|
+
if (!isTokenAuthorized(req, config.auditToken, ["x-agentscore-audit-token"])) {
|
|
140
|
+
res.status(401).json({ error: "Unauthorized" });
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const limitRaw = typeof req.query.limit === "string" ? parseInt(req.query.limit, 10) : undefined;
|
|
144
|
+
const limit = Number.isNaN(limitRaw) ? undefined : limitRaw;
|
|
145
|
+
const toolParam = typeof req.query.tool === "string" ? req.query.tool : undefined;
|
|
146
|
+
const blockedParam = typeof req.query.blocked === "string" ? req.query.blocked.toLowerCase() : undefined;
|
|
147
|
+
const blocked = blockedParam === "true" ? true : blockedParam === "false" ? false : undefined;
|
|
148
|
+
const events = listPolicyAuditEvents({
|
|
149
|
+
limit,
|
|
150
|
+
tool: toolParam === "agentscore" || toolParam === "sweep" ? toolParam : undefined,
|
|
151
|
+
blocked,
|
|
152
|
+
});
|
|
153
|
+
res.json({
|
|
154
|
+
stats: getPolicyAuditStats(),
|
|
155
|
+
count: events.length,
|
|
156
|
+
events,
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
app.post(config.httpPath, async (req, res) => {
|
|
160
|
+
if (!isTokenAuthorized(req, config.httpAuthToken, ["x-agentscore-mcp-token", "x-agentscore-token"])) {
|
|
161
|
+
writeUnauthorizedMcpResponse(res);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
try {
|
|
165
|
+
const sessionId = req.headers["mcp-session-id"];
|
|
166
|
+
let session = typeof sessionId === "string" ? sessions[sessionId] : undefined;
|
|
167
|
+
if (!session) {
|
|
168
|
+
if (sessionId && !session) {
|
|
169
|
+
res.status(404).json({
|
|
170
|
+
jsonrpc: "2.0",
|
|
171
|
+
error: { code: -32001, message: "Session not found." },
|
|
172
|
+
id: null,
|
|
173
|
+
});
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
if (!isInitializeRequest(req.body)) {
|
|
177
|
+
res.status(400).json({
|
|
178
|
+
jsonrpc: "2.0",
|
|
179
|
+
error: { code: -32000, message: "No valid session ID provided and request is not initialize." },
|
|
180
|
+
id: null,
|
|
181
|
+
});
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
const server = buildMcpServer(getAdapter, cache, config.enabledTools);
|
|
185
|
+
const transport = new StreamableHTTPServerTransport({
|
|
186
|
+
sessionIdGenerator: () => randomUUID(),
|
|
187
|
+
onsessioninitialized: (newSessionId) => {
|
|
188
|
+
sessions[newSessionId] = { server, transport };
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
await server.connect(transport);
|
|
192
|
+
await transport.handleRequest(req, res, req.body);
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
await session.transport.handleRequest(req, res, req.body);
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
console.error("[agentscore] HTTP MCP POST error:", error);
|
|
199
|
+
if (!res.headersSent) {
|
|
200
|
+
res.status(500).json({
|
|
201
|
+
jsonrpc: "2.0",
|
|
202
|
+
error: { code: -32603, message: "Internal server error" },
|
|
203
|
+
id: null,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
app.get(config.httpPath, async (req, res) => {
|
|
209
|
+
if (!isTokenAuthorized(req, config.httpAuthToken, ["x-agentscore-mcp-token", "x-agentscore-token"])) {
|
|
210
|
+
writeUnauthorizedMcpResponse(res);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
const sessionId = req.headers["mcp-session-id"];
|
|
214
|
+
if (typeof sessionId !== "string" || !sessions[sessionId]) {
|
|
215
|
+
res.status(400).json({
|
|
216
|
+
jsonrpc: "2.0",
|
|
217
|
+
error: { code: -32000, message: "Bad Request: missing or invalid mcp-session-id" },
|
|
218
|
+
id: null,
|
|
219
|
+
});
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
await sessions[sessionId].transport.handleRequest(req, res);
|
|
223
|
+
});
|
|
224
|
+
app.delete(config.httpPath, async (req, res) => {
|
|
225
|
+
if (!isTokenAuthorized(req, config.httpAuthToken, ["x-agentscore-mcp-token", "x-agentscore-token"])) {
|
|
226
|
+
writeUnauthorizedMcpResponse(res);
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
const sessionId = req.headers["mcp-session-id"];
|
|
230
|
+
if (typeof sessionId !== "string" || !sessions[sessionId]) {
|
|
231
|
+
res.status(400).json({
|
|
232
|
+
jsonrpc: "2.0",
|
|
233
|
+
error: { code: -32000, message: "Bad Request: missing or invalid mcp-session-id" },
|
|
234
|
+
id: null,
|
|
235
|
+
});
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
const session = sessions[sessionId];
|
|
239
|
+
await session.transport.handleRequest(req, res);
|
|
240
|
+
await session.transport.close();
|
|
241
|
+
await session.server.close();
|
|
242
|
+
delete sessions[sessionId];
|
|
243
|
+
});
|
|
244
|
+
const listener = app.listen(config.httpPort, config.httpHost, () => {
|
|
245
|
+
console.error(`[agentscore] Server started — ${config.enabledTools.length} tool(s) registered (${config.enabledTools.join(", ")})`);
|
|
246
|
+
console.error("[agentscore] Transport: streamable-http");
|
|
247
|
+
console.error("[agentscore] MCP endpoint:", `http://${config.httpHost}:${config.httpPort}${config.httpPath}`);
|
|
248
|
+
console.error("[agentscore] Audit endpoint:", `http://${config.httpHost}:${config.httpPort}/agentscore/audit`);
|
|
249
|
+
console.error("[agentscore] Policy endpoint:", `http://${config.httpHost}:${config.httpPort}/agentscore/policy`);
|
|
250
|
+
console.error("[agentscore] MCP endpoint auth:", config.httpAuthToken ? "enabled" : "disabled");
|
|
251
|
+
console.error("[agentscore] Adapter:", config.adapter);
|
|
252
|
+
console.error("[agentscore] Public mode:", config.publicMode ? "enabled" : "disabled");
|
|
253
|
+
console.error("[agentscore] Cache TTL:", config.cacheTtl, "seconds");
|
|
254
|
+
});
|
|
255
|
+
const shutdown = async () => {
|
|
256
|
+
for (const [sessionId, session] of Object.entries(sessions)) {
|
|
257
|
+
await session.transport.close().catch(() => undefined);
|
|
258
|
+
await session.server.close().catch(() => undefined);
|
|
259
|
+
delete sessions[sessionId];
|
|
260
|
+
}
|
|
261
|
+
listener.close(() => process.exit(0));
|
|
262
|
+
setTimeout(() => process.exit(0), 2_000).unref();
|
|
263
|
+
};
|
|
264
|
+
process.on("SIGINT", shutdown);
|
|
265
|
+
process.on("SIGTERM", shutdown);
|
|
266
|
+
}
|
|
267
|
+
async function main() {
|
|
268
|
+
if (process.argv.includes("--enforce") && !process.env.AGENTSCORE_ENFORCE) {
|
|
269
|
+
process.env.AGENTSCORE_ENFORCE = "true";
|
|
270
|
+
}
|
|
271
|
+
const config = loadConfig();
|
|
272
|
+
setAuditStoreMaxEntries(config.auditMaxEntries);
|
|
273
|
+
const getAdapter = buildAdapterResolver(config);
|
|
274
|
+
// Initialize cache
|
|
275
|
+
const cache = new ScoreCache(config.cacheTtl);
|
|
276
|
+
if (config.transport === "http") {
|
|
277
|
+
await startHttpServer(config, getAdapter, cache);
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
await startStdioServer(config, getAdapter, cache);
|
|
281
|
+
}
|
|
79
282
|
main().catch((error) => {
|
|
80
283
|
console.error("[agentscore] Fatal error:", error);
|
|
81
284
|
process.exit(1);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentscore.d.ts","sourceRoot":"","sources":["../../src/tools/agentscore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"agentscore.d.ts","sourceRoot":"","sources":["../../src/tools/agentscore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAiErD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,oBAAoB,EACvD,KAAK,EAAE,UAAU,GAChB,IAAI,CA4KN"}
|
package/dist/tools/agentscore.js
CHANGED
|
@@ -2,6 +2,7 @@ import { z } from "zod";
|
|
|
2
2
|
import { scoreAgent, compareAgents } from "../scoring/engine.js";
|
|
3
3
|
import { RateLimiter } from "../security/rate-limiter.js";
|
|
4
4
|
import { resolveClientKey } from "../security/client-key.js";
|
|
5
|
+
import { emitPolicyAudit, evaluateAgentPolicy, readPolicyConfigFromEnv } from "../security/policy.js";
|
|
5
6
|
const inputSchema = {
|
|
6
7
|
handles: z
|
|
7
8
|
.array(z.string().regex(/^[\w-]{1,50}$/, "Handle must be 1-50 alphanumeric/dash/underscore characters"))
|
|
@@ -105,6 +106,21 @@ export function registerAgentScoreTool(server, getAdapter, cache) {
|
|
|
105
106
|
if (errors.length > 0) {
|
|
106
107
|
output.errors = errors;
|
|
107
108
|
}
|
|
109
|
+
const policy = readPolicyConfigFromEnv();
|
|
110
|
+
const gate = evaluateAgentPolicy({
|
|
111
|
+
adapter: adapter.name,
|
|
112
|
+
results,
|
|
113
|
+
errorsCount: errors.length,
|
|
114
|
+
}, policy);
|
|
115
|
+
if (policy.enforce) {
|
|
116
|
+
output.policyGate = gate;
|
|
117
|
+
}
|
|
118
|
+
emitPolicyAudit("agentscore", gate, {
|
|
119
|
+
adapter: adapter.name,
|
|
120
|
+
requestedHandles: handles.length,
|
|
121
|
+
scoredHandles: results.length,
|
|
122
|
+
errorsCount: errors.length,
|
|
123
|
+
}, policy);
|
|
108
124
|
// Build text summary
|
|
109
125
|
const textParts = [];
|
|
110
126
|
for (const r of results) {
|
|
@@ -129,6 +145,22 @@ export function registerAgentScoreTool(server, getAdapter, cache) {
|
|
|
129
145
|
if (output.comparison?.verdict) {
|
|
130
146
|
textParts.push(`\n## Comparison Verdict\n\n${output.comparison.verdict}`);
|
|
131
147
|
}
|
|
148
|
+
if (gate.blocked) {
|
|
149
|
+
return {
|
|
150
|
+
content: [
|
|
151
|
+
{
|
|
152
|
+
type: "text",
|
|
153
|
+
text: `Policy gate blocked this request.\n` +
|
|
154
|
+
`Adapter: ${adapter.name}\n` +
|
|
155
|
+
`Reasons:\n` +
|
|
156
|
+
gate.reasons.map((reason) => `- ${reason}`).join("\n"),
|
|
157
|
+
},
|
|
158
|
+
{ type: "text", text: textParts.join("\n\n---\n\n") || "No agents scored." },
|
|
159
|
+
{ type: "text", text: "\n\n```json\n" + JSON.stringify(output, null, 2) + "\n```" },
|
|
160
|
+
],
|
|
161
|
+
isError: true,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
132
164
|
if (results.length === 0) {
|
|
133
165
|
return {
|
|
134
166
|
content: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentscore.js","sourceRoot":"","sources":["../../src/tools/agentscore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"agentscore.js","sourceRoot":"","sources":["../../src/tools/agentscore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sweep.d.ts","sourceRoot":"","sources":["../../src/tools/sweep.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"sweep.d.ts","sourceRoot":"","sources":["../../src/tools/sweep.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAyErD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,oBAAoB,EACvD,KAAK,EAAE,UAAU,GAChB,IAAI,CAwSN"}
|
package/dist/tools/sweep.js
CHANGED
|
@@ -3,6 +3,7 @@ import { scoreAgent } from "../scoring/engine.js";
|
|
|
3
3
|
import { trigramSimilarity } from "../scoring/utils.js";
|
|
4
4
|
import { RateLimiter } from "../security/rate-limiter.js";
|
|
5
5
|
import { resolveClientKey } from "../security/client-key.js";
|
|
6
|
+
import { emitPolicyAudit, evaluateSweepPolicy, readPolicyConfigFromEnv } from "../security/policy.js";
|
|
6
7
|
const inputSchema = {
|
|
7
8
|
threadId: z
|
|
8
9
|
.string()
|
|
@@ -214,6 +215,24 @@ export function registerSweepTool(server, getAdapter, cache) {
|
|
|
214
215
|
...(notes.length > 0 ? { notes } : {}),
|
|
215
216
|
briefing,
|
|
216
217
|
};
|
|
218
|
+
const policy = readPolicyConfigFromEnv();
|
|
219
|
+
const gate = evaluateSweepPolicy({
|
|
220
|
+
adapter: adapter.name,
|
|
221
|
+
threatLevel,
|
|
222
|
+
participants,
|
|
223
|
+
patterns,
|
|
224
|
+
notes,
|
|
225
|
+
}, policy);
|
|
226
|
+
if (policy.enforce) {
|
|
227
|
+
output.policyGate = gate;
|
|
228
|
+
}
|
|
229
|
+
emitPolicyAudit("sweep", gate, {
|
|
230
|
+
adapter: adapter.name,
|
|
231
|
+
threadId,
|
|
232
|
+
participantCount: participants.length,
|
|
233
|
+
threatLevel,
|
|
234
|
+
patternCount: patterns.length,
|
|
235
|
+
}, policy);
|
|
217
236
|
const text = `## Thread Sweep: ${threadId}\n\n` +
|
|
218
237
|
`**Threat Level:** ${threatLevel}\n` +
|
|
219
238
|
`**Participants:** ${participants.length}\n\n` +
|
|
@@ -230,6 +249,22 @@ export function registerSweepTool(server, getAdapter, cache) {
|
|
|
230
249
|
.map((p) => `- @${p.handle}: ${p.score}/850 (${p.tier}) [${p.role}]`)
|
|
231
250
|
.join("\n")
|
|
232
251
|
: "- No participant scores available");
|
|
252
|
+
if (gate.blocked) {
|
|
253
|
+
return {
|
|
254
|
+
content: [
|
|
255
|
+
{
|
|
256
|
+
type: "text",
|
|
257
|
+
text: `Policy gate blocked this thread sweep.\n` +
|
|
258
|
+
`Adapter: ${adapter.name}\n` +
|
|
259
|
+
`Reasons:\n` +
|
|
260
|
+
gate.reasons.map((reason) => `- ${reason}`).join("\n"),
|
|
261
|
+
},
|
|
262
|
+
{ type: "text", text },
|
|
263
|
+
{ type: "text", text: "\n\n```json\n" + JSON.stringify(output, null, 2) + "\n```" },
|
|
264
|
+
],
|
|
265
|
+
isError: true,
|
|
266
|
+
};
|
|
267
|
+
}
|
|
233
268
|
return {
|
|
234
269
|
content: [
|
|
235
270
|
{ type: "text", text },
|
package/dist/tools/sweep.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sweep.js","sourceRoot":"","sources":["../../src/tools/sweep.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sweep.js","sourceRoot":"","sources":["../../src/tools/sweep.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const AGENTSCORE_VERSION = "1.0.
|
|
1
|
+
export declare const AGENTSCORE_VERSION = "1.0.5";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const AGENTSCORE_VERSION = "1.0.
|
|
1
|
+
export const AGENTSCORE_VERSION = "1.0.5";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentscore-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Trust scoring for AI agents. Investigate, verify, and compare agent trustworthiness through MCP.",
|
|
5
5
|
"author": "Tripti Mishra",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"scripts": {
|
|
35
35
|
"build": "tsc",
|
|
36
36
|
"start": "node dist/server.js",
|
|
37
|
+
"start:http": "AGENTSCORE_TRANSPORT=http node dist/server.js",
|
|
37
38
|
"dev": "tsx src/server.ts",
|
|
38
39
|
"test:suite": "node test/public-ready.test.mjs && node test/demo-adapter.test.mjs && node test/code-quality.test.mjs && node test/adapter-contract.test.mjs && node test/public-contract.test.mjs",
|
|
39
40
|
"test": "npm run build && npm run test:suite",
|