@getmarrow/mcp 3.9.102 → 3.9.103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -23
- package/dist/cli.js +41 -10
- package/dist/cli.js.map +1 -1
- package/dist/codex-plugin-pins.d.ts +19 -0
- package/dist/codex-plugin-pins.d.ts.map +1 -0
- package/dist/codex-plugin-pins.js +43 -0
- package/dist/codex-plugin-pins.js.map +1 -0
- package/dist/codex-plugins.d.ts +34 -0
- package/dist/codex-plugins.d.ts.map +1 -0
- package/dist/codex-plugins.js +240 -0
- package/dist/codex-plugins.js.map +1 -0
- package/dist/hook-contract.d.ts +2 -2
- package/dist/hook-contract.d.ts.map +1 -1
- package/dist/hook-contract.js +8 -3
- package/dist/hook-contract.js.map +1 -1
- package/dist/hook-pre-action.d.ts +48 -2
- package/dist/hook-pre-action.d.ts.map +1 -1
- package/dist/hook-pre-action.js +195 -22
- package/dist/hook-pre-action.js.map +1 -1
- package/dist/hook.d.ts +1 -1
- package/dist/hook.d.ts.map +1 -1
- package/dist/hook.js +12 -6
- package/dist/hook.js.map +1 -1
- package/dist/host-session.d.ts +11 -0
- package/dist/host-session.d.ts.map +1 -1
- package/dist/host-session.js +49 -0
- package/dist/host-session.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -10
- package/dist/index.js.map +1 -1
- package/dist/normalized-action.d.ts +29 -6
- package/dist/normalized-action.d.ts.map +1 -1
- package/dist/normalized-action.js +492 -102
- package/dist/normalized-action.js.map +1 -1
- package/dist/own-server-identity.d.ts +123 -0
- package/dist/own-server-identity.d.ts.map +1 -0
- package/dist/own-server-identity.js +1052 -0
- package/dist/own-server-identity.js.map +1 -0
- package/dist/own-tool.d.ts +7 -3
- package/dist/own-tool.d.ts.map +1 -1
- package/dist/own-tool.js +7 -3
- package/dist/own-tool.js.map +1 -1
- package/dist/redact.d.ts +23 -0
- package/dist/redact.d.ts.map +1 -1
- package/dist/redact.js +181 -8
- package/dist/redact.js.map +1 -1
- package/dist/seatbelt/classifier-pin.d.ts +15 -0
- package/dist/seatbelt/classifier-pin.d.ts.map +1 -0
- package/dist/seatbelt/classifier-pin.js +26 -0
- package/dist/seatbelt/classifier-pin.js.map +1 -0
- package/dist/seatbelt/guards.d.ts +10 -0
- package/dist/seatbelt/guards.d.ts.map +1 -0
- package/dist/seatbelt/guards.js +509 -0
- package/dist/seatbelt/guards.js.map +1 -0
- package/dist/seatbelt/hook.d.ts +72 -0
- package/dist/seatbelt/hook.d.ts.map +1 -0
- package/dist/seatbelt/hook.js +362 -0
- package/dist/seatbelt/hook.js.map +1 -0
- package/dist/seatbelt/longopts.d.ts +68 -0
- package/dist/seatbelt/longopts.d.ts.map +1 -0
- package/dist/seatbelt/longopts.js +377 -0
- package/dist/seatbelt/longopts.js.map +1 -0
- package/dist/seatbelt/mapper.d.ts +83 -0
- package/dist/seatbelt/mapper.d.ts.map +1 -0
- package/dist/seatbelt/mapper.js +10248 -0
- package/dist/seatbelt/mapper.js.map +1 -0
- package/dist/seatbelt/record.d.ts +94 -0
- package/dist/seatbelt/record.d.ts.map +1 -0
- package/dist/seatbelt/record.js +776 -0
- package/dist/seatbelt/record.js.map +1 -0
- package/dist/seatbelt/tables.d.ts +82 -0
- package/dist/seatbelt/tables.d.ts.map +1 -0
- package/dist/seatbelt/tables.js +359 -0
- package/dist/seatbelt/tables.js.map +1 -0
- package/dist/seatbelt-deploy.d.ts +100 -0
- package/dist/seatbelt-deploy.d.ts.map +1 -0
- package/dist/seatbelt-deploy.js +393 -0
- package/dist/seatbelt-deploy.js.map +1 -0
- package/dist/seatbelt-fs.d.ts +30 -0
- package/dist/seatbelt-fs.d.ts.map +1 -0
- package/dist/seatbelt-fs.js +94 -0
- package/dist/seatbelt-fs.js.map +1 -0
- package/dist/seatbelt-git.d.ts +212 -0
- package/dist/seatbelt-git.d.ts.map +1 -0
- package/dist/seatbelt-git.js +844 -0
- package/dist/seatbelt-git.js.map +1 -0
- package/dist/seatbelt-mode.d.ts +77 -0
- package/dist/seatbelt-mode.d.ts.map +1 -0
- package/dist/seatbelt-mode.js +496 -0
- package/dist/seatbelt-mode.js.map +1 -0
- package/dist/seatbelt-path.d.ts +123 -0
- package/dist/seatbelt-path.d.ts.map +1 -0
- package/dist/seatbelt-path.js +482 -0
- package/dist/seatbelt-path.js.map +1 -0
- package/dist/seatbelt-scripts.d.ts +109 -0
- package/dist/seatbelt-scripts.d.ts.map +1 -0
- package/dist/seatbelt-scripts.js +1060 -0
- package/dist/seatbelt-scripts.js.map +1 -0
- package/dist/tool-catalog.js +2 -2
- package/dist/tool-catalog.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/server.json +3 -3
- package/vendor/classifier/MANIFEST.json +25 -0
- package/vendor/classifier/classifier.js +1356 -0
- package/vendor/classifier/policy-baseline.js +187 -0
- package/vendor/classifier/redact.js +59 -0
- package/vendor/classifier/shell-parse.js +455 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/seatbelt/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
export declare const SEATBELT_RULES_VERSION = "marrow.seatbelt.rules.v1";
|
|
2
|
+
export declare const LIMITS: Readonly<{
|
|
3
|
+
maxCommandBytes: number;
|
|
4
|
+
maxSegments: 256;
|
|
5
|
+
maxDepth: 6;
|
|
6
|
+
maxScriptBytes: number;
|
|
7
|
+
maxPackageJsonBytes: number;
|
|
8
|
+
maxConfigBytes: number;
|
|
9
|
+
maxAliasExpansions: 5;
|
|
10
|
+
maxWork: 4000;
|
|
11
|
+
maxScriptExpansions: 150;
|
|
12
|
+
maxVariants: 16;
|
|
13
|
+
timeBudgetMs: 300;
|
|
14
|
+
maxGlobMatches: 256;
|
|
15
|
+
maxToolNodes: 200000;
|
|
16
|
+
maxToolDepth: 12;
|
|
17
|
+
maxTailTrials: 64;
|
|
18
|
+
maxPathChars: 4096;
|
|
19
|
+
maxToolJsonChars: number;
|
|
20
|
+
maxWords: 1024;
|
|
21
|
+
maxBraceChars: 1024;
|
|
22
|
+
maxParseCost: 24000000;
|
|
23
|
+
}>;
|
|
24
|
+
export declare const SECRET_PATTERNS: readonly string[];
|
|
25
|
+
export declare const KEY_EXTENSIONS: RegExp;
|
|
26
|
+
export declare const KEY_FIXTURE_SEGMENTS: Set<string>;
|
|
27
|
+
export declare const ENV_TEMPLATE_SUFFIX: RegExp;
|
|
28
|
+
export declare const SSH_PUBLIC: RegExp;
|
|
29
|
+
export declare function secretSamples(home: string, cwds: string[]): string[];
|
|
30
|
+
export declare const SECRET_VAR: RegExp;
|
|
31
|
+
export declare const PROD_ENV: RegExp;
|
|
32
|
+
export declare const S4_EXEMPT_PROGRAMS: Set<string>;
|
|
33
|
+
export declare const GIT_S4_EXEMPT_SUBS: Set<string>;
|
|
34
|
+
export declare const SHELLS: Set<string>;
|
|
35
|
+
export declare const INTERPRETERS: Set<string>;
|
|
36
|
+
export declare function interpreterTreeDelete(code: string): boolean;
|
|
37
|
+
export declare function interpreterDecodeToken(code: string): boolean;
|
|
38
|
+
export declare const INTERPRETER_EXEC: RegExp;
|
|
39
|
+
export declare const MARROW_OWNER_SUBS: Set<string>;
|
|
40
|
+
export declare const PACKAGE_BINS: Record<string, string>;
|
|
41
|
+
export declare const GIT_BUILTINS: Set<string>;
|
|
42
|
+
export declare const GIT_PUSH_LONG: string[];
|
|
43
|
+
export declare const GIT_PUSH_RISKY_LONG: Record<string, string>;
|
|
44
|
+
export declare const TRIPWIRE: ReadonlyArray<{
|
|
45
|
+
re: RegExp;
|
|
46
|
+
category: 'S0' | 'S1' | 'S2' | 'S3' | 'S4' | 'S5' | 'Sx';
|
|
47
|
+
reason: string;
|
|
48
|
+
}>;
|
|
49
|
+
export declare const NAME_TRIPWIRE: RegExp;
|
|
50
|
+
export declare const KNOWN_COMMANDS: Set<string>;
|
|
51
|
+
export declare const INERT_PROGRAMS: Set<string>;
|
|
52
|
+
export declare const SCRIPT_SUFFIX: RegExp;
|
|
53
|
+
export declare const NON_SCRIPT_NAMES: Set<string>;
|
|
54
|
+
export declare const EVAL_PRODUCERS: Set<string>;
|
|
55
|
+
export declare const NPM_COMMANDS: string[];
|
|
56
|
+
export declare const NPM_ALIASES: Record<string, string>;
|
|
57
|
+
export declare const NPM_VALUE_FLAGS: Set<string>;
|
|
58
|
+
export declare const NPM_BOOL_FLAGS: Set<string>;
|
|
59
|
+
export declare const GIT_EXEC_CONFIG: RegExp;
|
|
60
|
+
export declare const GIT_CONFIG_INCLUDE: RegExp;
|
|
61
|
+
export declare const GIT_CONFIG_ENV_FILES: string[];
|
|
62
|
+
export declare const SHELL_TOOL_NAMES: Set<string>;
|
|
63
|
+
export declare const FILE_TOOL_NAMES: Set<string>;
|
|
64
|
+
export declare const COMMAND_KEYS: Set<string>;
|
|
65
|
+
export declare function commandLikeKey(raw: string): boolean;
|
|
66
|
+
export declare const ARGV_KEYS: Set<string>;
|
|
67
|
+
export declare const ARGV_SEGMENTS: Set<string>;
|
|
68
|
+
export declare const ARGV_STRICT: Set<string>;
|
|
69
|
+
export declare const CODE_KEYS: Set<string>;
|
|
70
|
+
export declare function codeLikeKey(raw: string): boolean;
|
|
71
|
+
export declare const STDIN_KEYS: Set<string>;
|
|
72
|
+
export declare const TERMINAL_SEGMENTS: Set<string>;
|
|
73
|
+
export declare const BUILD_TOOLS: Set<string>;
|
|
74
|
+
export declare const HEAD_RUNNERS: Set<string>;
|
|
75
|
+
export declare const HEAD_CHANGERS: Set<string>;
|
|
76
|
+
export declare const GH_HEAD_SAFE: Set<string>;
|
|
77
|
+
export declare const TERMINAL_TEXT_KEYS: Set<string>;
|
|
78
|
+
export declare const ENV_KEYS: Set<string>;
|
|
79
|
+
export declare const CWD_KEYS: Set<string>;
|
|
80
|
+
export declare const OPTION_OBJECT_KEYS: Set<string>;
|
|
81
|
+
export declare const LANGUAGE_KEYS: Set<string>;
|
|
82
|
+
//# sourceMappingURL=tables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../src/seatbelt/tables.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Seatbelt rule tables (spec SEATBELT-SPEC.md §1.2 as amended by the owner decisions of 2026-10-12).
|
|
3
|
+
// Compiled into the package on purpose: no local file can extend or relax them (spec §2.1.7).
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.OPTION_OBJECT_KEYS = exports.CWD_KEYS = exports.ENV_KEYS = exports.TERMINAL_TEXT_KEYS = exports.GH_HEAD_SAFE = exports.HEAD_CHANGERS = exports.HEAD_RUNNERS = exports.BUILD_TOOLS = exports.TERMINAL_SEGMENTS = exports.STDIN_KEYS = exports.CODE_KEYS = exports.ARGV_STRICT = exports.ARGV_SEGMENTS = exports.ARGV_KEYS = exports.COMMAND_KEYS = exports.FILE_TOOL_NAMES = exports.SHELL_TOOL_NAMES = exports.GIT_CONFIG_ENV_FILES = exports.GIT_CONFIG_INCLUDE = exports.GIT_EXEC_CONFIG = exports.NPM_BOOL_FLAGS = exports.NPM_VALUE_FLAGS = exports.NPM_ALIASES = exports.NPM_COMMANDS = exports.EVAL_PRODUCERS = exports.NON_SCRIPT_NAMES = exports.SCRIPT_SUFFIX = exports.INERT_PROGRAMS = exports.KNOWN_COMMANDS = exports.NAME_TRIPWIRE = exports.TRIPWIRE = exports.GIT_PUSH_RISKY_LONG = exports.GIT_PUSH_LONG = exports.GIT_BUILTINS = exports.PACKAGE_BINS = exports.MARROW_OWNER_SUBS = exports.INTERPRETER_EXEC = exports.INTERPRETERS = exports.SHELLS = exports.GIT_S4_EXEMPT_SUBS = exports.S4_EXEMPT_PROGRAMS = exports.PROD_ENV = exports.SECRET_VAR = exports.SSH_PUBLIC = exports.ENV_TEMPLATE_SUFFIX = exports.KEY_FIXTURE_SEGMENTS = exports.KEY_EXTENSIONS = exports.SECRET_PATTERNS = exports.LIMITS = exports.SEATBELT_RULES_VERSION = void 0;
|
|
6
|
+
exports.LANGUAGE_KEYS = void 0;
|
|
7
|
+
exports.secretSamples = secretSamples;
|
|
8
|
+
exports.interpreterTreeDelete = interpreterTreeDelete;
|
|
9
|
+
exports.interpreterDecodeToken = interpreterDecodeToken;
|
|
10
|
+
exports.commandLikeKey = commandLikeKey;
|
|
11
|
+
exports.codeLikeKey = codeLikeKey;
|
|
12
|
+
exports.SEATBELT_RULES_VERSION = 'marrow.seatbelt.rules.v1';
|
|
13
|
+
// Budgets. A command that exceeds ANY budget stops (never passes): padding, deep nesting, wide
|
|
14
|
+
// fan-out and slow repositories must not turn into "pass" (audit F3, F10).
|
|
15
|
+
exports.LIMITS = Object.freeze({
|
|
16
|
+
// The vendored parser's own limits (vendor/classifier/shell-parse.js MAX_SOURCE_BYTES / MAX_COMMANDS).
|
|
17
|
+
maxCommandBytes: 64 * 1024,
|
|
18
|
+
maxSegments: 256,
|
|
19
|
+
maxDepth: 6,
|
|
20
|
+
maxScriptBytes: 64 * 1024,
|
|
21
|
+
maxPackageJsonBytes: 256 * 1024,
|
|
22
|
+
maxConfigBytes: 1024 * 1024,
|
|
23
|
+
maxAliasExpansions: 5,
|
|
24
|
+
// Work per classification: evaluated commands and shell texts (deterministic), script expansions
|
|
25
|
+
// (package scripts, make targets, script files), and a wall-clock ceiling well under hook timeouts.
|
|
26
|
+
maxWork: 4000,
|
|
27
|
+
maxScriptExpansions: 150,
|
|
28
|
+
maxVariants: 16,
|
|
29
|
+
timeBudgetMs: 300,
|
|
30
|
+
maxGlobMatches: 256,
|
|
31
|
+
maxToolNodes: 200000,
|
|
32
|
+
maxToolDepth: 12,
|
|
33
|
+
maxTailTrials: 64,
|
|
34
|
+
maxPathChars: 4096,
|
|
35
|
+
// N6: a command, or an expanded argv, with more words than this stops (the per-word checks do file
|
|
36
|
+
// system calls, so the count is the deterministic bound on one command's cost). A brace word longer
|
|
37
|
+
// than maxBraceChars is not expanded (unresolved = stop). maxParseCost bounds the estimated work of
|
|
38
|
+
// the vendored parser's `${` handling, which is quadratic on a run of unterminated `${`.
|
|
39
|
+
maxToolJsonChars: 1024 * 1024,
|
|
40
|
+
maxWords: 1024,
|
|
41
|
+
maxBraceChars: 1024,
|
|
42
|
+
maxParseCost: 24_000_000,
|
|
43
|
+
});
|
|
44
|
+
// S4 secret paths. Home-anchored entries in the spec are matched home-agnostic ("**/"), which is
|
|
45
|
+
// stricter: another user's or root's credential file is just as secret.
|
|
46
|
+
exports.SECRET_PATTERNS = [
|
|
47
|
+
'**/.ssh/id_*', '**/.ssh/*_key', '**/.aws/credentials', '**/.aws/sso/cache/**',
|
|
48
|
+
'**/.config/gcloud/**/*credentials*', '**/.config/gcloud/**/access_tokens.db', '**/.azure/**',
|
|
49
|
+
'**/.kube/config', '**/.docker/config.json', '**/.npmrc', '**/.pypirc', '**/.netrc', '**/.git-credentials',
|
|
50
|
+
'**/.config/gh/hosts.yml', '**/.config/op/**', '**/.gnupg/private-keys*', '**/.gnupg/private-keys*/**',
|
|
51
|
+
'**/.marrow/env*', '**/.claude.json', '**/.claude/settings.local.json', '/proc/*/environ',
|
|
52
|
+
'**/.env', '**/.env.*', '**/.dev.vars',
|
|
53
|
+
// The receipts' device salt (U6): with it an agent could compute receipt keys. Writes there are S0.
|
|
54
|
+
'**/.marrow/seatbelt/salt',
|
|
55
|
+
];
|
|
56
|
+
// Key material by extension, except under node_modules or test fixture folders.
|
|
57
|
+
exports.KEY_EXTENSIONS = /\.(?:pem|key|p12|pfx)$/;
|
|
58
|
+
exports.KEY_FIXTURE_SEGMENTS = new Set(['node_modules', 'fixtures', '__fixtures__', 'testdata', 'test', 'tests', '__tests__']);
|
|
59
|
+
// Q3: only these .env templates are excepted. Never widen this to other .env files.
|
|
60
|
+
exports.ENV_TEMPLATE_SUFFIX = /\.(?:example|sample|template)$/;
|
|
61
|
+
// ssh public keys and ssh metadata are never secret.
|
|
62
|
+
exports.SSH_PUBLIC = /\.pub$/;
|
|
63
|
+
// Concrete examples of every secret pattern, used to judge glob and partly dynamic operands
|
|
64
|
+
// (a glob or "$X/.env" is a stop when it can expand to one of these).
|
|
65
|
+
function secretSamples(home, cwds) {
|
|
66
|
+
const h = home.replace(/\/$/, '');
|
|
67
|
+
const out = [
|
|
68
|
+
`${h}/.ssh/id_rsa`, `${h}/.ssh/id_ed25519`, `${h}/.ssh/id_ecdsa`, `${h}/.ssh/id_dsa`, `${h}/.ssh/deploy_key`,
|
|
69
|
+
`${h}/.aws/credentials`, `${h}/.aws/sso/cache/token.json`, `${h}/.config/gcloud/application_default_credentials.json`,
|
|
70
|
+
`${h}/.config/gcloud/credentials.db`, `${h}/.config/gcloud/access_tokens.db`, `${h}/.azure/accessTokens.json`,
|
|
71
|
+
`${h}/.kube/config`, `${h}/.docker/config.json`, `${h}/.npmrc`, `${h}/.pypirc`, `${h}/.netrc`, `${h}/.git-credentials`,
|
|
72
|
+
`${h}/.config/gh/hosts.yml`, `${h}/.config/op/config`, `${h}/.gnupg/private-keys-v1.d/k.key`, `${h}/.marrow/env`,
|
|
73
|
+
`${h}/.marrow/env.local`, `${h}/.claude.json`, `${h}/.claude/settings.local.json`, '/proc/self/environ', '/proc/1/environ',
|
|
74
|
+
`${h}/.env`, '/root/.ssh/id_rsa', '/root/.aws/credentials', `${h}/.marrow/seatbelt/salt`,
|
|
75
|
+
];
|
|
76
|
+
for (const c of cwds) {
|
|
77
|
+
const d = c.replace(/\/$/, '');
|
|
78
|
+
out.push(`${d}/.env`, `${d}/.env.local`, `${d}/.env.production`, `${d}/app/.env`, `${d}/.dev.vars`, `${d}/server.pem`, `${d}/tls.key`, `${d}/cert.p12`, `${d}/cert.pfx`, `${d}/.claude/settings.local.json`, `${d}/.npmrc`);
|
|
79
|
+
}
|
|
80
|
+
return out;
|
|
81
|
+
}
|
|
82
|
+
exports.SECRET_VAR = /KEY|TOKEN|SECRET|PASS|CRED/i;
|
|
83
|
+
// Protected-branch baseline (classifier policy-baseline protected_branches; same list as spec §1.2).
|
|
84
|
+
exports.PROD_ENV = /(?:^|[^a-z0-9])(?:prod|production|live|main)(?:[^a-z0-9]|$)/i;
|
|
85
|
+
// Programs that take a path operand without printing or copying its content (S4 does not apply).
|
|
86
|
+
exports.S4_EXEMPT_PROGRAMS = new Set([
|
|
87
|
+
'ls', 'stat', 'test', '[', '[[', 'du', 'chmod', 'chown', 'chgrp', 'touch', 'mkdir', 'rm', 'rmdir', 'unlink',
|
|
88
|
+
'ssh', 'ssh-add', 'sftp', 'realpath', 'readlink', 'dirname', 'basename', 'echo', 'which', 'type', 'find', 'wc',
|
|
89
|
+
'kubectl', 'helm', 'cd', 'pushd', 'shred', 'file',
|
|
90
|
+
]);
|
|
91
|
+
exports.GIT_S4_EXEMPT_SUBS = new Set(['rm', 'check-ignore', 'check-attr', 'ls-files', 'status', 'log', 'restore']);
|
|
92
|
+
exports.SHELLS = new Set(['sh', 'bash', 'zsh', 'dash', 'ksh', 'fish', 'ash', 'mksh', 'yash', 'rbash', 'csh', 'tcsh']);
|
|
93
|
+
exports.INTERPRETERS = new Set(['python', 'python2', 'python3', 'node', 'nodejs', 'ruby', 'perl', 'php', 'deno', 'bun', 'lua', 'pwsh', 'powershell', 'osascript', 'tclsh', 'irb', 'ipython',
|
|
94
|
+
'tsx', 'ts-node', 'pypy', 'pypy3', 'luajit', 'php-cli', 'rscript', 'texlua', 'julia', 'groovy', 'racket', 'guile', 'runghc', 'raku', 'perl6', 'Rscript', 'R']);
|
|
95
|
+
// Interpreter one-liners that delete trees (S5). The two forms that need "a call, then an option
|
|
96
|
+
// before its closing parenthesis" are not regexes with a gap: a bounded gap lets padding turn a stop
|
|
97
|
+
// into a pass (audit N5) and an unbounded one is quadratic on a run of the opener. They are one
|
|
98
|
+
// linear scan each (interpreterTreeDelete), with the same meaning the unbounded regexes had.
|
|
99
|
+
const INTERPRETER_TREE_DELETE_WORDS = /rmSync|rmdirSync|rimraf|rmtree|rm_rf|FileUtils\.rm_r|FileUtils\.remove_dir|FileUtils\.remove_entry|remove_entry|remove_tree|File::Path|remove_dir_all|removedirs|deleteRecursively/;
|
|
100
|
+
// A delete call and a recursive option anywhere in the same code: padding, a nested call in the path
|
|
101
|
+
// argument, options kept in a variable and `fs['rm']` all end in the same two facts (audit N5).
|
|
102
|
+
const DELETE_CALL = /\.rm\s*\(|\brm\s*\(|\[\s*['"`]rm(?:dir)?['"`]\s*\]|\brmdir\s*\(|\.rmdir\s*\(|\bremoveSync?\s*\(|\.remove(?:All)?\s*\(/;
|
|
103
|
+
// Deleting file by file under a walk of a tree.
|
|
104
|
+
const WALK_WORD = /os\.walk|\.rglob\s*\(|\bwalk\s*\(|Dir\.glob|Dir\[|\.glob\s*\(|scandir|readdirSync|readdir\s*\(|FileList|glob\.glob|find_files/;
|
|
105
|
+
const FILE_DELETE_CALL = /os\.remove|os\.unlink|\.unlink\s*\(|File\.delete|File\.unlink|unlinkSync|fs\.unlink|\bunlink\s*\(/;
|
|
106
|
+
// Decoded data that is then executed inside interpreter code (S-x).
|
|
107
|
+
const INTERPRETER_DECODE_WORDS = /b64decode|base64|atob\s*\(|fromCharCode|fromCodePoint|unhexlify|bytes\.fromhex|codecs\.decode|\.decode\(\s*['"](?:hex|base64|rot)|\bpack\s*\(?\s*['"][HhBbuU]|\bchr\s*\(|\bhex\s*\(|\bgunzip|\binflate|\bzlib\b|\bunpack\b|\bpack\b\s*\(?\s*['"]|\.reverse\(\)|\[::-1\]|\bscalar\s+reverse|\bunescape\s*\(|\bdecodeURI(?:Component)?\s*\(|\bnew\s+Buffer\b|\bBuffer\s*\[|\bglobalThis\s*\[|\bglobal\s*\[|\bprocess\s*\[/i;
|
|
108
|
+
// `Buffer.from(x, 'hex')`: the call and an encoding literal in the same code.
|
|
109
|
+
const BUFFER_CALL = /\bBuffer\b/;
|
|
110
|
+
const ENCODING_LITERAL = /['"`](?:base64|hex)['"`]/i;
|
|
111
|
+
function interpreterTreeDelete(code) {
|
|
112
|
+
if (INTERPRETER_TREE_DELETE_WORDS.test(code))
|
|
113
|
+
return true;
|
|
114
|
+
if (code.includes('recursive') && DELETE_CALL.test(code))
|
|
115
|
+
return true;
|
|
116
|
+
if (WALK_WORD.test(code) && FILE_DELETE_CALL.test(code))
|
|
117
|
+
return true;
|
|
118
|
+
// `Remove-Item … -Recurse` on one line.
|
|
119
|
+
for (const line of code.split('\n')) {
|
|
120
|
+
const at = line.toLowerCase().indexOf('remove-item');
|
|
121
|
+
if (at >= 0 && line.toLowerCase().indexOf('-recurse', at + 11) >= 0)
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
function interpreterDecodeToken(code) {
|
|
127
|
+
// `Buffer.from(x, enc).toString()` turns bytes into text whatever the encoding is called.
|
|
128
|
+
return INTERPRETER_DECODE_WORDS.test(code) || (BUFFER_CALL.test(code) && (ENCODING_LITERAL.test(code) || /\.toString\s*\(/.test(code)));
|
|
129
|
+
}
|
|
130
|
+
exports.INTERPRETER_EXEC = /\bexec\b|\beval\b|\bFunction\s*\(|\bsystem\b|popen|spawn|execSync|execFile|child_process|subprocess|\bcompile\s*\(|`/;
|
|
131
|
+
// Owner-only commands an agent must never run (S0).
|
|
132
|
+
exports.MARROW_OWNER_SUBS = new Set(['claim', 'unclaim', 'control', 'uninstall']);
|
|
133
|
+
// npm-style package names to the binary they run.
|
|
134
|
+
exports.PACKAGE_BINS = {
|
|
135
|
+
'@changesets/cli': 'changeset', 'netlify-cli': 'netlify', 'firebase-tools': 'firebase', 'aws-cdk': 'cdk',
|
|
136
|
+
'@vscode/vsce': 'vsce', vsce: 'vsce', ovsx: 'ovsx', vercel: 'vercel', wrangler: 'wrangler', np: 'np',
|
|
137
|
+
'release-it': 'release-it', 'semantic-release': 'semantic-release', lerna: 'lerna', serverless: 'serverless',
|
|
138
|
+
sst: 'sst', rimraf: 'rimraf', '@railway/cli': 'railway', 'heroku': 'heroku',
|
|
139
|
+
};
|
|
140
|
+
// Git builtin subcommands: git ignores an alias that has a builtin name.
|
|
141
|
+
exports.GIT_BUILTINS = new Set(('add am annotate apply archive bisect blame branch bundle cat-file check-attr check-ignore '
|
|
142
|
+
+ 'check-mailmap checkout checkout-index cherry cherry-pick citool clean clone column commit commit-graph commit-tree config '
|
|
143
|
+
+ 'count-objects credential describe diff diff-files diff-index diff-tree difftool fast-export fast-import fetch fetch-pack '
|
|
144
|
+
+ 'filter-branch fmt-merge-msg for-each-ref for-each-repo format-patch fsck gc get-tar-commit-id grep gui hash-object help '
|
|
145
|
+
+ 'index-pack init init-db instaweb interpret-trailers log ls-files ls-remote ls-tree mailinfo mailsplit maintenance merge '
|
|
146
|
+
+ 'merge-base merge-file merge-index merge-tree mergetool mktag mktree multi-pack-index mv name-rev notes pack-objects '
|
|
147
|
+
+ 'pack-refs patch-id prune prune-packed pull push range-diff read-tree rebase receive-pack reflog remote repack replace '
|
|
148
|
+
+ 'request-pull rerere reset restore rev-list rev-parse revert rm send-email send-pack shortlog show show-branch show-index '
|
|
149
|
+
+ 'show-ref sparse-checkout stash status stripspace submodule switch symbolic-ref tag unpack-file unpack-objects update-index '
|
|
150
|
+
+ 'update-ref update-server-info upload-archive upload-pack var verify-commit verify-pack verify-tag version whatchanged '
|
|
151
|
+
+ 'worktree write-tree').split(' '));
|
|
152
|
+
exports.GIT_PUSH_LONG = [
|
|
153
|
+
'force', 'force-with-lease', 'force-if-includes', 'mirror', 'delete', 'all', 'branches', 'prune', 'tags', 'follow-tags',
|
|
154
|
+
'dry-run', 'porcelain', 'verbose', 'quiet', 'progress', 'no-verify', 'verify', 'atomic', 'no-atomic', 'set-upstream',
|
|
155
|
+
'signed', 'no-signed', 'push-option', 'repo', 'receive-pack', 'exec', 'thin', 'no-thin', 'ipv4', 'ipv6',
|
|
156
|
+
'recurse-submodules', 'no-recurse-submodules', 'no-force-with-lease', 'no-force-if-includes', 'no-progress',
|
|
157
|
+
];
|
|
158
|
+
exports.GIT_PUSH_RISKY_LONG = {
|
|
159
|
+
force: 'force', 'force-with-lease': 'force', 'force-if-includes': 'force', mirror: 'mirror', delete: 'delete',
|
|
160
|
+
all: 'all', branches: 'all', prune: 'prune',
|
|
161
|
+
};
|
|
162
|
+
// Lexical tripwire (spec §2.1.3). Matched case-insensitively after removing quotes and backslashes.
|
|
163
|
+
exports.TRIPWIRE = [
|
|
164
|
+
{ re: /\bpush\b[^;&|\n]{0,200}?(?:\s-[a-z0-9]*f|force|\s\+|--mirror|--delete|\s-d\b|\s:)/, category: 'S1', reason: 'tripwire_force_push' },
|
|
165
|
+
{ re: /publish/, category: 'S3', reason: 'tripwire_publish' },
|
|
166
|
+
{ re: /deploy|--prod\b/, category: 'S2', reason: 'tripwire_deploy' },
|
|
167
|
+
{ re: /\.ssh\b|id_rsa|id_ed25519|id_ecdsa|\.aws\b|\.npmrc|\.netrc|\.pypirc|\.git-credentials|\.docker\/config|\.kube\/config|gh\/hosts\.yml|\.gnupg|\.claude\.json|settings\.local\.json|\/environ\b|\.dev\.vars|\.pem\b|\.p12\b|\.pfx\b|\.marrow\/env|\.marrow\/seatbelt\/salt/, category: 'S4', reason: 'tripwire_secret_path' },
|
|
168
|
+
{ re: /(?:^|[^a-z0-9_$)\].])\.env(?![a-z0-9_])(?!\.(?:example|sample|template)\b)/, category: 'S4', reason: 'tripwire_env_file' },
|
|
169
|
+
{ re: /printenv|export\s+-p|declare\s+-[a-z]*[xp]|(?:^|[;&|({\s])(?:env|set|export)\s*(?:$|[;&|)}])|auth\s+token|print-(?:access|identity)-token|get-session-token|get-access-token|auth:token|find-(?:generic|internet)-password|secret-tool|op\s+read|vault\s+(?:kv|read)|pass\s+show|token\s+list|(?:process\.env|os\.environ|\$env|env\.to_h|system\.getenv\(\))\s*(?:\)|;|$|\||,|\.items|\.keys|\.copy)|(?:environ|\benv)\W{0,3}[a-z_]{0,256}(?:key|token|secret|pass|cred)|\$\{?!?[a-z_]{0,256}(?:key|token|secret|pass|cred)/, category: 'S4', reason: 'tripwire_secret_dumper' },
|
|
170
|
+
{ re: /rmtree|rmsync|rmdirsync|rimraf|rm_rf|\brm_r\b|mkfs/, category: 'S5', reason: 'tripwire_recursive_delete' },
|
|
171
|
+
{ re: /\.marrow|@getmarrow|settings\.json|hooks\.json|\.mcp\.json|\.bashrc|\.zshrc|\.bash_profile|\.zprofile|\.zshenv|\.profile\b/, category: 'S0', reason: 'tripwire_self_protection' },
|
|
172
|
+
// NEW-1: the Marrow plugins named in code or text the mapper cannot follow (`python3 -c "open('…/installed_plugins.json','w')"`).
|
|
173
|
+
{ re: /installed_plugins\.json|known_marketplaces\.json|plugins\/(?:cache|marketplaces)\/getmarrow|\.claude\/plugins\/\S{0,200}marrow|\.cursor\/plugins|marrow-launch\.cjs/, category: 'S0', reason: 'tripwire_plugin_protection' },
|
|
174
|
+
{ re: /base64\s+(?:-[a-z]*d|--decode)|xxd\s+-[a-z]*r|b64decode|atob\s*\(/, category: 'Sx', reason: 'tripwire_decoded_exec' },
|
|
175
|
+
];
|
|
176
|
+
// Script, Makefile-target and package-script names that trip when their content cannot be read.
|
|
177
|
+
exports.NAME_TRIPWIRE = /publish|deploy|release|ship|prod/i;
|
|
178
|
+
// ---------------------------------------------------------------------------------------------
|
|
179
|
+
// Unknown wrappers (audit F1). A program the mapper has no handler for is not "harmless": its argv
|
|
180
|
+
// may hold a command (`strace npm publish`, `tmux new -d 'npm publish'`). Only programs in
|
|
181
|
+
// INERT_PROGRAMS (text, file and info tools whose arguments are never run) skip the argv scan.
|
|
182
|
+
// Every program name the dispatcher has a handler for. test/seatbelt-audit-regression.test.js checks
|
|
183
|
+
// that each `case '<name>'` in mapper.ts is listed, so a tail-position scan sees every handler.
|
|
184
|
+
exports.KNOWN_COMMANDS = new Set([
|
|
185
|
+
'cd', 'pushd', 'popd', 'alias', 'export', 'declare', 'typeset', 'readonly', 'local', 'set', 'unset', 'printenv', 'echo', 'printf',
|
|
186
|
+
'print', 'eval', 'source', '.', 'env', 'sudo', 'doas', 'pkexec', 'runas', 'su', 'timeout', 'nice', 'nohup', 'time', 'command',
|
|
187
|
+
'builtin', 'exec', 'stdbuf', 'ionice', 'chrt', 'taskset', 'setsid', 'unbuffer', 'caffeinate', 'retry', 'flock', 'xargs', 'parallel',
|
|
188
|
+
'watch', 'ssh', 'git', 'gh', 'npm', 'pnpm', 'yarn', 'bun', 'npx', 'bunx', 'corepack', 'make', 'gmake', 'rm', 'rimraf', 'rmdir', 'find',
|
|
189
|
+
'rsync', 'shred', 'dd', 'docker', 'podman', 'kubectl', 'helm', 'marrow', 'marrow-install', 'claude', 'apply_patch', 'applypatch',
|
|
190
|
+
'trap', 'script', 'cpio', 'pax', 'read', 'mapfile', 'readarray', 'getopts', 'busybox', 'toybox', 'concurrently', 'npm-run-all', 'npm-run-all2', 'run-s', 'run-p', 'railway',
|
|
191
|
+
// deploy tools
|
|
192
|
+
'wrangler', 'vercel', 'netlify', 'ntl', 'fly', 'flyctl', 'firebase', 'heroku', 'gcloud', 'sst', 'serverless', 'sls', 'cdk', 'terraform',
|
|
193
|
+
'tofu', 'terragrunt', 'pulumi', 'eb', 'aws', 'az',
|
|
194
|
+
// publish tools and task runners
|
|
195
|
+
'np', 'just', 'task', 'mage', 'rake', 'invoke', 'nx', 'turbo', 'release-it', 'semantic-release', 'changeset', 'changesets', 'lerna',
|
|
196
|
+
'cargo', 'twine', 'uv', 'poetry', 'hatch', 'flit', 'gem', 'pdm', 'maturin', 'jsr', 'lein', 'sbt', 'nuget', 'dart', 'flutter', 'cabal', 'stack', 'opam',
|
|
197
|
+
'mix', 'rebar3', 'conda', 'anaconda', 'mamba', 'mvn', 'mvnw', 'gradle', 'gradlew', 'dotnet', 'pod', 'vsce', 'ovsx', 'goreleaser',
|
|
198
|
+
// secret dumpers
|
|
199
|
+
'security', 'secret-tool', 'op', 'vault', 'pass', 'gpg', 'gpg2',
|
|
200
|
+
// shells and interpreters
|
|
201
|
+
'sh', 'bash', 'zsh', 'dash', 'ksh', 'fish', 'ash', 'mksh', 'yash', 'rbash', 'csh', 'tcsh',
|
|
202
|
+
'python', 'python2', 'python3', 'node', 'nodejs', 'ruby', 'perl', 'php', 'deno', 'lua', 'pwsh', 'powershell', 'osascript', 'tclsh',
|
|
203
|
+
'irb', 'ipython', 'awk', 'gawk', 'mawk', 'sed', 'gsed', 'tar', 'gtar', 'bsdtar', 'ps',
|
|
204
|
+
]);
|
|
205
|
+
// Programs whose arguments are text, patterns or paths and are never run. Their argv is not scanned
|
|
206
|
+
// for a command. A program with an exec-capable flag (find -exec, xargs, tar --to-command) is not
|
|
207
|
+
// listed here; it has a handler or is scanned.
|
|
208
|
+
exports.INERT_PROGRAMS = new Set([
|
|
209
|
+
'ls', 'cat', 'head', 'tail', 'less', 'more', 'wc', 'sort', 'uniq', 'cut', 'tr', 'tee', 'grep', 'egrep', 'fgrep', 'rg', 'ag', 'ack',
|
|
210
|
+
'jq', 'yq', 'diff', 'cmp', 'comm', 'join', 'paste', 'column', 'fmt', 'fold', 'nl', 'od', 'hexdump', 'xxd', 'strings', 'cp', 'mv',
|
|
211
|
+
'mkdir', 'touch', 'ln', 'chmod', 'chown', 'chgrp', 'true', 'false', 'sleep', 'date', 'uname', 'hostname', 'whoami', 'id', 'pwd',
|
|
212
|
+
'stat', 'du', 'df', 'free', 'uptime', 'ps', 'pgrep', 'file', 'which', 'whereis', 'type', 'basename', 'dirname', 'realpath', 'readlink',
|
|
213
|
+
'md5sum', 'sha1sum', 'sha256sum', 'sha512sum', 'shasum', 'cksum', 'b2sum', 'base64', 'curl', 'wget', 'http', 'https', 'ping',
|
|
214
|
+
'nslookup', 'dig', 'host', 'man', 'help', 'history', 'clear', 'tput', 'stty', 'sync', 'pbcopy', 'pbpaste', 'xclip', 'wl-copy',
|
|
215
|
+
'notify-send', 'say', 'logger', 'wait', 'jobs', 'kill', 'ulimit', 'umask', 'test', '[', '[[', 'seq', 'yes', 'expr', 'let', 'return',
|
|
216
|
+
'exit', 'break', 'continue', 'shift', 'read', 'getopts', 'hash', 'rev', 'tac', 'sed', 'gsed', 'zip', 'unzip', 'gzip',
|
|
217
|
+
'gunzip', 'bzip2', 'xz', 'zstd', 'tar', 'truncate', 'unlink', 'mktemp', 'install', 'ssh-add', 'ssh-keygen',
|
|
218
|
+
'ssh-keyscan', 'openssl', 'gpg', 'gpg2', 'tree', 'bat', 'fd', 'exa', 'eza', 'lsof', 'netstat', 'ss', 'ip', 'ifconfig', 'top', 'htop',
|
|
219
|
+
'nproc', 'getconf', 'locale', 'cal', 'bc', 'dc', 'zcat', 'bzcat', 'xzcat', 'diff3', 'patch', 'colordiff',
|
|
220
|
+
'git-lfs', 'tsc', 'eslint', 'prettier', 'jest', 'vitest', 'mocha',
|
|
221
|
+
]);
|
|
222
|
+
// Executable-looking argument paths worth reading as a script when an unknown program is given one.
|
|
223
|
+
exports.SCRIPT_SUFFIX = /\.(?:sh|bash|zsh|ksh|command)$/;
|
|
224
|
+
exports.NON_SCRIPT_NAMES = new Set(['makefile', 'gnumakefile', 'dockerfile', 'readme', 'license', 'licence', 'changelog', 'procfile', 'gemfile', 'rakefile', 'vagrantfile', 'jenkinsfile']);
|
|
225
|
+
// `eval "$(<producer> …)"` forms that only print shell variable assignments.
|
|
226
|
+
exports.EVAL_PRODUCERS = new Set(['ssh-agent', 'direnv', 'opam', 'pyenv', 'rbenv', 'nodenv', 'jenv', 'goenv', 'fnm', 'zoxide', 'starship',
|
|
227
|
+
'mise', 'asdf', 'volta', 'dircolors', 'keychain', 'gpg-agent', 'lesspipe', 'lesspipe.sh', 'thefuck', 'conda', 'micromamba', 'luarocks', 'cs']);
|
|
228
|
+
// ---------------------------------------------------------------------------------------------
|
|
229
|
+
// npm subcommand resolution (audit F5). Same tables as npm 10 lib/utils/cmd-list.js; the lookup
|
|
230
|
+
// below keeps every reading an abbreviation can have (ambiguous prefixes included), so a prefix that
|
|
231
|
+
// could be publish is treated as publish.
|
|
232
|
+
exports.NPM_COMMANDS = ['access', 'adduser', 'audit', 'bugs', 'cache', 'ci', 'completion', 'config', 'dedupe', 'deprecate', 'diff',
|
|
233
|
+
'dist-tag', 'docs', 'doctor', 'edit', 'exec', 'explain', 'explore', 'find-dupes', 'fund', 'get', 'help', 'help-search', 'hook', 'init',
|
|
234
|
+
'install', 'install-ci-test', 'install-test', 'link', 'll', 'login', 'logout', 'ls', 'org', 'outdated', 'owner', 'pack', 'ping', 'pkg',
|
|
235
|
+
'prefix', 'profile', 'prune', 'publish', 'query', 'rebuild', 'repo', 'restart', 'root', 'run-script', 'sbom', 'search', 'set',
|
|
236
|
+
'shrinkwrap', 'star', 'stars', 'start', 'stop', 'team', 'test', 'token', 'uninstall', 'unpublish', 'unstar', 'update', 'version',
|
|
237
|
+
'view', 'whoami',
|
|
238
|
+
// older and newer npm releases
|
|
239
|
+
'bin', 'birthday', 'cit', 'dist-tags', 'install-clean', 'issues', 'rum', 'unpkg', 'xmas', 'config-set', 'ddp', 'hlep'];
|
|
240
|
+
exports.NPM_ALIASES = {
|
|
241
|
+
author: 'owner', home: 'docs', issues: 'bugs', info: 'view', show: 'view', find: 'search', add: 'install', unlink: 'uninstall',
|
|
242
|
+
remove: 'uninstall', rm: 'uninstall', r: 'uninstall', un: 'uninstall', rb: 'rebuild', list: 'ls', ln: 'link', create: 'init',
|
|
243
|
+
i: 'install', it: 'install-test', cit: 'install-ci-test', up: 'update', c: 'config', s: 'search', se: 'search', tst: 'test', t: 'test',
|
|
244
|
+
ddp: 'dedupe', v: 'view', run: 'run-script', 'clean-install': 'ci', 'clean-install-test': 'install-ci-test', x: 'exec', why: 'explain',
|
|
245
|
+
la: 'll', verison: 'version', ic: 'ci', innit: 'init', in: 'install', ins: 'install', inst: 'install', insta: 'install',
|
|
246
|
+
instal: 'install', isnt: 'install', isnta: 'install', isntal: 'install', isntall: 'install', 'install-clean': 'ci',
|
|
247
|
+
'isntall-clean': 'ci', hlep: 'help', 'dist-tags': 'dist-tag', upgrade: 'update', udpate: 'update', rum: 'run-script',
|
|
248
|
+
sit: 'install-ci-test', urn: 'run-script', ogr: 'org', 'add-user': 'adduser',
|
|
249
|
+
};
|
|
250
|
+
// Global options that take a value (the value is never the subcommand).
|
|
251
|
+
exports.NPM_VALUE_FLAGS = new Set(['-w', '--workspace', '--prefix', '-C', '--dir', '--filter', '-F', '--cwd', '--tag', '--access',
|
|
252
|
+
'--otp', '--registry', '--cache', '--loglevel', '--userconfig', '--globalconfig', '--scope', '--location', '--omit', '--include',
|
|
253
|
+
'--before', '--min-release-age', '--install-strategy', '--workspaces-update', '--package', '-p', '--call', '-c', '--node-options',
|
|
254
|
+
'--script-shell', '--foreground-scripts-value', '--logs-dir', '--logs-max', '--otp-value', '--init-module', '--fetch-retries',
|
|
255
|
+
'--maxsockets', '--proxy', '--https-proxy', '--noproxy', '--cafile', '--tag-version-prefix', '--message', '-m', '--depth',
|
|
256
|
+
'--engine-strict-value', '--cpu', '--os', '--libc', '--jsonfile']);
|
|
257
|
+
// Global options that never take a value.
|
|
258
|
+
exports.NPM_BOOL_FLAGS = new Set(['-g', '--global', '-S', '--save', '-D', '--save-dev', '-O', '--save-optional', '-E', '--save-exact',
|
|
259
|
+
'-B', '--save-bundle', '-f', '--force', '-d', '-dd', '-ddd', '-s', '--silent', '-q', '--quiet', '-v', '--verbose', '--json', '--no-json',
|
|
260
|
+
'--dry-run', '--no-dry-run', '--no-audit', '--audit', '--no-fund', '--fund', '--ignore-scripts', '--no-ignore-scripts', '--production',
|
|
261
|
+
'--prod', '--legacy-peer-deps', '--no-legacy-peer-deps', '--strict-peer-deps', '--no-save', '--package-lock-only', '--no-package-lock',
|
|
262
|
+
'--prefer-offline', '--prefer-online', '--offline', '--no-offline', '-y', '--yes', '--no', '-l', '--long', '-p', '--parseable',
|
|
263
|
+
'--no-progress', '--progress', '--workspaces', '-ws', '--include-workspace-root', '--if-present', '--ignore-engines',
|
|
264
|
+
'--no-optional', '--no-bin-links', '--foreground-scripts', '--install-links', '--global-style', '--no-color', '--color', '--unicode',
|
|
265
|
+
'--no-unicode', '--verify-store-integrity', '--frozen-lockfile', '--no-frozen-lockfile', '--recursive', '-r', '--workspace-root',
|
|
266
|
+
'--link', '--sign-git-tag', '--no-git-tag-version', '--git-tag-version', '--allow-same-version', '--no-commit-hooks',
|
|
267
|
+
'--commit-hooks', '--audit-level-none', '--update-notifier', '--no-update-notifier', '--ignore-workspace-root-check', '-w-root']);
|
|
268
|
+
// ---------------------------------------------------------------------------------------------
|
|
269
|
+
// git config that makes git run another program (audit F6; same list as the U3 resolver,
|
|
270
|
+
// src/seatbelt-git.ts GIT_EXEC_CONFIG). A value set for one of these is a shell command.
|
|
271
|
+
exports.GIT_EXEC_CONFIG = /^(?:core\.(?:sshcommand|pager|editor|fsmonitor|hookspath|gitproxy|askpass)|sequence\.editor|diff\.external|diff\..+\.(?:command|textconv)|merge\..+\.driver|filter\..+\.(?:clean|smudge|process)|credential(?:\..+)?\.helper|pager\..+|gpg(?:\..+)?\.program|uploadpack\.packobjectshook|remote\..+\.(?:receivepack|uploadpack|vcs)|submodule\..+\.update|alias\..+)$/;
|
|
272
|
+
// Config keys that redirect or extend where git reads configuration from.
|
|
273
|
+
exports.GIT_CONFIG_INCLUDE = /^(?:include\.path|includeif\..+\.path)$/;
|
|
274
|
+
// Environment variables that redirect git's configuration files.
|
|
275
|
+
exports.GIT_CONFIG_ENV_FILES = ['GIT_CONFIG', 'GIT_CONFIG_GLOBAL', 'GIT_CONFIG_SYSTEM'];
|
|
276
|
+
// ---------------------------------------------------------------------------------------------
|
|
277
|
+
// Tools that run a shell command (audit F11).
|
|
278
|
+
// Names (lower-cased) of tools whose input is a shell command. Any other tool is scanned too: an
|
|
279
|
+
// input field named like COMMAND_KEYS is a shell command wherever it sits (top level or nested).
|
|
280
|
+
exports.SHELL_TOOL_NAMES = new Set(['bash', 'shell', 'local_shell', 'exec_command', 'container.exec', 'run_terminal_command',
|
|
281
|
+
'run_terminal_cmd', 'execute_command', 'run_shell_command', 'run_command', 'terminal', 'shell_command', 'bash_command', 'execute_bash',
|
|
282
|
+
'run_bash', 'bashtool', 'bash_tool', 'powershell', 'run_in_terminal', 'terminal_command', 'exec', 'sh', 'zsh', 'cmd', 'command',
|
|
283
|
+
'developer__shell', 'run_shell', 'shell_exec', 'execute_shell', 'process']);
|
|
284
|
+
// Tools with their own handling (file read, search, write); `command` there is not a shell string.
|
|
285
|
+
exports.FILE_TOOL_NAMES = new Set(['read', 'notebookread', 'read_file', 'view', 'view_file', 'grep', 'grep_files', 'search', 'rg',
|
|
286
|
+
'write', 'edit', 'multiedit', 'notebookedit', 'write_file', 'create_file', 'str_replace_editor', 'str_replace_based_edit_tool',
|
|
287
|
+
'apply_patch', 'edit_file', 'glob', 'ls', 'list_dir', 'list_directory']);
|
|
288
|
+
// Input field names (lower-cased) that hold a shell command, script or argv.
|
|
289
|
+
exports.COMMAND_KEYS = new Set(['command', 'cmd', 'commandline', 'command_line', 'cmdline', 'cmd_line', 'shell_command', 'shellcommand',
|
|
290
|
+
'bash_command', 'script', 'shell', 'bash', 'sh', 'exec', 'run', 'execute', 'argv', 'commands', 'cmds',
|
|
291
|
+
// audit N4: argv-style tools and string-named variants
|
|
292
|
+
'program', 'executable', 'exe', 'binary', 'bin', 'shell_cmd', 'shellcmd', 'cmdstring', 'cmd_string', 'command_string', 'commandstring', 'cmdstr',
|
|
293
|
+
'cmd_str', 'command_text', 'commandtext', 'cmd_text', 'shell_script', 'bash_script', 'script_text']);
|
|
294
|
+
// A field name that is not listed above but names a command by word: `cmdString`, `my_shell_cmd`,
|
|
295
|
+
// `run_command`. Matched on name segments, so `description` is not `script`.
|
|
296
|
+
const COMMAND_SEGMENTS = new Set(['cmd', 'cmds', 'command', 'commands', 'shell', 'bash', 'zsh', 'script', 'scripts', 'exec', 'execute', 'argv', 'commandline',
|
|
297
|
+
'cmdline', 'program', 'executable', 'binary', 'bin', 'cmdstring']);
|
|
298
|
+
function commandLikeKey(raw) {
|
|
299
|
+
return raw.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase().split(/[^a-z0-9]+/).some((s) => COMMAND_SEGMENTS.has(s));
|
|
300
|
+
}
|
|
301
|
+
// Companion argument-vector fields next to a `command` string (MCP exec servers: {command:'git', args:[…]}).
|
|
302
|
+
exports.ARGV_KEYS = new Set(['args', 'argv', 'arguments', 'params', 'argument']);
|
|
303
|
+
exports.ARGV_SEGMENTS = new Set(['args', 'argv', 'arguments', 'params', 'parameters', 'argument', 'arg', 'arg1', 'arg2', 'arg3', 'operands', 'operand', 'options', 'option', 'flags', 'flag', 'subcommand',
|
|
304
|
+
'subcommands', 'positional', 'positionals', 'opts', 'rest', 'remaining', 'tail', 'more']);
|
|
305
|
+
// The argument-list names whose value must be a list or text; any other shape is unknown.
|
|
306
|
+
exports.ARGV_STRICT = new Set(['args', 'argv', 'arguments', 'params', 'parameters', 'argument']);
|
|
307
|
+
// Fields that hold interpreter code (scanned like `node -e`).
|
|
308
|
+
exports.CODE_KEYS = new Set(['code', 'python', 'javascript', 'js', 'node', 'ruby', 'perl', 'php', 'python_code', 'source_code',
|
|
309
|
+
// audit N4
|
|
310
|
+
'source', 'snippet', 'code_snippet', 'script_source', 'python_script', 'js_code', 'javascript_code', 'node_code', 'ruby_code',
|
|
311
|
+
'perl_code', 'php_code']);
|
|
312
|
+
const CODE_SEGMENTS = new Set(['code', 'python', 'javascript', 'js', 'ruby', 'perl', 'php', 'snippet', 'source', 'py', 'rb', 'lua', 'ts', 'typescript']);
|
|
313
|
+
function codeLikeKey(raw) {
|
|
314
|
+
const segs = raw.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase().split(/[^a-z0-9]+/);
|
|
315
|
+
// `source_path` / `source_file` name a file, not code.
|
|
316
|
+
if (segs.some((s) => s === 'path' || s === 'file' || s === 'dir' || s === 'url' || s === 'uri' || s === 'id' || s === 'name' || s === 'type' || s === 'lang' || s === 'language'))
|
|
317
|
+
return false;
|
|
318
|
+
return segs.some((s) => CODE_SEGMENTS.has(s));
|
|
319
|
+
}
|
|
320
|
+
// Fields that carry a program's standard input or typed keys (audit N4). Next to a command they are
|
|
321
|
+
// that command's stdin; on a terminal or process tool they are typed into a shell or REPL.
|
|
322
|
+
exports.STDIN_KEYS = new Set(['stdin', 'input', 'std_in', 'standard_input', 'stdin_text', 'stdin_data', 'input_text', 'inputtext',
|
|
323
|
+
'keys', 'send_keys', 'keystrokes', 'stdin_content']);
|
|
324
|
+
// Name segments of a tool that drives a terminal, shell, process or REPL.
|
|
325
|
+
exports.TERMINAL_SEGMENTS = new Set(['terminal', 'shell', 'process', 'interact', 'pty', 'console', 'repl', 'bash', 'exec', 'execute',
|
|
326
|
+
'stdin', 'keys', 'keystroke', 'keystrokes', 'command', 'commands', 'cmd', 'tty', 'ssh', 'tmux', 'iterm', 'iterm2', 'session', 'sh',
|
|
327
|
+
'zsh', 'powershell', 'pwsh', 'run', 'input', 'term', 'screen', 'stuff', 'type', 'typing', 'keyboard', 'send']);
|
|
328
|
+
// ---------------------------------------------------------------------------------------------
|
|
329
|
+
// Friction trims T1/T3: what can change the checked-out branch.
|
|
330
|
+
// Build tools and generators that are not assumed to switch branches. Any other program with no
|
|
331
|
+
// handler is "may change the branch" for the trims (audit T1).
|
|
332
|
+
exports.BUILD_TOOLS = new Set(['vite', 'astro', 'next', 'nuxt', 'nuxi', 'webpack', 'rollup', 'esbuild', 'tsup', 'parcel', 'gatsby', 'hugo',
|
|
333
|
+
'jekyll', 'zola', 'mkdocs', 'sphinx-build', 'eleventy', '11ty', 'hexo', 'docusaurus', 'vuepress', 'vitepress', 'svelte-kit', 'sass', 'postcss',
|
|
334
|
+
'tailwindcss', 'ng', 'vue-cli-service', 'react-scripts', 'expo', 'remix', 'solid-start', 'qwik', 'biome', 'swc', 'babel', 'rustc',
|
|
335
|
+
'gcc', 'g++', 'clang', 'cc', 'nodemon', 'zip', 'jq', 'yq', 'sort', 'uniq', 'cmake', 'ninja', 'swift', 'xcodebuild']);
|
|
336
|
+
// Task runners and package builders that run project code (recipes, build scripts, plugins) the
|
|
337
|
+
// mapper does not read: a command before the trims may have switched the branch in one of them.
|
|
338
|
+
exports.HEAD_RUNNERS = new Set(['just', 'task', 'mage', 'rake', 'invoke', 'nx', 'turbo', 'lerna', 'mvn', 'mvnw', 'gradle', 'gradlew', 'dotnet',
|
|
339
|
+
'sbt', 'ant', 'bazel', 'buck', 'pants', 'tsx', 'ts-node', 'pytest', 'tox', 'nox', 'pip', 'pip3', 'bundle', 'cargo', 'go', 'deno', 'flutter', 'dart']);
|
|
340
|
+
// Programs whose purpose is to switch branches, worktrees or revisions.
|
|
341
|
+
exports.HEAD_CHANGERS = new Set(['hub', 'jj', 'sl', 'hg', 'git-town', 'gt', 'gitui', 'lazygit', 'tig', 'git-branchless', 'stg', 'git-flow',
|
|
342
|
+
'gitflow', 'svn', 'bzr', 'pijul', 'fossil', 'repo', 'west']);
|
|
343
|
+
// `gh` subcommands that cannot change the local checkout.
|
|
344
|
+
exports.GH_HEAD_SAFE = new Set(['api', 'auth', 'issue', 'run', 'workflow', 'release', 'label', 'gist', 'status', 'search', 'browse',
|
|
345
|
+
'config', 'extension', 'ruleset', 'secret', 'variable', 'cache', 'codespace', 'ssh-key', 'gpg-key', 'org', 'project', 'alias', 'completion', 'help', 'version']);
|
|
346
|
+
// Fields of a terminal or process tool that hold typed text (next to, or instead of, stdin/input).
|
|
347
|
+
exports.TERMINAL_TEXT_KEYS = new Set(['chunks', 'chunk', 'expression', 'expr', 'source', 'cells', 'cell', 'text', 'data', 'content', 'message', 'payload', 'body', 'value', 'line', 'lines', 'statement', 'task',
|
|
348
|
+
'job', 'action', 'string', 'chars', 'characters', 'typed', 'write', 'send', 'prompt']);
|
|
349
|
+
// Fields that give a command's environment.
|
|
350
|
+
exports.ENV_KEYS = new Set(['env', 'environment', 'envs', 'env_vars', 'envvars', 'environment_variables', 'extra_env', 'env_vars_override']);
|
|
351
|
+
// Fields that give a command's working directory.
|
|
352
|
+
exports.CWD_KEYS = new Set(['cwd', 'workdir', 'working_dir', 'working_directory', 'work_dir', 'workingdir', 'workingdirectory', 'current_directory',
|
|
353
|
+
'currentdir', 'directory', 'dir', 'folder', 'cwd_path', 'run_in', 'cwds', 'workdirs', 'root', 'base_dir', 'basedir', 'base_directory', 'pwd', 'chdir', 'cd', 'project', 'project_dir',
|
|
354
|
+
'project_path', 'repo_path', 'repo_dir', 'working_path', 'path', 'rootdir', 'root_dir', 'workspace', 'workspace_dir']);
|
|
355
|
+
// Option objects that may hold the working directory or environment of the command next to them.
|
|
356
|
+
exports.OPTION_OBJECT_KEYS = new Set(['options', 'opts', 'context', 'session', 'execution', 'spawn_options', 'exec_options', 'config', 'settings', 'env_options', 'process', 'run_options']);
|
|
357
|
+
// A sibling that names the language of a code field.
|
|
358
|
+
exports.LANGUAGE_KEYS = new Set(['runtime', 'language', 'lang', 'interpreter', 'engine', 'kind', 'type', 'shell', 'mode']);
|
|
359
|
+
//# sourceMappingURL=tables.js.map
|