sema-core 2.0.5 → 2.0.6

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 (47) hide show
  1. package/dist/events/types.d.ts +13 -0
  2. package/dist/events/types.d.ts.map +1 -1
  3. package/dist/manager/PermissionManager.d.ts.map +1 -1
  4. package/dist/manager/PermissionManager.js +56 -87
  5. package/dist/manager/PermissionManager.js.map +1 -1
  6. package/dist/manager/StateManager.d.ts +1 -1
  7. package/dist/manager/StateManager.js +1 -1
  8. package/dist/prompt/memory.d.ts.map +1 -1
  9. package/dist/prompt/memory.js +23 -12
  10. package/dist/prompt/memory.js.map +1 -1
  11. package/dist/prompt/permission.d.ts +1 -1
  12. package/dist/prompt/permission.d.ts.map +1 -1
  13. package/dist/prompt/permission.js +43 -7
  14. package/dist/prompt/permission.js.map +1 -1
  15. package/dist/tools/FetchUrl.js +1 -1
  16. package/dist/tools/FetchUrl.js.map +1 -1
  17. package/dist/tools/RunShell.d.ts.map +1 -1
  18. package/dist/tools/RunShell.js +8 -7
  19. package/dist/tools/RunShell.js.map +1 -1
  20. package/dist/util/commands.d.ts.map +1 -1
  21. package/dist/util/commands.js +48 -4
  22. package/dist/util/commands.js.map +1 -1
  23. package/dist/util/commands.test.d.ts +2 -0
  24. package/dist/util/commands.test.d.ts.map +1 -0
  25. package/dist/util/commands.test.js +93 -0
  26. package/dist/util/commands.test.js.map +1 -0
  27. package/dist/util/fetchSafety.d.ts +11 -0
  28. package/dist/util/fetchSafety.d.ts.map +1 -0
  29. package/dist/util/fetchSafety.js +86 -0
  30. package/dist/util/fetchSafety.js.map +1 -0
  31. package/dist/util/fetchSafety.test.d.ts +2 -0
  32. package/dist/util/fetchSafety.test.d.ts.map +1 -0
  33. package/dist/util/fetchSafety.test.js +44 -0
  34. package/dist/util/fetchSafety.test.js.map +1 -0
  35. package/dist/util/fetchUrl.d.ts +1 -1
  36. package/dist/util/fetchUrl.d.ts.map +1 -1
  37. package/dist/util/fetchUrl.js +2 -2
  38. package/dist/util/fetchUrl.js.map +1 -1
  39. package/dist/util/shellSafety.d.ts +34 -0
  40. package/dist/util/shellSafety.d.ts.map +1 -0
  41. package/dist/util/shellSafety.js +122 -0
  42. package/dist/util/shellSafety.js.map +1 -0
  43. package/dist/util/shellSafety.test.d.ts +2 -0
  44. package/dist/util/shellSafety.test.d.ts.map +1 -0
  45. package/dist/util/shellSafety.test.js +103 -0
  46. package/dist/util/shellSafety.test.js.map +1 -0
  47. package/package.json +1 -1
@@ -116,7 +116,7 @@ Please call ${tool_1.TOOL_NAME_FETCH_URL} again with the redirected URL:
116
116
  result = content;
117
117
  }
118
118
  else {
119
- result = await (0, fetchUrl_2.injectPromptIntoMarkdown)(prompt, content, abortController.signal);
119
+ result = await (0, fetchUrl_2.injectPromptIntoMarkdown)(prompt, content, abortController.signal, agentContext.sessionId);
120
120
  }
121
121
  const output = {
122
122
  bytes,
@@ -1 +1 @@
1
- {"version":3,"file":"FetchUrl.js","sourceRoot":"","sources":["../../src/tools/FetchUrl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FetchUrl.js","sourceRoot":"","sources":["../../src/tools/FetchUrl.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RunShell.d.ts","sourceRoot":"","sources":["../../src/tools/RunShell.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAQ,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAepD,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAC/C,eAAO,MAAM,4BAA4B,SAAS,CAAC;AA8BnD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAkBrB,CAAA;AAGF,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;qBAY4B,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;qEAmEtB,MAAM;;;;;;qBAmB9C,GAAG;;;;;CA+KQ,CAAA"}
1
+ {"version":3,"file":"RunShell.d.ts","sourceRoot":"","sources":["../../src/tools/RunShell.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAQ,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAepD,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAC/C,eAAO,MAAM,4BAA4B,SAAS,CAAC;AA8BnD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAmBrB,CAAA;AAGF,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;qBAY4B,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;qEAmEtB,MAAM;;;;;;qBAmB9C,GAAG;;;;;CA+KQ,CAAA"}
@@ -50,14 +50,15 @@ exports.toolParams = zod_1.z.strictObject({
50
50
  .number()
51
51
  .optional()
52
52
  .describe(`Timeout duration in milliseconds, up to ${exports.RUN_SHELL_MAX_TIMEOUT_MS}ms (${exports.RUN_SHELL_MAX_TIMEOUT_MS / 60000} min). Defaults to ${exports.DEFAULT_RUN_SHELL_TIMEOUT_MS}ms if omitted.`),
53
- description: zod_1.z.string().describe(`A brief active-voice summary (5-10 words) explaining what this command does. Required for every call so users can understand the command at a glance. Keep it simple for common commands, add context for complex ones.
53
+ description: zod_1.z.string().describe(`LANGUAGE: Write this summary in the same language you use to respond to the user (NOT the system prompt language). If you reply to the user in Chinese, this summary MUST be in Chinese.
54
54
 
55
- Examples:
56
- pwd → "Print current working directory"
57
- git log --oneline -5 → "Show last 5 commits"
58
- docker ps → "List running containers"
59
- cat .env | wc -l → "Count lines in .env file"
60
- tar -czf backup.tar.gz src/ → "Compress src directory into tarball"`),
55
+ A brief active-voice summary (5-10 words) explaining what this command does. Required for every call so users can understand the command at a glance. Keep it simple for common commands, add context for complex ones.
56
+
57
+ Structure (translate the summary into your reply language):
58
+ pwd → print current working directory
59
+ git log --oneline -5 → show last 5 commits
60
+ docker ps → list running containers
61
+ cat .env | wc -l → count lines in .env file`),
61
62
  background: zod_1.z
62
63
  .boolean()
63
64
  .optional()
@@ -1 +1 @@
1
- {"version":3,"file":"RunShell.js","sourceRoot":"","sources":["../../src/tools/RunShell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RunShell.js","sourceRoot":"","sources":["../../src/tools/RunShell.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/util/commands.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,sBAAsB,GAC9B;IACE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,wBAAwB,EAAE,KAAK,CAAA;CAChC,GACD;IAAE,wBAAwB,EAAE,IAAI,CAAA;CAAE,CAAA;AAMtC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CA+GtD;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAuDxC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/util/commands.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,sBAAsB,GAC9B;IACE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,wBAAwB,EAAE,KAAK,CAAA;CAChC,GACD;IAAE,wBAAwB,EAAE,IAAI,CAAA;CAAE,CAAA;AAQtC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAkC5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CA+GtD;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAuDxC"}
@@ -10,11 +10,55 @@ const commands_1 = require("../prompt/commands");
10
10
  const SQ_PLACEHOLDER = '__SQ_PLACEHOLDER__';
11
11
  const DQ_PLACEHOLDER = '__DQ_PLACEHOLDER__';
12
12
  const BS_PLACEHOLDER = '__BS_PLACEHOLDER__';
13
- // 命令注入特征:反引号 / $( / 换行 / && / || / ;(与 COMMAND_PREFIX 提示词 step1 保持一致)。
14
- // splitCommand 已按 && || ; 拆分,子命令里仍残留这些字符即视为注入,按危险处理(fail-closed)。
15
- const COMMAND_INJECTION_PATTERN = /[`\n;]|\$\(|&&|\|\|/;
13
+ // 命令注入特征:反引号 / $( / 换行 / && / || / ;。
14
+ // 但必须区分引号内外——引号里的换行/分号是字面数据(如 echo "多行文本"),不是命令分隔:
15
+ // - 单引号内:全部字面,shell 不做任何解释 → 一律忽略
16
+ // - 双引号内:换行 / ; / && / || 是字面,但 $( 与反引号仍是命令替换 → 仅检出这两者
17
+ // - 引号外:换行 / ; / && / || / $( / 反引号 全部视为注入
18
+ // 反斜杠转义会跳过下一个字符,避免把 \" \' 误判为引号边界。解析始终保守(fail-closed)。
16
19
  function hasCommandInjection(command) {
17
- return COMMAND_INJECTION_PATTERN.test(command);
20
+ let inSingle = false;
21
+ let inDouble = false;
22
+ for (let i = 0; i < command.length; i++) {
23
+ const c = command[i];
24
+ const next = command[i + 1];
25
+ if (inSingle) {
26
+ // 单引号内无转义,仅 ' 结束
27
+ if (c === "'")
28
+ inSingle = false;
29
+ continue;
30
+ }
31
+ if (c === '\\') {
32
+ // 引号外或双引号内:反斜杠转义下一个字符,跳过
33
+ i++;
34
+ continue;
35
+ }
36
+ if (inDouble) {
37
+ if (c === '`')
38
+ return true;
39
+ if (c === '$' && next === '(')
40
+ return true;
41
+ if (c === '"')
42
+ inDouble = false;
43
+ continue;
44
+ }
45
+ // 引号外
46
+ if (c === "'") {
47
+ inSingle = true;
48
+ continue;
49
+ }
50
+ if (c === '"') {
51
+ inDouble = true;
52
+ continue;
53
+ }
54
+ if (c === '`' || c === '\n' || c === ';')
55
+ return true;
56
+ if (c === '$' && next === '(')
57
+ return true;
58
+ if ((c === '&' || c === '|') && next === c)
59
+ return true;
60
+ }
61
+ return false;
18
62
  }
19
63
  /**
20
64
  * 根据shell操作符将命令字符串拆分为单个命令
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/util/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/util/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=commands.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.test.d.ts","sourceRoot":"","sources":["../../src/util/commands.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_test_1 = require("node:test");
7
+ const strict_1 = __importDefault(require("node:assert/strict"));
8
+ const commands_1 = require("./commands");
9
+ (0, node_test_1.test)('引号外元字符判为注入', () => {
10
+ for (const c of [
11
+ 'echo a; rm x',
12
+ 'ls && rm',
13
+ 'ls || rm',
14
+ 'echo $(id)',
15
+ 'echo `id`',
16
+ 'cat a\nrm b',
17
+ ]) {
18
+ strict_1.default.equal((0, commands_1.hasCommandInjection)(c), true, c);
19
+ }
20
+ });
21
+ (0, node_test_1.test)('回归: 引号内的换行/分号是字面数据,不得判为注入', () => {
22
+ // 多行 echo —— 此前因双引号内换行被误判为注入,导致 AutoRun 不调模型直接转人工
23
+ strict_1.default.equal((0, commands_1.hasCommandInjection)('echo "banana\napple\n100"'), false);
24
+ strict_1.default.equal((0, commands_1.hasCommandInjection)('echo "a;b"'), false);
25
+ strict_1.default.equal((0, commands_1.hasCommandInjection)("echo 'a;b;c'"), false);
26
+ strict_1.default.equal((0, commands_1.hasCommandInjection)("echo '$(id)'"), false);
27
+ strict_1.default.equal((0, commands_1.hasCommandInjection)('echo "he said \\"hi\\""'), false);
28
+ });
29
+ (0, node_test_1.test)('双引号内命令替换仍生效,必须判为注入', () => {
30
+ strict_1.default.equal((0, commands_1.hasCommandInjection)('echo "$(id)"'), true);
31
+ strict_1.default.equal((0, commands_1.hasCommandInjection)('echo "`id`"'), true);
32
+ });
33
+ // ============ 误伤回归:以下都是合法命令,绝不能判为注入 ============
34
+ (0, node_test_1.test)('误伤回归: 引号内含 shell 元字符的合法命令', () => {
35
+ for (const c of [
36
+ 'echo "hello world"',
37
+ 'git commit -m "fix: handle a, b and c"',
38
+ 'python -c "print(\'hello\')"', // 双引号内嵌单引号
39
+ 'node -e "console.log(1+1)"',
40
+ 'grep -E "foo|bar" file', // 双引号内管道是字面
41
+ "grep -E 'foo|bar' .", // 单引号内管道是字面
42
+ "awk '{print $1}' data.txt", // 单引号内 $1
43
+ "sed 's/a/b/g' file",
44
+ 'echo "price is $5 today"', // $ 后非 ( 不算替换
45
+ 'echo "say \\"hi\\" now"', // 双引号内转义引号
46
+ 'echo "a && b || c ; d"', // 全在双引号内 → 字面
47
+ "echo 'a && b || c ; d'", // 单引号内 → 字面
48
+ 'psql -c "SELECT 1; SELECT 2;"', // 双引号内分号是合法 SQL
49
+ 'echo "var=${HOME}/bin"', // ${} 不是命令替换
50
+ 'echo "literal backslash-n: a\\nb"', // 字面 \n(非真换行)
51
+ 'find . -name "*.ts"',
52
+ 'git log --pretty=format:"%h %s"',
53
+ 'echo "url=http://a.com?x=1&y=2"', // 单个 & 在双引号内
54
+ ]) {
55
+ strict_1.default.equal((0, commands_1.hasCommandInjection)(c), false, `不应误伤: ${JSON.stringify(c)}`);
56
+ }
57
+ });
58
+ (0, node_test_1.test)('误伤回归: 多行文本(你的原始场景)', () => {
59
+ strict_1.default.equal((0, commands_1.hasCommandInjection)('echo "banana\napple\ncherry\n100"'), false);
60
+ strict_1.default.equal((0, commands_1.hasCommandInjection)("printf '%s\\n' 'line1\nline2'"), false);
61
+ });
62
+ // ============ 真注入:必须检出 ============
63
+ (0, node_test_1.test)('真注入: 引号外的命令分隔/替换必须检出', () => {
64
+ for (const c of [
65
+ 'ls; rm -rf /',
66
+ 'ls && rm x',
67
+ 'ls || rm x',
68
+ 'echo $(whoami)',
69
+ 'echo `whoami`',
70
+ 'cat a\nrm b', // 引号外真实换行
71
+ 'echo "$(cat /etc/passwd)"', // 双引号内命令替换
72
+ 'foo "abc"; rm bar', // 引号闭合后的分号
73
+ "cat 'x'`id`", // 单引号闭合后反引号
74
+ ]) {
75
+ strict_1.default.equal((0, commands_1.hasCommandInjection)(c), true, `应检出注入: ${JSON.stringify(c)}`);
76
+ }
77
+ });
78
+ // ============ 边界行为文档化(断言实际行为,便于回归对比)============
79
+ (0, node_test_1.test)('边界: 反斜杠转义的字符不参与判定', () => {
80
+ // 双引号内转义的 $ / 反引号是字面,不是命令替换
81
+ strict_1.default.equal((0, commands_1.hasCommandInjection)('echo "\\$(not sub)"'), false);
82
+ strict_1.default.equal((0, commands_1.hasCommandInjection)('echo "\\`not sub\\`"'), false);
83
+ // 行连接符 \<换行> 是续行,被转义跳过,不算注入
84
+ strict_1.default.equal((0, commands_1.hasCommandInjection)('echo a \\\nb'), false);
85
+ });
86
+ (0, node_test_1.test)('边界: $(( 算术展开仍按注入处理(与历史行为一致,偏保守)', () => {
87
+ strict_1.default.equal((0, commands_1.hasCommandInjection)('echo $((1+1))'), true);
88
+ });
89
+ (0, node_test_1.test)('边界: 未闭合引号内的分隔符不检出(命令本身在 shell 中即语法错误)', () => {
90
+ // 双引号未闭合 → 整段被当引号内,; 不检出;该命令在 shell 中会因 EOF 报错而不执行
91
+ strict_1.default.equal((0, commands_1.hasCommandInjection)('echo "a; rm b'), false);
92
+ });
93
+ //# sourceMappingURL=commands.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.test.js","sourceRoot":"","sources":["../../src/util/commands.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * fetch_url 的确定性 SSRF 兜底:命中环回 / 链路本地(含云元数据 169.254.169.254)/
3
+ * 内网 / 未指定地址 / 本地主机名,一律按危险处理,不交给模型。URL 解析失败同样按危险处理。
4
+ *
5
+ * 说明:new URL() (WHATWG) 已把 十进制/十六进制/八进制/短写 IPv4(如 2130706433、0x7f000001、
6
+ * 127.1)规范化为点分十进制,故无需额外处理;这里额外补:
7
+ * - IPv4-mapped IPv6(::ffff:7f00:1 等)
8
+ * - 末尾点 FQDN(localhost. 等)
9
+ */
10
+ export declare function isBlockedFetchHost(url: string): boolean;
11
+ //# sourceMappingURL=fetchSafety.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchSafety.d.ts","sourceRoot":"","sources":["../../src/util/fetchSafety.ts"],"names":[],"mappings":"AAoBA;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CA2CvD"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBlockedFetchHost = isBlockedFetchHost;
4
+ /**
5
+ * IPv4-mapped IPv6 → 内嵌 IPv4 点分形式。
6
+ * Node 的 URL 会把 ::ffff:127.0.0.1 规范化为 ::ffff:7f00:1,两种写法都要还原。
7
+ * ::ffff:127.0.0.1 → "127.0.0.1"
8
+ * ::ffff:7f00:1 → "127.0.0.1"
9
+ */
10
+ function extractMappedIpv4(host) {
11
+ const m = host.match(/^::ffff:(.+)$/i);
12
+ if (!m)
13
+ return null;
14
+ const tail = m[1];
15
+ if (/^\d{1,3}(\.\d{1,3}){3}$/.test(tail))
16
+ return tail;
17
+ const hex = tail.match(/^([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i);
18
+ if (hex) {
19
+ const hi = parseInt(hex[1], 16);
20
+ const lo = parseInt(hex[2], 16);
21
+ return `${(hi >> 8) & 255}.${hi & 255}.${(lo >> 8) & 255}.${lo & 255}`;
22
+ }
23
+ return null;
24
+ }
25
+ /**
26
+ * fetch_url 的确定性 SSRF 兜底:命中环回 / 链路本地(含云元数据 169.254.169.254)/
27
+ * 内网 / 未指定地址 / 本地主机名,一律按危险处理,不交给模型。URL 解析失败同样按危险处理。
28
+ *
29
+ * 说明:new URL() (WHATWG) 已把 十进制/十六进制/八进制/短写 IPv4(如 2130706433、0x7f000001、
30
+ * 127.1)规范化为点分十进制,故无需额外处理;这里额外补:
31
+ * - IPv4-mapped IPv6(::ffff:7f00:1 等)
32
+ * - 末尾点 FQDN(localhost. 等)
33
+ */
34
+ function isBlockedFetchHost(url) {
35
+ let hostname;
36
+ try {
37
+ hostname = new URL(url).hostname.toLowerCase();
38
+ }
39
+ catch {
40
+ return true;
41
+ }
42
+ // 去掉 IPv6 字面量方括号,并去掉末尾点(FQDN 绝对形式,如 localhost.)
43
+ let host = hostname.replace(/^\[|\]$/g, '').replace(/\.$/, '');
44
+ // 本地主机名 / 已知云元数据主机名
45
+ if (host === 'localhost' || host.endsWith('.localhost'))
46
+ return true;
47
+ if (host === 'metadata.google.internal')
48
+ return true;
49
+ // IPv4-mapped IPv6 → 取出内嵌 IPv4,按下方 IPv4 规则判定
50
+ const mapped = extractMappedIpv4(host);
51
+ if (mapped)
52
+ host = mapped;
53
+ // IPv4 字面量
54
+ const ipv4 = host.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
55
+ if (ipv4) {
56
+ const a = Number(ipv4[1]);
57
+ const b = Number(ipv4[2]);
58
+ if (a === 0)
59
+ return true; // 0.0.0.0/8 未指定
60
+ if (a === 10)
61
+ return true; // 10.0.0.0/8 私网
62
+ if (a === 127)
63
+ return true; // 127.0.0.0/8 环回
64
+ if (a === 169 && b === 254)
65
+ return true; // 169.254.0.0/16 链路本地(含元数据)
66
+ if (a === 172 && b >= 16 && b <= 31)
67
+ return true; // 172.16.0.0/12 私网
68
+ if (a === 192 && b === 168)
69
+ return true; // 192.168.0.0/16 私网
70
+ if (a === 100 && b >= 64 && b <= 127)
71
+ return true; // 100.64.0.0/10 CGNAT
72
+ return false;
73
+ }
74
+ // IPv6 字面量:环回 / 未指定 / ULA(fc00::/7) / 链路本地(fe80::/10)
75
+ if (host.includes(':')) {
76
+ if (host === '::1' || host === '::')
77
+ return true;
78
+ if (/^f[cd]/.test(host))
79
+ return true; // fc00::/7
80
+ if (/^fe[89ab]/.test(host))
81
+ return true; // fe80::/10
82
+ return false;
83
+ }
84
+ return false;
85
+ }
86
+ //# sourceMappingURL=fetchSafety.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchSafety.js","sourceRoot":"","sources":["../../src/util/fetchSafety.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fetchSafety.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchSafety.test.d.ts","sourceRoot":"","sources":["../../src/util/fetchSafety.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_test_1 = require("node:test");
7
+ const strict_1 = __importDefault(require("node:assert/strict"));
8
+ const fetchSafety_1 = require("./fetchSafety");
9
+ (0, node_test_1.test)('环回/内网/链路本地/元数据 拦截', () => {
10
+ for (const u of [
11
+ 'http://127.0.0.1/', 'http://localhost/', 'http://10.0.0.5/',
12
+ 'http://192.168.1.1/', 'http://172.16.0.1/',
13
+ 'http://169.254.169.254/latest/meta-data/',
14
+ 'http://metadata.google.internal/', 'http://[::1]/',
15
+ 'http://100.64.0.1/',
16
+ ]) {
17
+ strict_1.default.equal((0, fetchSafety_1.isBlockedFetchHost)(u), true, u);
18
+ }
19
+ });
20
+ (0, node_test_1.test)('回归: IPv4 数值/短写编码 (URL 规范化后) 仍拦截', () => {
21
+ strict_1.default.equal((0, fetchSafety_1.isBlockedFetchHost)('http://2130706433/'), true); // 127.0.0.1
22
+ strict_1.default.equal((0, fetchSafety_1.isBlockedFetchHost)('http://0x7f000001/'), true);
23
+ strict_1.default.equal((0, fetchSafety_1.isBlockedFetchHost)('http://127.1/'), true);
24
+ });
25
+ (0, node_test_1.test)('回归: IPv4-mapped IPv6 拦截', () => {
26
+ strict_1.default.equal((0, fetchSafety_1.isBlockedFetchHost)('http://[::ffff:127.0.0.1]/'), true);
27
+ strict_1.default.equal((0, fetchSafety_1.isBlockedFetchHost)('http://[::ffff:7f00:1]/'), true); // 127.0.0.1
28
+ strict_1.default.equal((0, fetchSafety_1.isBlockedFetchHost)('http://[::ffff:169.254.169.254]/'), true);
29
+ });
30
+ (0, node_test_1.test)('回归: 末尾点 FQDN 拦截', () => {
31
+ strict_1.default.equal((0, fetchSafety_1.isBlockedFetchHost)('http://localhost./'), true);
32
+ });
33
+ (0, node_test_1.test)('公网正常域名放行', () => {
34
+ for (const u of [
35
+ 'https://registry.npmjs.org/react',
36
+ 'https://github.com/x/y', 'https://8.8.8.8/',
37
+ ]) {
38
+ strict_1.default.equal((0, fetchSafety_1.isBlockedFetchHost)(u), false, u);
39
+ }
40
+ });
41
+ (0, node_test_1.test)('非法 URL 按危险处理', () => {
42
+ strict_1.default.equal((0, fetchSafety_1.isBlockedFetchHost)('not a url'), true);
43
+ });
44
+ //# sourceMappingURL=fetchSafety.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchSafety.test.js","sourceRoot":"","sources":["../../src/util/fetchSafety.test.ts"],"names":[],"mappings":";;;;;AAAA,yCAAgC;AAChC,gEAAuC;AACvC,+CAAkD;AAElD,IAAA,gBAAI,EAAC,mBAAmB,EAAE,GAAG,EAAE;IAC7B,KAAK,MAAM,CAAC,IAAI;QACd,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB;QAC5D,qBAAqB,EAAE,oBAAoB;QAC3C,0CAA0C;QAC1C,kCAAkC,EAAE,eAAe;QACnD,oBAAoB;KACrB,EAAE,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,IAAA,gCAAkB,EAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,IAAA,gBAAI,EAAC,iCAAiC,EAAE,GAAG,EAAE;IAC3C,gBAAM,CAAC,KAAK,CAAC,IAAA,gCAAkB,EAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAA,CAAG,YAAY;IAC3E,gBAAM,CAAC,KAAK,CAAC,IAAA,gCAAkB,EAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAA;IAC5D,gBAAM,CAAC,KAAK,CAAC,IAAA,gCAAkB,EAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAA;AACzD,CAAC,CAAC,CAAA;AAEF,IAAA,gBAAI,EAAC,yBAAyB,EAAE,GAAG,EAAE;IACnC,gBAAM,CAAC,KAAK,CAAC,IAAA,gCAAkB,EAAC,4BAA4B,CAAC,EAAE,IAAI,CAAC,CAAA;IACpE,gBAAM,CAAC,KAAK,CAAC,IAAA,gCAAkB,EAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC,CAAA,CAAO,YAAY;IACpF,gBAAM,CAAC,KAAK,CAAC,IAAA,gCAAkB,EAAC,kCAAkC,CAAC,EAAE,IAAI,CAAC,CAAA;AAC5E,CAAC,CAAC,CAAA;AAEF,IAAA,gBAAI,EAAC,iBAAiB,EAAE,GAAG,EAAE;IAC3B,gBAAM,CAAC,KAAK,CAAC,IAAA,gCAAkB,EAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAA;AAC9D,CAAC,CAAC,CAAA;AAEF,IAAA,gBAAI,EAAC,UAAU,EAAE,GAAG,EAAE;IACpB,KAAK,MAAM,CAAC,IAAI;QACd,kCAAkC;QAClC,wBAAwB,EAAE,kBAAkB;KAC7C,EAAE,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,IAAA,gCAAkB,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,IAAA,gBAAI,EAAC,cAAc,EAAE,GAAG,EAAE;IACxB,gBAAM,CAAC,KAAK,CAAC,IAAA,gCAAkB,EAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAA;AACrD,CAAC,CAAC,CAAA"}
@@ -13,6 +13,6 @@ type RedirectRecord = {
13
13
  statusCode: number;
14
14
  };
15
15
  export declare function fetchUrlAsMarkdown(url: string, abortController: AbortController): Promise<FetchUrlResult | RedirectRecord>;
16
- export declare function injectPromptIntoMarkdown(prompt: string, markdownContent: string, signal: AbortSignal): Promise<string>;
16
+ export declare function injectPromptIntoMarkdown(prompt: string, markdownContent: string, signal: AbortSignal, sessionId?: string): Promise<string>;
17
17
  export {};
18
18
  //# sourceMappingURL=fetchUrl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchUrl.d.ts","sourceRoot":"","sources":["../../src/util/fetchUrl.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,0BAA0B,QAAS,CAAA;AAEhD,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAQD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,CAsE1C;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
1
+ {"version":3,"file":"fetchUrl.d.ts","sourceRoot":"","sources":["../../src/util/fetchUrl.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,0BAA0B,QAAS,CAAA;AAEhD,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAQD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,CAsE1C;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
@@ -81,13 +81,13 @@ async function fetchUrlAsMarkdown(url, abortController) {
81
81
  contentType,
82
82
  };
83
83
  }
84
- async function injectPromptIntoMarkdown(prompt, markdownContent, signal) {
84
+ async function injectPromptIntoMarkdown(prompt, markdownContent, signal, sessionId) {
85
85
  const truncated = markdownContent.length > exports.FETCH_URL_MAX_MARKDOWN_LEN
86
86
  ? markdownContent.slice(0, exports.FETCH_URL_MAX_MARKDOWN_LEN) + '\n\n[Content trimmed — exceeded length limit.]'
87
87
  : markdownContent;
88
88
  const userPrompt = (0, fetchUrl_1.buildSecondaryModelPrompt)(truncated, prompt);
89
89
  try {
90
- const { message } = await (0, queryLLM_1.queryQuick)({ userPrompt, signal });
90
+ const { message } = await (0, queryLLM_1.queryQuick)({ userPrompt, signal, sessionId });
91
91
  const firstBlock = message.content[0];
92
92
  return firstBlock && 'text' in firstBlock ? firstBlock.text : 'The model returned an empty response.';
93
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetchUrl.js","sourceRoot":"","sources":["../../src/util/fetchUrl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetchUrl.js","sourceRoot":"","sources":["../../src/util/fetchUrl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * 命令是否含重定向。用于「前缀授权」纵深防御:前缀匹配只看首词,
3
+ * 而 `echo x > file` 的危险来自重定向,故含重定向的命令不应被前缀授权覆盖,
4
+ * 也不应向用户提供「按前缀授权」选项。
5
+ *
6
+ * 先用 splitCommand 规范化(它会把 `x>file` 这类无空格重定向还原成带空格的 ` > ` 形式,
7
+ * 并正确处理引号),再用 REDIRECTION_RE 检测;解析失败时保守按「含重定向」处理。
8
+ */
9
+ export declare function hasRedirection(command: string): boolean;
10
+ /**
11
+ * 命令是否含「语义危险」子命令:危险首词(rm/sudo/mv 等)或 find 危险 flag。
12
+ * 不含重定向——重定向是否危险取决于路径(项目内可能安全),应交给上层模型判断。
13
+ *
14
+ * 用于 AutoRun:命中即「确定性危险」,直接转人工,不调模型(避免模型误判 safe 放行)。
15
+ * 解析失败保守按「危险」处理(fail-closed)。
16
+ */
17
+ export declare function hasDangerousCommand(command: string): boolean;
18
+ /**
19
+ * 命令是否「不适合按前缀授权」。命中则:
20
+ * - checkRunShellPermission 不向用户提供「按前缀授权」选项(只许单次确认)
21
+ * - matchesSavedPrefix 即便命中已存前缀也不放行(纵深防御,治存量配置)
22
+ *
23
+ * 涵盖:含重定向 / 危险首词(rm、sudo、mv 等)/ find 危险 flag。
24
+ */
25
+ export declare function isUnsafeForPrefixAuth(command: string): boolean;
26
+ /**
27
+ * 整条命令是否可判定为「只读安全」,可直接放行(无需人工/模型)。
28
+ * 基于 splitCommand 的分词逐子命令判定,从根本上消除「整串 split(' ')[0]」带来的
29
+ * 重定向 / 不带空格管道 / find 等绕过:
30
+ * - 含 && || ; ` $( 换行 → 交上层逐子命令或人工,这里不放行
31
+ * - 含管道时,要求每一段首词都在只读集合且段内无重定向
32
+ */
33
+ export declare function isReadonlySafeCommand(command: string): boolean;
34
+ //# sourceMappingURL=shellSafety.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shellSafety.d.ts","sourceRoot":"","sources":["../../src/util/shellSafety.ts"],"names":[],"mappings":"AAsBA;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOvD;AAqBD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQ5D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE9D;AAWD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAW9D"}