@chrischall/mcp-utils 2.15.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +493 -26
  2. package/dist/auth/index.d.ts +25 -1
  3. package/dist/auth/index.d.ts.map +1 -1
  4. package/dist/auth/index.js +105 -14
  5. package/dist/auth/index.js.map +1 -1
  6. package/dist/config/index.d.ts +13 -0
  7. package/dist/config/index.d.ts.map +1 -1
  8. package/dist/config/index.js +3 -2
  9. package/dist/config/index.js.map +1 -1
  10. package/dist/dates/index.d.ts +45 -5
  11. package/dist/dates/index.d.ts.map +1 -1
  12. package/dist/dates/index.js +64 -6
  13. package/dist/dates/index.js.map +1 -1
  14. package/dist/errors/index.d.ts +121 -7
  15. package/dist/errors/index.d.ts.map +1 -1
  16. package/dist/errors/index.js +154 -9
  17. package/dist/errors/index.js.map +1 -1
  18. package/dist/fs/output.d.ts +25 -8
  19. package/dist/fs/output.d.ts.map +1 -1
  20. package/dist/fs/output.js +27 -5
  21. package/dist/fs/output.js.map +1 -1
  22. package/dist/graphql/client.d.ts +8 -1
  23. package/dist/graphql/client.d.ts.map +1 -1
  24. package/dist/graphql/client.js +11 -3
  25. package/dist/graphql/client.js.map +1 -1
  26. package/dist/healthcheck/index.d.ts +11 -9
  27. package/dist/healthcheck/index.d.ts.map +1 -1
  28. package/dist/healthcheck/index.js +39 -23
  29. package/dist/healthcheck/index.js.map +1 -1
  30. package/dist/http/body-limit.d.ts +37 -0
  31. package/dist/http/body-limit.d.ts.map +1 -0
  32. package/dist/http/body-limit.js +86 -0
  33. package/dist/http/body-limit.js.map +1 -0
  34. package/dist/http/fetch-bounded.d.ts +91 -0
  35. package/dist/http/fetch-bounded.d.ts.map +1 -0
  36. package/dist/http/fetch-bounded.js +138 -0
  37. package/dist/http/fetch-bounded.js.map +1 -0
  38. package/dist/http/index.d.ts +231 -6
  39. package/dist/http/index.d.ts.map +1 -1
  40. package/dist/http/index.js +432 -56
  41. package/dist/http/index.js.map +1 -1
  42. package/dist/http/response-cache.d.ts +36 -3
  43. package/dist/http/response-cache.d.ts.map +1 -1
  44. package/dist/http/response-cache.js +84 -8
  45. package/dist/http/response-cache.js.map +1 -1
  46. package/dist/http/throttle.d.ts +37 -4
  47. package/dist/http/throttle.d.ts.map +1 -1
  48. package/dist/http/throttle.js +65 -6
  49. package/dist/http/throttle.js.map +1 -1
  50. package/dist/http/url-safety.d.ts +142 -0
  51. package/dist/http/url-safety.d.ts.map +1 -0
  52. package/dist/http/url-safety.js +211 -0
  53. package/dist/http/url-safety.js.map +1 -0
  54. package/dist/netguard/index.d.ts +196 -0
  55. package/dist/netguard/index.d.ts.map +1 -0
  56. package/dist/netguard/index.js +365 -0
  57. package/dist/netguard/index.js.map +1 -0
  58. package/dist/server/confirm-env.d.ts +17 -8
  59. package/dist/server/confirm-env.d.ts.map +1 -1
  60. package/dist/server/confirm-env.js +22 -13
  61. package/dist/server/confirm-env.js.map +1 -1
  62. package/dist/server/confirm-write.js +1 -1
  63. package/dist/server/confirm-write.js.map +1 -1
  64. package/dist/server/index.d.ts +6 -2
  65. package/dist/server/index.d.ts.map +1 -1
  66. package/dist/server/index.js +24 -9
  67. package/dist/server/index.js.map +1 -1
  68. package/dist/session/index.d.ts +6 -0
  69. package/dist/session/index.d.ts.map +1 -1
  70. package/dist/session/index.js +12 -1
  71. package/dist/session/index.js.map +1 -1
  72. package/dist/zod/index.d.ts +6 -0
  73. package/dist/zod/index.d.ts.map +1 -1
  74. package/dist/zod/index.js +8 -1
  75. package/dist/zod/index.js.map +1 -1
  76. package/package.json +11 -2
@@ -0,0 +1,365 @@
1
+ /**
2
+ * SSRF guard for fetching a URL somebody else chose — a link from a tool
3
+ * argument, an email click-tracker, an `images_url`, every redirect any of
4
+ * them issue — so it can only reach the public internet.
5
+ *
6
+ * Fleet audit 2026-09-24 (chrischall/fleet-audit#1150). Three repos had grown
7
+ * three copies of the same table and none closed the gap the audit named:
8
+ *
9
+ * - accessoticketing-mcp `src/netguard.ts` resolved the name, checked every
10
+ * address, then let `fetch` resolve it AGAIN — so a DNS-rebinding name
11
+ * could answer public at check time and `169.254.169.254` at connect time
12
+ * (its own header comment said so) — and its redirect loop ran
13
+ * `hops <= MAX_REDIRECTS`, i.e. eleven requests for a limit of ten;
14
+ * - gemini-mcp `src/fetch-image.ts` judged only IP LITERALS ("closing
15
+ * [rebinding] needs resolve-then-pin, which neither Node's nor workerd's
16
+ * fetch exposes"), so any name pointing inward passed;
17
+ * - mcp-host `packages/core/src/egress.ts` had the most complete table, and
18
+ * the pin, but inside its own CONNECT proxy.
19
+ *
20
+ * This module is the one table and the pin:
21
+ *
22
+ * - {@link isPublicAddress} — one IPv4 + IPv6 block table (private,
23
+ * loopback, link-local / cloud metadata, CGNAT, ULA, multicast, reserved,
24
+ * documentation, and the forms that EMBED an IPv4 judged by that IPv4).
25
+ * Hand-parsed rather than `node:net`, and FAILS CLOSED on anything it
26
+ * cannot parse.
27
+ * - {@link createPublicOnlyDispatcher} — an undici `Agent` whose connector
28
+ * resolves the name itself (injectable resolver), refuses the connection
29
+ * with `UrlNotAllowedError` when ANY address is not public, and hands the
30
+ * socket exactly the addresses it vetted. There is no second resolution,
31
+ * so there is no lookup-to-connect window to rebind in. An IP-literal host
32
+ * (which Node never looks up) is judged directly.
33
+ * - {@link fetchPublic} — `fetch` through that dispatcher with MANUAL
34
+ * redirects: `assertAllowedUrl` on the first URL and on every hop, at most
35
+ * `maxRedirects` follow-up requests (so `maxRedirects + 1` requests in
36
+ * all), credential headers dropped on a cross-origin hop, one deadline
37
+ * over the whole exchange, and an optional byte cap.
38
+ *
39
+ * A SUBPATH (`@chrischall/mcp-utils/netguard`), never the root barrel: it
40
+ * imports `undici` (an optional peer), and only the few servers that fetch
41
+ * third-party URLs should have to install it.
42
+ *
43
+ * TLS still validates the certificate against the NAME (undici sets SNI /
44
+ * `servername` from the URL host), so pinning the address costs no
45
+ * certificate checking.
46
+ */
47
+ import { lookup as dnsLookup } from 'node:dns/promises';
48
+ import { isIP } from 'node:net';
49
+ import { Agent, buildConnector, fetch as undiciFetch, Headers } from 'undici';
50
+ import { McpToolError } from '../errors/index.js';
51
+ import { assertAllowedUrl, RedirectRefusedError, RequestTimeoutError, UrlNotAllowedError, } from '../http/index.js';
52
+ import { readBytesCapped } from '../http/body-limit.js';
53
+ // ---------------------------------------------------------------------------
54
+ // isPublicAddress
55
+ // ---------------------------------------------------------------------------
56
+ /**
57
+ * Is this textual IP address one the public internet routes?
58
+ *
59
+ * `false` for everything else — and for anything that is not a well-formed
60
+ * IPv4 dotted quad or IPv6 literal (a bracketed `[::1]`, a zone id
61
+ * `fe80::1%eth0`, the `127.1` shorthand): a guard that admits what it does not
62
+ * understand is the wrong default for this control.
63
+ *
64
+ * The ranges:
65
+ *
66
+ * IPv4 0/8 this-network, 10/8 + 172.16/12 + 192.168/16 RFC 1918,
67
+ * 100.64/10 CGNAT, 127/8 loopback, 169.254/16 link-local (the cloud
68
+ * metadata service), 192.0.0/24 protocol assignments, 192.0.2/24 +
69
+ * 198.51.100/24 + 203.0.113/24 TEST-NET, 192.88.99/24 6to4 relay
70
+ * anycast, 198.18/15 benchmarking, 224/4 multicast, 240/4 reserved
71
+ * including broadcast.
72
+ * IPv6 ::/96 (unspecified, loopback, and the deprecated IPv4-compatible
73
+ * form — refused WHOLE, even around a public IPv4), 64:ff9b:1::/48
74
+ * local-use NAT64, 100::/64 discard, 2001::/32 Teredo, 2001:2::/48
75
+ * benchmarking, 2001:10::/28 + 2001:20::/28 ORCHID, 2001:db8::/32 +
76
+ * 3fff::/20 documentation, 5f00::/16 SRv6, fc00::/7 ULA (Fly's 6PN
77
+ * `fdaa::/16` lives here), fe80::/10 link-local, fec0::/10
78
+ * site-local, ff00::/8 multicast.
79
+ * Embedded IPv4 — `::ffff:a.b.c.d` (mapped, what a dual-stack resolver
80
+ * returns for an A record), `::ffff:0:a.b.c.d` (SIIT), 64:ff9b::/96
81
+ * (NAT64) and 2002::/16 (6to4) — judged by the IPv4 they carry, so
82
+ * `::ffff:7f00:1` is loopback and `::ffff:8.8.8.8` is public.
83
+ *
84
+ * Consolidates accessoticketing-mcp `isPrivateAddress`, gemini-mcp
85
+ * `isPrivateIpv4`/`isPrivateIpv6` and mcp-host `isPublicAddress`.
86
+ */
87
+ export function isPublicAddress(ip) {
88
+ const v4 = parseIPv4(ip);
89
+ if (v4)
90
+ return isPublicIPv4(v4);
91
+ const v6 = parseIPv6(ip);
92
+ if (v6)
93
+ return isPublicIPv6(v6);
94
+ return false;
95
+ }
96
+ /** Four octets for a canonical dotted quad, else `undefined`. */
97
+ function parseIPv4(text) {
98
+ if (!/^\d{1,3}(\.\d{1,3}){3}$/.test(text))
99
+ return undefined;
100
+ const octets = text.split('.').map(Number);
101
+ return octets.every((o) => o <= 255) ? octets : undefined;
102
+ }
103
+ /** 16 bytes, or `undefined` for anything that is not a well-formed IPv6 literal. */
104
+ function parseIPv6(text) {
105
+ if (!/^[0-9a-fA-F:.]+$/.test(text) || !text.includes(':'))
106
+ return undefined;
107
+ const halves = text.split('::');
108
+ if (halves.length > 2)
109
+ return undefined;
110
+ const groups = (part) => {
111
+ if (part === '')
112
+ return [];
113
+ const out = [];
114
+ const pieces = part.split(':');
115
+ for (const [i, piece] of pieces.entries()) {
116
+ if (i === pieces.length - 1 && piece.includes('.')) {
117
+ const v4 = parseIPv4(piece);
118
+ if (!v4)
119
+ return undefined;
120
+ const [a = 0, b = 0, c = 0, d = 0] = v4;
121
+ out.push((a << 8) | b, (c << 8) | d);
122
+ continue;
123
+ }
124
+ if (!/^[0-9a-fA-F]{1,4}$/.test(piece))
125
+ return undefined;
126
+ out.push(parseInt(piece, 16));
127
+ }
128
+ return out;
129
+ };
130
+ const head = groups(halves[0] ?? '');
131
+ const tail = halves.length === 2 ? groups(halves[1] ?? '') : [];
132
+ if (!head || !tail)
133
+ return undefined;
134
+ const fill = 8 - head.length - tail.length;
135
+ if (halves.length === 2 ? fill < 1 : fill !== 0)
136
+ return undefined;
137
+ const words = [...head, ...new Array(fill).fill(0), ...tail];
138
+ const bytes = [];
139
+ for (const w of words)
140
+ bytes.push(w >> 8, w & 0xff);
141
+ return bytes;
142
+ }
143
+ function inRange(bytes, prefix, bits) {
144
+ for (let i = 0; i < bits; i += 1) {
145
+ const byte = i >> 3;
146
+ const mask = 0x80 >> (i & 7);
147
+ if (((bytes[byte] ?? 0) & mask) !== ((prefix[byte] ?? 0) & mask))
148
+ return false;
149
+ }
150
+ return true;
151
+ }
152
+ const BLOCKED_V4 = [
153
+ [[0, 0, 0, 0], 8], // this network
154
+ [[10, 0, 0, 0], 8], // RFC 1918
155
+ [[100, 64, 0, 0], 10], // CGNAT
156
+ [[127, 0, 0, 0], 8], // loopback
157
+ [[169, 254, 0, 0], 16], // link-local, incl. cloud metadata
158
+ [[172, 16, 0, 0], 12], // RFC 1918
159
+ [[192, 0, 0, 0], 24], // IETF protocol assignments
160
+ [[192, 0, 2, 0], 24], // TEST-NET-1
161
+ [[192, 88, 99, 0], 24], // 6to4 relay anycast (deprecated)
162
+ [[192, 168, 0, 0], 16], // RFC 1918
163
+ [[198, 18, 0, 0], 15], // benchmarking
164
+ [[198, 51, 100, 0], 24], // TEST-NET-2
165
+ [[203, 0, 113, 0], 24], // TEST-NET-3
166
+ [[224, 0, 0, 0], 4], // multicast
167
+ [[240, 0, 0, 0], 4], // reserved + broadcast
168
+ ];
169
+ function isPublicIPv4(octets) {
170
+ return !BLOCKED_V4.some(([prefix, bits]) => inRange(octets, prefix, bits));
171
+ }
172
+ const V6 = (hex) => parseIPv6(hex);
173
+ const BLOCKED_V6 = [
174
+ [V6('::'), 96], // ::, ::1 and the deprecated IPv4-compatible form, refused whole
175
+ [V6('64:ff9b:1::'), 48], // local-use NAT64 (RFC 8215)
176
+ [V6('100::'), 64], // discard-only
177
+ [V6('2001::'), 32], // Teredo
178
+ [V6('2001:2::'), 48], // benchmarking
179
+ [V6('2001:10::'), 28], // ORCHID (deprecated)
180
+ [V6('2001:20::'), 28], // ORCHIDv2
181
+ [V6('2001:db8::'), 32], // documentation
182
+ [V6('3fff::'), 20], // documentation (RFC 9637)
183
+ [V6('5f00::'), 16], // SRv6 SIDs
184
+ [V6('fc00::'), 7], // unique local
185
+ [V6('fe80::'), 10], // link-local
186
+ [V6('fec0::'), 10], // site-local (deprecated)
187
+ [V6('ff00::'), 8], // multicast
188
+ ];
189
+ const MAPPED_V4 = V6('::ffff:0:0');
190
+ const SIIT_V4 = V6('::ffff:0:0:0');
191
+ const NAT64 = V6('64:ff9b::');
192
+ const SIX_TO_FOUR = V6('2002::');
193
+ function isPublicIPv6(bytes) {
194
+ if (inRange(bytes, MAPPED_V4, 96) || inRange(bytes, SIIT_V4, 96) || inRange(bytes, NAT64, 96)) {
195
+ return isPublicIPv4(bytes.slice(12, 16));
196
+ }
197
+ if (inRange(bytes, SIX_TO_FOUR, 16))
198
+ return isPublicIPv4(bytes.slice(2, 6));
199
+ return !BLOCKED_V6.some(([prefix, bits]) => inRange(bytes, prefix, bits));
200
+ }
201
+ /** The default {@link Resolver}: the OS resolver, every address, in resolver order. */
202
+ export const systemResolver = async (hostname) => (await dnsLookup(hostname, { all: true, verbatim: true })).map((a) => a.address);
203
+ function refuseHost(hostname) {
204
+ return new UrlNotAllowedError(`Refusing to connect to ${hostname}: it is, or resolves to, a private, loopback, link-local or reserved address.`, 'host');
205
+ }
206
+ /**
207
+ * An undici `Agent` that can only connect to public addresses.
208
+ *
209
+ * Its connector resolves each new connection's host with `resolve`, refuses
210
+ * the connection with `UrlNotAllowedError` (reason `'host'`, naming the host —
211
+ * never the address it resolved to) when the name resolves to nothing or ANY
212
+ * address fails `isAllowedAddress`, and gives the socket exactly the addresses
213
+ * it checked. Node never resolves the name a second time, which closes the
214
+ * lookup-to-connect DNS-rebinding window a check-then-`fetch` guard leaves
215
+ * open. An IP-literal host is judged as itself and never resolved.
216
+ *
217
+ * Use it as the `dispatcher` of undici's `fetch`/`request` (or via
218
+ * {@link fetchPublic}). Close it (`await agent.close()`) when done.
219
+ */
220
+ export function createPublicOnlyDispatcher(opts = {}) {
221
+ const resolve = opts.resolve ?? systemResolver;
222
+ const allowed = opts.isAllowedAddress ?? isPublicAddress;
223
+ const lookup = (hostname, options, callback) => {
224
+ resolve(hostname).then((addresses) => {
225
+ if (addresses.length === 0 || !addresses.every(allowed)) {
226
+ callback(refuseHost(hostname), '', 0);
227
+ return;
228
+ }
229
+ const entries = addresses.map((address) => ({ address, family: isIP(address) }));
230
+ if (options.all) {
231
+ callback(null, entries);
232
+ return;
233
+ }
234
+ const wanted = options.family === 4 || options.family === 6 ? options.family : 0;
235
+ const pick = entries.find((e) => wanted === 0 || e.family === wanted) ?? entries[0];
236
+ callback(null, pick.address, pick.family);
237
+ }, (err) => callback(err, '', 0));
238
+ };
239
+ const inner = buildConnector({ ...opts.connect, lookup });
240
+ const connect = (options, callback) => {
241
+ const host = options.hostname.replace(/^\[|\]$/g, '');
242
+ if (isIP(host) !== 0 && !allowed(host)) {
243
+ callback(refuseHost(options.hostname), null);
244
+ return;
245
+ }
246
+ inner(options, callback);
247
+ };
248
+ return new Agent({ ...opts.agent, connect });
249
+ }
250
+ const REDIRECT_STATUSES = new Set([301, 302, 303, 307, 308]);
251
+ const CROSS_ORIGIN_DROPPED = ['authorization', 'cookie', 'proxy-authorization'];
252
+ function findUrlRefusal(err) {
253
+ let e = err;
254
+ for (let i = 0; i < 8 && e; i += 1) {
255
+ if (e instanceof UrlNotAllowedError)
256
+ return e;
257
+ e = e.cause;
258
+ }
259
+ return undefined;
260
+ }
261
+ export async function fetchPublic(url, opts = {}) {
262
+ const { maxRedirects = 10, timeoutMs, maxBytes, signal: callerSignal, dispatcher: given, requireHttps, allowHosts, stopBefore, resolve, isAllowedAddress, headers: initHeaders, method: initMethod, body: initBody, ...init } = opts;
263
+ if (!Number.isInteger(maxRedirects) || maxRedirects < 0) {
264
+ throw new TypeError('fetchPublic: maxRedirects must be a non-negative integer.');
265
+ }
266
+ const check = (target) => assertAllowedUrl(target, {
267
+ allowHosts: allowHosts ?? [/(?:)/],
268
+ ...(requireHttps !== undefined ? { requireHttps } : {}),
269
+ });
270
+ let current = check(url);
271
+ const origin = current.origin;
272
+ if (stopBefore?.(current))
273
+ return { stopped: true, url: current.href, hops: 0 };
274
+ const timeout = timeoutMs !== undefined ? AbortSignal.timeout(timeoutMs) : undefined;
275
+ const signals = [callerSignal, timeout].filter((s) => s !== undefined);
276
+ const signal = signals.length > 0 ? AbortSignal.any(signals) : undefined;
277
+ const owned = given === undefined
278
+ ? createPublicOnlyDispatcher({
279
+ ...(resolve ? { resolve } : {}),
280
+ ...(isAllowedAddress ? { isAllowedAddress } : {}),
281
+ })
282
+ : undefined;
283
+ const dispatcher = given ?? owned;
284
+ let method = (initMethod ?? 'GET').toUpperCase();
285
+ let body = initBody;
286
+ const headers = new Headers(initHeaders);
287
+ const fail = (err) => {
288
+ if (callerSignal?.aborted)
289
+ throw callerSignal.reason;
290
+ if (timeout?.aborted)
291
+ throw new RequestTimeoutError(current.host, timeoutMs);
292
+ const refused = findUrlRefusal(err);
293
+ if (refused)
294
+ throw refused;
295
+ if (err instanceof McpToolError)
296
+ throw err;
297
+ throw new McpToolError(`Could not reach ${current.host}.`, {
298
+ kind: 'transport',
299
+ hint: 'Check the link is reachable from the server.',
300
+ cause: err,
301
+ });
302
+ };
303
+ try {
304
+ for (let hops = 0;;) {
305
+ let res;
306
+ try {
307
+ res = await undiciFetch(current, {
308
+ ...init,
309
+ method,
310
+ headers,
311
+ ...(body !== undefined && body !== null ? { body } : {}),
312
+ redirect: 'manual',
313
+ dispatcher,
314
+ ...(signal ? { signal } : {}),
315
+ });
316
+ }
317
+ catch (err) {
318
+ return fail(err);
319
+ }
320
+ const location = REDIRECT_STATUSES.has(res.status) ? res.headers.get('location') : null;
321
+ if (location === null) {
322
+ let bytes;
323
+ try {
324
+ bytes = await readBytesCapped(res, maxBytes, current.host, (p) => p);
325
+ }
326
+ catch (err) {
327
+ return fail(err);
328
+ }
329
+ return { stopped: false, url: current.href, hops, status: res.status, headers: res.headers, body: bytes };
330
+ }
331
+ await res.body?.cancel().catch(() => { });
332
+ if (hops >= maxRedirects) {
333
+ throw new RedirectRefusedError(`Refusing to follow more than ${maxRedirects} redirects (last from ${current.host}).`);
334
+ }
335
+ let next;
336
+ try {
337
+ next = new URL(location, current);
338
+ }
339
+ catch {
340
+ throw new UrlNotAllowedError('The redirect target is not a valid URL.', 'invalid');
341
+ }
342
+ next = check(next);
343
+ hops += 1;
344
+ if (res.status === 303 || ((res.status === 301 || res.status === 302) && method === 'POST')) {
345
+ if (method !== 'HEAD')
346
+ method = 'GET';
347
+ body = undefined;
348
+ for (const h of ['content-type', 'content-length', 'content-encoding', 'content-language', 'content-location']) {
349
+ headers.delete(h);
350
+ }
351
+ }
352
+ if (next.origin !== origin)
353
+ for (const h of CROSS_ORIGIN_DROPPED)
354
+ headers.delete(h);
355
+ current = next;
356
+ if (stopBefore?.(current))
357
+ return { stopped: true, url: current.href, hops };
358
+ }
359
+ }
360
+ finally {
361
+ if (owned)
362
+ await owned.destroy().catch(() => { });
363
+ }
364
+ }
365
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/netguard/index.ts"],"names":[],"mappings":"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"}
@@ -35,8 +35,13 @@ export declare const CONFIRM_TOKEN_AUTO_INSTRUCTION: string;
35
35
  export interface ConfirmationFromEnvOptions extends RequireConfirmationOptions {
36
36
  /** The tool name the token is bound to. */
37
37
  tool: string;
38
- /** The account the action runs as. */
39
- account?: string;
38
+ /**
39
+ * The account / principal the action runs as — bound into BOTH rails (the
40
+ * token's claims and the elicitation acceptance), so an approval for one
41
+ * account never acts as another. REQUIRED as a key since 3.0: pass
42
+ * `undefined` explicitly on a single-account server, as with `confirmWrite`.
43
+ */
44
+ account: string | undefined;
40
45
  /** The phase-2 token from the tool's input, or undefined on phase 1. */
41
46
  confirmToken?: string;
42
47
  /** Builds the subject from a FRESH read; see {@link ConfirmTokenFallback.subject}. */
@@ -48,17 +53,21 @@ export interface ConfirmationFromEnvOptions extends RequireConfirmationOptions {
48
53
  /** Environment to read; defaults to `process.env`. */
49
54
  env?: EnvSource;
50
55
  /**
51
- * The tool's validated arguments. Pass them: both rails are then bound to
52
- * them without per-tool judgement (fleet audit 2026-09-24 SEC-2).
56
+ * The tool's validated arguments — REQUIRED since 3.0 (`undefined`/`null`
57
+ * throws). Both rails are bound to them without per-tool judgement (fleet
58
+ * audit 2026-09-24 SEC-2; fleet-audit#979 and siblings were all a token
59
+ * minted without them).
53
60
  * - Elicitation: sets {@link RequireConfirmationOptions.binding} (unless one
54
- * is given) with the env key and TTL, so an acceptance minted for one call
55
- * cannot be replayed on a call with different arguments.
61
+ * is given) to `{ account, args }` with the env key and TTL, so an
62
+ * acceptance minted for one call cannot be replayed on a call with
63
+ * different arguments or as a different account.
56
64
  * - Token: the token binds `{ payload: subject().payload, args }`, so a
57
65
  * `subject()` whose payload covers only some arguments (say `{ id }` while
58
66
  * the body is a separate argument) still cannot authorise a different body.
59
67
  * A `confirmToken` key is dropped first: it differs between the two phases.
68
+ * A tool with no arguments passes `{}`.
60
69
  */
61
- args?: unknown;
70
+ args: object;
62
71
  }
63
72
  /**
64
73
  * Turn the fleet env settings into {@link requireConfirmationWithFallback}
@@ -67,7 +76,7 @@ export interface ConfirmationFromEnvOptions extends RequireConfirmationOptions {
67
76
  * ```ts
68
77
  * const gate = await requireConfirmationWithFallback(ctx, confirmationFromEnv({
69
78
  * action: 'thing.delete', message: 'Review and confirm this deletion.', details: { id },
70
- * tool: 'thing_delete', confirmToken, args,
79
+ * tool: 'thing_delete', account: undefined, confirmToken, args,
71
80
  * subject: () => ({ target: id, payload: { id }, preview: { id } }),
72
81
  * }));
73
82
  * if (gate) return gate;
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-env.d.ts","sourceRoot":"","sources":["../../src/server/confirm-env.ts"],"names":[],"mappings":"AA4CA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,sCAAsC,EAC3C,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,6BAA6B;AAC7B,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAMzD,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,GAAG,GAAE,SAAuB,GAAG,WAAW,CAWzE;AAED,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,SAAuB,GAAG,IAAI,GAAG,KAAK,CAUjF;AAwBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,SAAuB,GAAG,MAAM,CAEtE;AAgBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,SAAuB,GAAG,UAAU,CAK1E;AAID;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,SAAuB,GAAG,eAAe,GAAG,SAAS,CAUhG;AAED,2DAA2D;AAC3D,eAAO,MAAM,8BAA8B,QAE6E,CAAC;AAezH,+FAA+F;AAC/F,MAAM,WAAW,0BAA2B,SAAQ,0BAA0B;IAC5E,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACzC,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gGAAgG;IAChG,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,sDAAsD;IACtD,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,sCAAsC,CA0C/G"}
1
+ {"version":3,"file":"confirm-env.d.ts","sourceRoot":"","sources":["../../src/server/confirm-env.ts"],"names":[],"mappings":"AA4CA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,sCAAsC,EAC3C,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,6BAA6B;AAC7B,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAMzD,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,GAAG,GAAE,SAAuB,GAAG,WAAW,CAWzE;AAED,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,SAAuB,GAAG,IAAI,GAAG,KAAK,CAUjF;AAwBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,SAAuB,GAAG,MAAM,CAEtE;AAgBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,SAAuB,GAAG,UAAU,CAK1E;AAID;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,SAAuB,GAAG,eAAe,GAAG,SAAS,CAUhG;AAED,2DAA2D;AAC3D,eAAO,MAAM,8BAA8B,QAE6E,CAAC;AAezH,+FAA+F;AAC/F,MAAM,WAAW,0BAA2B,SAAQ,0BAA0B;IAC5E,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACzC,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gGAAgG;IAChG,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,sDAAsD;IACtD,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;;;;;;;;;;;;;OAcG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,sCAAsC,CAqD/G"}
@@ -171,7 +171,7 @@ function boundArgs(args) {
171
171
  * ```ts
172
172
  * const gate = await requireConfirmationWithFallback(ctx, confirmationFromEnv({
173
173
  * action: 'thing.delete', message: 'Review and confirm this deletion.', details: { id },
174
- * tool: 'thing_delete', confirmToken, args,
174
+ * tool: 'thing_delete', account: undefined, confirmToken, args,
175
175
  * subject: () => ({ target: id, payload: { id }, preview: { id } }),
176
176
  * }));
177
177
  * if (gate) return gate;
@@ -179,16 +179,27 @@ function boundArgs(args) {
179
179
  */
180
180
  export function confirmationFromEnv(options) {
181
181
  const { tool, account, confirmToken, subject, instruction, args, env = process.env, spent: callerSpent, ...rest } = options;
182
+ if (args === undefined || args === null) {
183
+ // A token over the subject alone authorises whatever the subject omits, and
184
+ // an unbound acceptance authorises anything (fleet-audit#979 and siblings).
185
+ throw new TypeError(`confirmationFromEnv: ${tool} passed no args; pass the tool's validated arguments ({} for a tool with none).`);
186
+ }
182
187
  // Destructured out of `rest` so it rides the token fallback only, never the
183
188
  // returned options (#312).
184
189
  const spent = callerSpent ?? spentTokenStoreFromEnv(env);
185
190
  const mode = readConfirmMode(env);
186
191
  const ttlSeconds = readConfirmTtl(env);
187
192
  const elicitationOff = readConfirmElicitation(env) === 'off';
188
- const bound = args === undefined ? undefined : boundArgs(args);
189
- const bindingAdded = bound === undefined || rest.binding
193
+ const bound = boundArgs(args);
194
+ // The elicitation acceptance commits to the account as well as the
195
+ // arguments; the token already carries the account in its own claims.
196
+ const elicitationBound = account === undefined ? { args: bound } : { account, args: bound };
197
+ const bindingAdded = rest.binding
190
198
  ? rest
191
- : { ...rest, binding: { key: confirmKeyFromEnv(env), args: bound, ttlSeconds: ttlSeconds ?? DEFAULT_TTL_SECONDS } };
199
+ : {
200
+ ...rest,
201
+ binding: { key: confirmKeyFromEnv(env), args: elicitationBound, ttlSeconds: ttlSeconds ?? DEFAULT_TTL_SECONDS },
202
+ };
192
203
  const confirmation = elicitationOff ? { ...bindingAdded, elicitation: false } : bindingAdded;
193
204
  if (mode === 'refuse' || ttlSeconds === undefined) {
194
205
  const reason = mode === 'refuse' ? REFUSE_HINT : BAD_TTL_HINT;
@@ -198,15 +209,13 @@ export function confirmationFromEnv(options) {
198
209
  unsupportedNote: confirmation.unsupportedNote ? `${confirmation.unsupportedNote} ${hint}` : hint,
199
210
  };
200
211
  }
201
- const boundSubject = bound === undefined
202
- ? subject
203
- : async () => {
204
- const read = await subject();
205
- // A CallToolResult (a failed read) passes back unchanged.
206
- if ('content' in read)
207
- return read;
208
- return { ...read, payload: { payload: read.payload, args: bound } };
209
- };
212
+ const boundSubject = async () => {
213
+ const read = await subject();
214
+ // A CallToolResult (a failed read) passes back unchanged.
215
+ if ('content' in read)
216
+ return read;
217
+ return { ...read, payload: { payload: read.payload, args: bound } };
218
+ };
210
219
  return {
211
220
  ...confirmation,
212
221
  tokenFallback: {
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-env.js","sourceRoot":"","sources":["../../src/server/confirm-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confirm-env.js","sourceRoot":"","sources":["../../src/server/confirm-env.ts"],"names":[],"mappings":"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"}
@@ -95,7 +95,7 @@ export async function confirmWrite(ctx, options) {
95
95
  ...(options.unsupportedNote === undefined ? {} : { unsupportedNote: options.unsupportedNote }),
96
96
  ...(options.confirmationLabel === undefined ? {} : { confirmationLabel: options.confirmationLabel }),
97
97
  tool,
98
- ...(account === undefined ? {} : { account }),
98
+ account,
99
99
  confirmToken,
100
100
  args: bound,
101
101
  subject: () => ({ target, ...(revision === undefined ? {} : { revision }), payload: bound, preview }),
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-write.js","sourceRoot":"","sources":["../../src/server/confirm-write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confirm-write.js","sourceRoot":"","sources":["../../src/server/confirm-write.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,9 @@ export interface CreateMcpServerOptions<TDeps = unknown> {
51
51
  /**
52
52
  * Append an {@link McpToolError}'s `hint` to the text a failing tool returns.
53
53
  * Default `true`. Set `false` only for a server that deliberately wants the
54
- * bare message.
54
+ * bare message. This switches off the whole {@link surfaceToolHints}
55
+ * wrapper, including the redaction it applies to every thrown error's text,
56
+ * so a server that opts out must redact its own failures.
55
57
  */
56
58
  surfaceHints?: boolean;
57
59
  /**
@@ -65,7 +67,9 @@ export interface CreateMcpServerOptions<TDeps = unknown> {
65
67
  maxToolInputElements?: McpServerOptions['maxToolInputElements'];
66
68
  }
67
69
  /**
68
- * Wrap `server.registerTool` so every tool handler surfaces its error `hint`.
70
+ * Wrap `server.registerTool` so every tool handler surfaces its error `hint`,
71
+ * and every thrown error's text crosses {@link redactSecrets} before it
72
+ * reaches the caller.
69
73
  *
70
74
  * Why this lives here rather than in each repo: the MCP tool boundary renders
71
75
  * only a thrown error's `message`. `McpToolError` has carried a `hint` — the
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}