@aimarket/warden 0.9.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -1
- package/README-es.md +36 -11
- package/README-fr.md +36 -11
- package/README-ru.md +38 -11
- package/README-zh.md +36 -11
- package/README.md +38 -11
- package/dist/classifier.d.ts +39 -10
- package/dist/classifier.d.ts.map +1 -1
- package/dist/classifier.js +241 -45
- package/dist/classifier.js.map +1 -1
- package/dist/encoded-text.d.ts +7 -0
- package/dist/encoded-text.d.ts.map +1 -0
- package/dist/encoded-text.js +63 -0
- package/dist/encoded-text.js.map +1 -0
- package/dist/fold.d.ts +1 -2
- package/dist/fold.d.ts.map +1 -1
- package/dist/fold.js +3 -2
- package/dist/fold.js.map +1 -1
- package/dist/histor.d.ts +39 -4
- package/dist/histor.d.ts.map +1 -1
- package/dist/histor.js +11 -7
- package/dist/histor.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/mcp-tools.d.ts.map +1 -1
- package/dist/mcp-tools.js +29 -4
- package/dist/mcp-tools.js.map +1 -1
- package/dist/pin-store.d.ts.map +1 -1
- package/dist/pin-store.js +1 -0
- package/dist/pin-store.js.map +1 -1
- package/dist/pinning.d.ts +1 -1
- package/dist/pinning.d.ts.map +1 -1
- package/dist/pinning.js +12 -4
- package/dist/pinning.js.map +1 -1
- package/dist/result-screen.d.ts +19 -0
- package/dist/result-screen.d.ts.map +1 -0
- package/dist/result-screen.js +86 -0
- package/dist/result-screen.js.map +1 -0
- package/dist/scan-lock.d.ts.map +1 -1
- package/dist/scan-lock.js +2 -1
- package/dist/scan-lock.js.map +1 -1
- package/dist/scan-report.d.ts.map +1 -1
- package/dist/scan-report.js +15 -0
- package/dist/scan-report.js.map +1 -1
- package/dist/scan.d.ts +40 -0
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +245 -25
- package/dist/scan.js.map +1 -1
- package/dist/static-scan.d.ts +4 -3
- package/dist/static-scan.d.ts.map +1 -1
- package/dist/static-scan.js +40 -9
- package/dist/static-scan.js.map +1 -1
- package/dist/toxic-flow.d.ts +33 -0
- package/dist/toxic-flow.d.ts.map +1 -0
- package/dist/toxic-flow.js +117 -0
- package/dist/toxic-flow.js.map +1 -0
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/wrap-cli.d.ts +3 -0
- package/dist/wrap-cli.d.ts.map +1 -1
- package/dist/wrap-cli.js +17 -6
- package/dist/wrap-cli.js.map +1 -1
- package/dist/wrap-state.js +2 -2
- package/dist/wrap-state.js.map +1 -1
- package/dist/wrap.d.ts.map +1 -1
- package/dist/wrap.js +20 -2
- package/dist/wrap.js.map +1 -1
- package/docs/scan.es.md +29 -14
- package/docs/scan.fr.md +29 -14
- package/docs/scan.md +29 -14
- package/docs/scan.ru.md +29 -14
- package/docs/scan.zh.md +29 -14
- package/docs/scanner-comparison.es.md +3 -12
- package/docs/scanner-comparison.fr.md +3 -13
- package/docs/scanner-comparison.md +3 -12
- package/docs/scanner-comparison.ru.md +3 -12
- package/docs/scanner-comparison.zh.md +3 -7
- package/docs/security-hardening-language-boundary.md +306 -0
- package/package.json +6 -3
- package/scripts/check-quality-gate.mjs +64 -0
- package/scripts/quality-public-key.pem +3 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toxic flows: tools that are safe one by one and dangerous together.
|
|
3
|
+
*
|
|
4
|
+
* A client hands every server's tools to the same model. If one tool reads the
|
|
5
|
+
* user's private data, one lets text from outside in (a web page, an issue, an
|
|
6
|
+
* email), and one can send data out, then text arriving through the second can
|
|
7
|
+
* tell the model to read with the first and send with the third — Simon
|
|
8
|
+
* Willison's "lethal trifecta". No single server is at fault, so no per-server
|
|
9
|
+
* verdict sees it; it is a property of the config.
|
|
10
|
+
*
|
|
11
|
+
* Capability decisions come from operator policy bound to the launch identity and
|
|
12
|
+
* complete tool-set hash. Unbound tools remain unknown in every language. Legacy
|
|
13
|
+
* identifier heuristics below are review hints only, never evidence of safety.
|
|
14
|
+
*/
|
|
15
|
+
import { pinToolsHash, serverIdentityHash } from './pinning.js';
|
|
16
|
+
export const CAPABILITIES = ['private', 'untrusted', 'outbound'];
|
|
17
|
+
/** The words of an identifier: `searchFiles`, `read_file`, `get-issue` → search files / read file / get issue. */
|
|
18
|
+
export function words(identifier) {
|
|
19
|
+
return identifier
|
|
20
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1 $2')
|
|
21
|
+
.replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2')
|
|
22
|
+
.toLowerCase()
|
|
23
|
+
.split(/[^a-z0-9]+/)
|
|
24
|
+
.filter(Boolean);
|
|
25
|
+
}
|
|
26
|
+
const set = (...w) => new Set(w);
|
|
27
|
+
// Moving data off the machine: sending, posting, browsing to an address, or creating something others read.
|
|
28
|
+
const SEND = set('send', 'post', 'publish', 'tweet', 'reply', 'upload', 'share', 'notify', 'webhook', 'forward', 'sms', 'push', 'gist', 'invite', 'transfer', 'pay', 'submit', 'broadcast', 'dispatch');
|
|
29
|
+
const BROWSE = set('browse', 'navigate', 'goto', 'visit', 'http', 'request', 'curl');
|
|
30
|
+
const WRITE = set('create', 'add', 'open', 'write', 'new', 'make', 'leave');
|
|
31
|
+
const PUBLIC_OBJECTS = set('issue', 'comment', 'gist', 'pr', 'pull', 'post', 'tweet', 'message', 'review', 'discussion', 'reply');
|
|
32
|
+
const URL_PARAMS = set('url', 'uri', 'href', 'endpoint', 'webhook', 'webhookurl', 'link');
|
|
33
|
+
const RECIPIENT_PARAMS = set('to', 'recipient', 'recipients', 'cc', 'bcc', 'channel', 'chatid', 'phone');
|
|
34
|
+
// Reading the outside world: whatever arrives was written by someone else.
|
|
35
|
+
const UNTRUSTED_WORDS = set('fetch', 'browse', 'navigate', 'scrape', 'crawl', 'web', 'url', 'html', 'rss', 'feed', 'website', 'goto', 'visit', 'snapshot', 'screenshot', 'tweets', 'reddit', 'youtube', 'transcript');
|
|
36
|
+
const READ_VERBS = set('read', 'get', 'list', 'search', 'query', 'find', 'fetch', 'view', 'show', 'cat', 'load', 'retrieve', 'lookup', 'describe', 'download', 'export', 'check');
|
|
37
|
+
const INBOUND_OBJECTS = set('email', 'emails', 'mail', 'mails', 'inbox', 'issue', 'issues', 'comment', 'comments', 'message', 'messages', 'pr', 'prs', 'pull', 'review', 'reviews', 'ticket', 'tickets', 'thread', 'threads', 'post', 'posts', 'chat', 'chats', 'notification', 'notifications', 'discussion', 'discussions', 'tweet', 'mentions', 'channel', 'conversation', 'conversations');
|
|
38
|
+
const SEARCH_ENGINES = set('google', 'bing', 'brave', 'duckduckgo', 'tavily', 'exa', 'serp', 'serper', 'perplexity', 'internet', 'online', 'web');
|
|
39
|
+
// The user's own data.
|
|
40
|
+
const PRIVATE_OBJECTS = set('file', 'files', 'directory', 'directories', 'dir', 'folder', 'note', 'notes', 'email', 'emails', 'mail', 'inbox', 'message', 'messages', 'calendar', 'event', 'events', 'contact', 'contacts', 'repo', 'repos', 'repository', 'repositories', 'code', 'secret', 'secrets', 'credential', 'credentials', 'env', 'database', 'db', 'table', 'tables', 'sql', 'record', 'records', 'row', 'rows', 'memory', 'memories', 'entity', 'entities', 'graph', 'drive', 'sheet', 'sheets', 'spreadsheet', 'customer', 'customers', 'invoice', 'invoices', 'account', 'accounts', 'wallet', 'balance', 'key', 'keys', 'photo', 'photos', 'clipboard', 'history', 'vault', 'workspace', 'issue', 'issues', 'branch', 'commit', 'commits', 'diff', 'log', 'logs');
|
|
41
|
+
const PRIVATE_PARAMS = set('path', 'paths', 'filepath', 'filename', 'file', 'directory', 'dir', 'folder', 'sql', 'statement', 'repo', 'repository');
|
|
42
|
+
const PRIVATE_WORDS = set('sql', 'execute', 'filesystem', 'fs');
|
|
43
|
+
function paramNames(tool) {
|
|
44
|
+
const props = tool.inputSchema?.properties;
|
|
45
|
+
return props && typeof props === 'object' && !Array.isArray(props) ? Object.keys(props).map(k => k.toLowerCase().replace(/[^a-z0-9]/g, '')) : [];
|
|
46
|
+
}
|
|
47
|
+
/** What a tool can do, read from its name and parameter names. */
|
|
48
|
+
export function toolCapabilities(tool) {
|
|
49
|
+
const w = words(tool.name);
|
|
50
|
+
const has = (s) => w.some(x => s.has(x));
|
|
51
|
+
const params = paramNames(tool);
|
|
52
|
+
const param = (s) => params.some(p => s.has(p));
|
|
53
|
+
const reads = has(READ_VERBS);
|
|
54
|
+
const out = new Set();
|
|
55
|
+
if (has(SEND) || has(BROWSE) || (has(WRITE) && has(PUBLIC_OBJECTS)) || param(URL_PARAMS) || (!reads && param(RECIPIENT_PARAMS)))
|
|
56
|
+
out.add('outbound');
|
|
57
|
+
if (has(UNTRUSTED_WORDS) || (reads && has(INBOUND_OBJECTS)) || (w.includes('search') && has(SEARCH_ENGINES)) || param(URL_PARAMS))
|
|
58
|
+
out.add('untrusted');
|
|
59
|
+
if ((reads && has(PRIVATE_OBJECTS)) || has(PRIVATE_WORDS) || (reads && param(PRIVATE_PARAMS)))
|
|
60
|
+
out.add('private');
|
|
61
|
+
return out;
|
|
62
|
+
}
|
|
63
|
+
/** A package cannot self-declare trusted capabilities in its schema or annotations. */
|
|
64
|
+
export function boundCapabilities(server, tools, bindings = []) {
|
|
65
|
+
const matches = bindings.filter(b => b.serverId === server.id);
|
|
66
|
+
if (matches.length !== 1)
|
|
67
|
+
return undefined;
|
|
68
|
+
const b = matches[0];
|
|
69
|
+
try {
|
|
70
|
+
if (b.identityHash !== serverIdentityHash(server) || b.toolsHash !== pinToolsHash(tools))
|
|
71
|
+
return undefined;
|
|
72
|
+
if (tools.some(t => !Object.hasOwn(b.tools, t.name)))
|
|
73
|
+
return undefined;
|
|
74
|
+
return b.tools;
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const SHOWN = 3;
|
|
81
|
+
/** Per client: the three legs, if every one is present among the servers it starts. */
|
|
82
|
+
export function toxicFlows(servers) {
|
|
83
|
+
const byClient = new Map();
|
|
84
|
+
for (const s of servers)
|
|
85
|
+
if (s.tools?.length) {
|
|
86
|
+
const list = byClient.get(s.client) ?? [];
|
|
87
|
+
list.push({ key: s.key, tools: s.tools, capabilities: s.capabilities });
|
|
88
|
+
byClient.set(s.client, list);
|
|
89
|
+
}
|
|
90
|
+
const flows = [];
|
|
91
|
+
for (const [client, list] of byClient) {
|
|
92
|
+
const legs = { private: [], untrusted: [], outbound: [] };
|
|
93
|
+
const unknown = [];
|
|
94
|
+
for (const s of list)
|
|
95
|
+
for (const t of s.tools) {
|
|
96
|
+
const approved = s.capabilities && Object.hasOwn(s.capabilities, t.name) ? s.capabilities[t.name] : undefined;
|
|
97
|
+
if (!approved)
|
|
98
|
+
unknown.push({ server: s.key, tool: t.name });
|
|
99
|
+
// Unknown capabilities can contain every leg, whatever language the identifier uses.
|
|
100
|
+
for (const cap of approved ?? CAPABILITIES)
|
|
101
|
+
legs[cap].push({ server: s.key, tool: t.name });
|
|
102
|
+
}
|
|
103
|
+
if (!CAPABILITIES.every(c => legs[c].length))
|
|
104
|
+
continue;
|
|
105
|
+
const involved = new Set([...legs.private, ...legs.untrusted, ...legs.outbound].map(t => t.server));
|
|
106
|
+
flows.push({ client, certainty: unknown.length ? 'possible' : 'confirmed', unknown, private: legs.private.slice(0, SHOWN), untrusted: legs.untrusted.slice(0, SHOWN), outbound: legs.outbound.slice(0, SHOWN), servers: involved.size });
|
|
107
|
+
}
|
|
108
|
+
return flows;
|
|
109
|
+
}
|
|
110
|
+
export function flowSentence(f, show) {
|
|
111
|
+
const leg = (ts) => ts.map(show).join(', ');
|
|
112
|
+
if (f.unknown.length)
|
|
113
|
+
return `${f.client} has a possible private-data / untrusted-input / outbound path: capabilities of ${leg(f.unknown.slice(0, SHOWN))} are unknown. Review and bind operator capabilities to the launch identity and definitions; unrecognized names are not evidence of safety.`;
|
|
114
|
+
return `${f.client} can read private data (${leg(f.private)}), take in text from outside (${leg(f.untrusted)}) and send data out (${leg(f.outbound)}). ` +
|
|
115
|
+
'Text that arrives through the second can tell the model to read with the first and send with the third.';
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=toxic-flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toxic-flow.js","sourceRoot":"","sources":["../src/toxic-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAKhE,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAExF,kHAAkH;AAClH,MAAM,UAAU,KAAK,CAAC,UAAkB;IACtC,OAAO,UAAU;SACd,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;SACzC,WAAW,EAAE;SACb,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,GAAG,CAAW,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3C,4GAA4G;AAC5G,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAC5H,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAC1E,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACrF,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5E,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAClI,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAC1F,MAAM,gBAAgB,GAAG,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzG,2EAA2E;AAC3E,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAC1H,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAC1F,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EACzH,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvD,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EACtI,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EACpH,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;AACjI,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAClJ,uBAAuB;AACvB,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAClI,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EACnI,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAChI,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EACzH,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAC7H,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5G,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AACpJ,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAEhE,SAAS,UAAU,CAAC,IAAa;IAC/B,MAAM,KAAK,GAAI,IAAI,CAAC,WAAoD,EAAE,UAAU,CAAC;IACrF,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnJ,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAc,CAAC;IAClC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrJ,IAAI,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxJ,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,iBAAiB,CAAC,MAAoB,EAAE,KAAgB,EAAE,WAAyC,EAAE;IACnH,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IACtB,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,YAAY,KAAK,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,YAAY,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3G,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QACvE,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;AAcD,MAAM,KAAK,GAAG,CAAC,CAAC;AAEhB,uFAAuF;AACvF,MAAM,UAAU,UAAU,CAAC,OAAgI;IACzJ,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0G,CAAC;IACnI,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;YACxE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;IACD,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,GAAmC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC1F,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9G,IAAI,CAAC,QAAQ;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7D,qFAAqF;gBACrF,KAAK,MAAM,GAAG,IAAI,QAAQ,IAAI,YAAY;oBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9F,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,SAAS;QACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACpG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3O,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAY,EAAE,IAA6B;IACtE,MAAM,GAAG,GAAG,CAAC,EAAc,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC,CAAC,MAAM,mFAAmF,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,4IAA4I,CAAC;IACtS,OAAO,GAAG,CAAC,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,iCAAiC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK;QACtJ,yGAAyG,CAAC;AAC9G,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -90,7 +90,15 @@ export interface WardenGate {
|
|
|
90
90
|
readonly name: string;
|
|
91
91
|
evaluate(input: WardenGateInput): Promise<WardenGateResult>;
|
|
92
92
|
}
|
|
93
|
+
/** Operator supplied, bound to launch identity and the full reviewed definition snapshot. */
|
|
94
|
+
export interface CapabilityBinding {
|
|
95
|
+
serverId: string;
|
|
96
|
+
identityHash: string;
|
|
97
|
+
toolsHash: string;
|
|
98
|
+
tools: Record<string, Array<'private' | 'untrusted' | 'outbound'>>;
|
|
99
|
+
}
|
|
93
100
|
export interface WardenPolicy {
|
|
101
|
+
capabilityBindings?: CapabilityBinding[];
|
|
94
102
|
/** Block the whole connection if any finding >= this severity. */
|
|
95
103
|
blockAtSeverity: Severity;
|
|
96
104
|
/** Tool names that always require explicit user approval before running. */
|
|
@@ -110,6 +118,8 @@ export interface WardenPolicy {
|
|
|
110
118
|
allowUnknownServers: boolean;
|
|
111
119
|
/** Re-approval required if a server's tool defs change after pinning. */
|
|
112
120
|
pinToolDefs: boolean;
|
|
121
|
+
/** Admit only an explicitly approved v2 snapshot. Automatic/legacy pins do not count. */
|
|
122
|
+
requireApproval?: boolean;
|
|
113
123
|
}
|
|
114
124
|
/** A pinned snapshot of a server's tools, used for drift detection. */
|
|
115
125
|
export interface PinnedServer {
|
|
@@ -119,6 +129,8 @@ export interface PinnedServer {
|
|
|
119
129
|
/** v2 includes all advertised fields; plain three-field definitions retain their digest. */
|
|
120
130
|
toolsHashVersion?: number;
|
|
121
131
|
approvedAt: string;
|
|
132
|
+
/** Missing on legacy pins. TOFU is deliberately distinguishable from operator review. */
|
|
133
|
+
approvalMode?: "operator" | "automatic";
|
|
122
134
|
toolNames: string[];
|
|
123
135
|
/** Definitions retained for operator review; do not supply live credentials. */
|
|
124
136
|
tools?: ToolDef[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/wrap-cli.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ResultPolicy } from './result-screen.js';
|
|
1
2
|
import { ThreatFeed } from './index.js';
|
|
2
3
|
import type { McpServerRef, WardenLogger, WardenPolicy } from './types.js';
|
|
3
4
|
export interface WrapOptions {
|
|
@@ -12,6 +13,8 @@ export interface WrapOptions {
|
|
|
12
13
|
feedKey?: string;
|
|
13
14
|
verdictLog?: string;
|
|
14
15
|
auditOnly: boolean;
|
|
16
|
+
/** What happens to a tool result whose text reads as instructions to the model (result-screen.ts). */
|
|
17
|
+
results: ResultPolicy;
|
|
15
18
|
}
|
|
16
19
|
export declare function parseWrapArgs(argv: string[]): Promise<WrapOptions>;
|
|
17
20
|
export declare function wrapServer(opts: WrapOptions): McpServerRef;
|
package/dist/wrap-cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-cli.d.ts","sourceRoot":"","sources":["../src/wrap-cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wrap-cli.d.ts","sourceRoot":"","sources":["../src/wrap-cli.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOxE,OAAO,EAAU,UAAU,EAAiD,MAAM,YAAY,CAAC;AAG/F,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE3E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACtF,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACjH,sGAAsG;IACtG,OAAO,EAAE,YAAY,CAAC;CACvB;AACD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAsDxE;AACD,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAG1D;AACD,wBAAgB,UAAU,CAAC,SAAS,UAAQ,GAAG,YAAY,CAI1D;AACD,wBAAsB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAMzE;AACD,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC9D"}
|
package/dist/wrap-cli.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { RESULT_POLICIES } from './result-screen.js';
|
|
2
3
|
import { createHash, createPublicKey } from 'node:crypto';
|
|
3
4
|
import { createInterface } from 'node:readline/promises';
|
|
4
5
|
import { join } from 'node:path';
|
|
@@ -11,7 +12,7 @@ export async function parseWrapArgs(argv) {
|
|
|
11
12
|
const mode = argv.shift();
|
|
12
13
|
if (mode !== 'wrap' && mode !== 'pins')
|
|
13
14
|
throw new Error('Usage: warden-mcp wrap [flags] -- command [args] | pins status|approve|revoke --id ID');
|
|
14
|
-
const opts = { mode, args: [], stateDir: defaultStateDir(), policy: asPolicy(undefined), auditOnly: false };
|
|
15
|
+
const opts = { mode, args: [], stateDir: defaultStateDir(), policy: asPolicy(undefined), auditOnly: false, results: 'warn' };
|
|
15
16
|
if (mode === 'pins') {
|
|
16
17
|
opts.action = argv.shift();
|
|
17
18
|
if (!['status', 'approve', 'revoke'].includes(opts.action ?? ''))
|
|
@@ -32,7 +33,10 @@ export async function parseWrapArgs(argv) {
|
|
|
32
33
|
opts.auditOnly = true;
|
|
33
34
|
continue;
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
+
if (flag === '--require-approval' && mode === 'wrap') {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
const allowed = mode === 'wrap' ? ['--id', '--state-dir', '--policy', '--feed', '--feed-key', '--verdict-log', '--results'] : ['--id', '--state-dir', '--feed', '--feed-key'];
|
|
36
40
|
if (!allowed.includes(flag))
|
|
37
41
|
throw new Error(`Unknown flag ${flag}`);
|
|
38
42
|
const value = argv.shift();
|
|
@@ -56,15 +60,20 @@ export async function parseWrapArgs(argv) {
|
|
|
56
60
|
case '--verdict-log':
|
|
57
61
|
opts.verdictLog = value;
|
|
58
62
|
break;
|
|
63
|
+
case '--results':
|
|
64
|
+
if (!RESULT_POLICIES.includes(value))
|
|
65
|
+
throw new Error('--results must be off, warn or block');
|
|
66
|
+
opts.results = value;
|
|
67
|
+
break;
|
|
59
68
|
case '--policy': {
|
|
60
69
|
const raw = JSON.parse(await readFile(value, 'utf8'));
|
|
61
70
|
// asPolicy preserves compatibility for MCP callers; CLI files must not silently repair bad types.
|
|
62
71
|
if (!raw || typeof raw !== 'object' || Array.isArray(raw))
|
|
63
72
|
throw new Error('policy must be an object');
|
|
64
73
|
for (const key of Object.keys(raw))
|
|
65
|
-
if (!['blockAtSeverity', 'pinToolDefs', 'allowUnknownServers', 'sensitiveToolPatterns'].includes(key))
|
|
74
|
+
if (!['blockAtSeverity', 'pinToolDefs', 'allowUnknownServers', 'sensitiveToolPatterns', 'requireApproval', 'capabilityBindings'].includes(key))
|
|
66
75
|
throw new Error(`Unknown policy field ${key}`);
|
|
67
|
-
for (const key of ['pinToolDefs', 'allowUnknownServers'])
|
|
76
|
+
for (const key of ['pinToolDefs', 'allowUnknownServers', 'requireApproval'])
|
|
68
77
|
if (key in raw && typeof raw[key] !== 'boolean')
|
|
69
78
|
throw new Error(`policy.${key} must be boolean`);
|
|
70
79
|
if ('blockAtSeverity' in raw && typeof raw.blockAtSeverity !== 'string')
|
|
@@ -78,6 +87,8 @@ export async function parseWrapArgs(argv) {
|
|
|
78
87
|
}
|
|
79
88
|
if (mode === 'wrap' && !opts.command)
|
|
80
89
|
throw new Error('wrap requires -- command [args]');
|
|
90
|
+
if (seen.has('--require-approval'))
|
|
91
|
+
opts.policy.requireApproval = true;
|
|
81
92
|
if (mode === 'pins' && !opts.id)
|
|
82
93
|
throw new Error('pins requires --id');
|
|
83
94
|
if (opts.feed) {
|
|
@@ -146,12 +157,12 @@ export async function runPins(opts) {
|
|
|
146
157
|
throw new Error('No reviewed tool snapshot available');
|
|
147
158
|
const policy = asPolicy(current.policy);
|
|
148
159
|
// Re-approval removes only pin drift; the other gates still have to pass.
|
|
149
|
-
const warden = Warden.create({ policy, threatFeed: feed, store: { getPin: async () => undefined, putPin: async () => { } } });
|
|
160
|
+
const warden = Warden.create({ policy: { ...policy, requireApproval: false }, threatFeed: feed, store: { getPin: async () => undefined, putPin: async () => { } } });
|
|
150
161
|
const verdict = await warden.vet(current.server, tools);
|
|
151
162
|
if (!verdict.allow)
|
|
152
163
|
throw new Error(`Approval blocked: ${verdict.findings.map(f => f.code).join(', ')}`);
|
|
153
164
|
await store.replace(id, pinRevision(previous), { serverId: id, tools, toolsHash: pinToolsHash(tools), toolsHashVersion: 2,
|
|
154
|
-
identityHash: serverIdentityHash(current.server), toolNames: tools.map(t => t.name).sort(), approvedAt: new Date().toISOString() });
|
|
165
|
+
identityHash: serverIdentityHash(current.server), toolNames: tools.map(t => t.name).sort(), approvedAt: new Date().toISOString(), approvalMode: 'operator' });
|
|
155
166
|
await writeState(path, { ...current, revoked: false });
|
|
156
167
|
}
|
|
157
168
|
});
|
package/dist/wrap-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-cli.js","sourceRoot":"","sources":["../src/wrap-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"wrap-cli.js","sourceRoot":"","sources":["../src/wrap-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/wrap-state.js
CHANGED
|
@@ -32,11 +32,11 @@ export async function vetAndPin(dir, server, tools, policy, store, warden, feed,
|
|
|
32
32
|
throw new WardenBlock('tools changed, blocked by WARDEN during verification');
|
|
33
33
|
if (previous?.revoked && !auditOnly)
|
|
34
34
|
throw new WardenBlock('Approval revoked; inspect pins status and approve before reconnecting');
|
|
35
|
-
if (!auditOnly && verdict.allow && policy.pinToolDefs && !previous?.revoked && !await store.getPin(server.id)) {
|
|
35
|
+
if (!auditOnly && !policy.requireApproval && verdict.allow && policy.pinToolDefs && !previous?.revoked && !await store.getPin(server.id)) {
|
|
36
36
|
// Use the published approve API with a CAS adapter: other hosts may share this store.
|
|
37
37
|
const firstContact = Warden.create({ policy, threatFeed: feed,
|
|
38
38
|
store: { getPin: id => store.getPin(id), putPin: pin => store.replace(server.id, null, pin) } });
|
|
39
|
-
await firstContact.approve(server, tools);
|
|
39
|
+
await firstContact.approve(server, tools, 'automatic');
|
|
40
40
|
}
|
|
41
41
|
return verdict;
|
|
42
42
|
});
|
package/dist/wrap-state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-state.js","sourceRoot":"","sources":["../src/wrap-state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wrap-state.js","sourceRoot":"","sources":["../src/wrap-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWnF,uGAAuG;AACvG,MAAM,OAAO,WAAY,SAAQ,KAAK;CAAG;AAEzC,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,EAAU;IACrD,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC;AACpF,CAAC;AACD,MAAM,UAAU,mBAAmB,CAAC,KAA8B;IAChE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpF,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,KAAkB;IAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAc,IAAI,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1J,MAAM,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,MAAoB,EAAE,KAAgB,EAAE,MAAoB,EACvG,KAAmB,EAAE,MAAc,EAAE,IAAgB,EAAE,SAAkB,EAAE,SAAwB,EAAE,MAAkC;IACvI,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7C,OAAO,aAAa,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAc,IAAI,CAAC,CAAC;QACpD,MAAM,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,OAAO,CAAC,CAAC;QAChB,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE;YAAE,MAAM,IAAI,WAAW,CAAC,sDAAsD,CAAC,CAAC;QAC9G,IAAI,QAAQ,EAAE,OAAO,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,WAAW,CAAC,uEAAuE,CAAC,CAAC;QACpI,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACzI,sFAAsF;YACtF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI;gBAC3D,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACnG,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAqD,EAAE,OAAgC;IACpH,MAAM,QAAQ,GAAG,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,IAAI,QAAQ,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,sBAAsB,QAAQ,EAAE,YAAY,IAAI,QAAQ,EAAE;QACvE,sBAAsB,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC/E,WAAW,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;IACrJ,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,IAAI,GAAG;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAChD,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,mBAAmB,QAAQ,EAAE,SAAS,IAAI,QAAQ,EAAE,EAAE,mBAAmB,YAAY,CAAC,QAAQ,CAAC,EAAE,EAC1G,YAAY,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AACD,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
package/dist/wrap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAcvF,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAwOhE"}
|
package/dist/wrap.js
CHANGED
|
@@ -9,6 +9,7 @@ import { loadWrapFeed, wrapLogger, wrapServer } from './wrap-cli.js';
|
|
|
9
9
|
import { observe, vetAndPin, observationPath, WardenBlock } from './wrap-state.js';
|
|
10
10
|
import { readState } from './state.js';
|
|
11
11
|
import { listAllTools } from './tool-list.js';
|
|
12
|
+
import { screenResult, annotateResult } from './result-screen.js';
|
|
12
13
|
function parse(body) {
|
|
13
14
|
const msg = JSON.parse(body);
|
|
14
15
|
if (!msg || Array.isArray(msg) || msg.jsonrpc !== '2.0' ||
|
|
@@ -221,7 +222,7 @@ export async function runWrap(opts) {
|
|
|
221
222
|
throw new Error('tool blocked by WARDEN: definition changed since exposure');
|
|
222
223
|
if (tracked.size >= 256 || tracked.has(msg.id))
|
|
223
224
|
throw new Error('Too many or duplicate pending MCP requests');
|
|
224
|
-
tracked.set(msg.id, { kind: 'call', generation });
|
|
225
|
+
tracked.set(msg.id, { kind: 'call', generation, tool: String(name) });
|
|
225
226
|
childWrite(body);
|
|
226
227
|
}
|
|
227
228
|
}
|
|
@@ -285,13 +286,30 @@ export async function runWrap(opts) {
|
|
|
285
286
|
fail(msg, 'tools changed, blocked by WARDEN; result withheld, execution may already have occurred');
|
|
286
287
|
return;
|
|
287
288
|
}
|
|
289
|
+
if (request.kind === 'call' && opts.results !== 'off' && msg.result && typeof msg.result === 'object') {
|
|
290
|
+
// The result is new text every call, from wherever the tool reads: screen it as it passes.
|
|
291
|
+
const tool = request.tool ?? '';
|
|
292
|
+
const screen = await screenResult(server, tool, msg.result, opts.policy);
|
|
293
|
+
if (screen.flagged) {
|
|
294
|
+
if (screen.verdict)
|
|
295
|
+
record(screen.verdict);
|
|
296
|
+
if (!opts.auditOnly) {
|
|
297
|
+
if (opts.results === 'block') {
|
|
298
|
+
fail(msg, `tool result withheld by WARDEN: ${screen.complete ? 'it reads as instructions to the model' : 'inspection is incomplete'} (${screen.codes.join(', ')}); the tool already ran`);
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
send({ ...msg, result: annotateResult(msg.result, tool, screen.codes) });
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
288
306
|
if (request.kind === 'initialize' && msg.result && typeof msg.result === 'object') {
|
|
289
307
|
msg.result.capabilities = { ...msg.result.capabilities, tools: { ...msg.result.capabilities?.tools, listChanged: true } };
|
|
290
308
|
if (typeof msg.result.instructions === 'string') {
|
|
291
309
|
const scan = new Warden({ policy: opts.policy, gates: [new StaticScanGate()] });
|
|
292
310
|
const verdict = await scan.vet(server, [{ name: 'initialize.instructions', description: msg.result.instructions, inputSchema: { type: 'object' } }]);
|
|
293
311
|
record(verdict);
|
|
294
|
-
if (!verdict.allow && !opts.auditOnly)
|
|
312
|
+
if ((!verdict.allow || opts.policy.requireApproval) && !opts.auditOnly)
|
|
295
313
|
delete msg.result.instructions;
|
|
296
314
|
}
|
|
297
315
|
else if (msg.result.instructions !== undefined && !opts.auditOnly)
|
package/dist/wrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":"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"}
|