@burtson-labs/host-kit 0.4.2 → 0.4.3

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.
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutoApprovalLedger = exports.PERMISSION_MODES = void 0;
4
+ exports.isPermissionMode = isPermissionMode;
5
+ exports.resolvePermissionMode = resolvePermissionMode;
6
+ exports.shouldAutoApprove = shouldAutoApprove;
7
+ exports.decidePermission = decidePermission;
8
+ exports.PERMISSION_MODES = ['ask', 'auto', 'dangerous'];
9
+ function isPermissionMode(value) {
10
+ return typeof value === 'string' && exports.PERMISSION_MODES.includes(value);
11
+ }
12
+ /**
13
+ * Resolve the effective mode. Precedence: runtime override > env > settings >
14
+ * default.
15
+ *
16
+ * `BANDIT_AUTO_APPROVE=1` predates this module and meant "skip the permission
17
+ * policy entirely" — a full bypass. It keeps that meaning and maps to
18
+ * `dangerous`, with a deprecation notice. Quietly re-pointing it at `auto`
19
+ * would have been the friendlier-looking choice and the wrong one: every
20
+ * existing CI job using it would start prompting for `elevated` calls, and a
21
+ * non-interactive prompt denies, so pipelines would fail in a way that looks
22
+ * like a Bandit bug rather than a config change.
23
+ */
24
+ function resolvePermissionMode(input = {}) {
25
+ const env = input.env ?? process.env;
26
+ if (input.override) {
27
+ return { mode: input.override, source: 'override' };
28
+ }
29
+ const explicit = env.BANDIT_PERMISSION_MODE?.trim().toLowerCase();
30
+ if (explicit) {
31
+ if (isPermissionMode(explicit)) {
32
+ return { mode: explicit, source: 'env' };
33
+ }
34
+ return {
35
+ mode: 'ask',
36
+ source: 'default',
37
+ deprecation: `BANDIT_PERMISSION_MODE="${explicit}" is not a valid mode (expected: ${exports.PERMISSION_MODES.join(', ')}). Falling back to "ask".`
38
+ };
39
+ }
40
+ if (/^(1|true)$/i.test(env.BANDIT_DANGEROUSLY_APPROVE_ALL ?? '')) {
41
+ return { mode: 'dangerous', source: 'env' };
42
+ }
43
+ if (/^(1|true)$/i.test(env.BANDIT_AUTO_APPROVE ?? '')) {
44
+ return {
45
+ mode: 'dangerous',
46
+ source: 'env',
47
+ deprecation: 'BANDIT_AUTO_APPROVE is deprecated and still means "approve everything". '
48
+ + 'Use BANDIT_DANGEROUSLY_APPROVE_ALL=1 for that, or BANDIT_PERMISSION_MODE=auto '
49
+ + 'for the new auto mode, which keeps prompting for destructive calls.'
50
+ };
51
+ }
52
+ if (input.settingsMode) {
53
+ const fromSettings = input.settingsMode.trim().toLowerCase();
54
+ if (isPermissionMode(fromSettings)) {
55
+ return { mode: fromSettings, source: 'settings' };
56
+ }
57
+ return {
58
+ mode: 'ask',
59
+ source: 'default',
60
+ deprecation: `permissions.mode="${input.settingsMode}" in .bandit/settings.json is not a valid mode (expected: ${exports.PERMISSION_MODES.join(', ')}). Falling back to "ask".`
61
+ };
62
+ }
63
+ return { mode: 'ask', source: 'default' };
64
+ }
65
+ /**
66
+ * Should this call skip the prompt under the given mode?
67
+ *
68
+ * Callers must still run the security guard and PreToolUse hooks first — this
69
+ * function answers only "does the mode waive the user prompt", never "is this
70
+ * call safe."
71
+ */
72
+ function shouldAutoApprove(mode, risk) {
73
+ if (mode === 'dangerous') {
74
+ return { autoApprove: true, reason: 'permission mode is "dangerous" (all prompts disabled)' };
75
+ }
76
+ if (mode !== 'auto') {
77
+ return { autoApprove: false, reason: 'permission mode is "ask"' };
78
+ }
79
+ if (risk.tier === 'routine') {
80
+ return { autoApprove: true, reason: `auto mode: routine call (${risk.rule})` };
81
+ }
82
+ return {
83
+ autoApprove: false,
84
+ reason: risk.tier === 'critical'
85
+ ? `auto mode always asks before destructive calls (${risk.rule})`
86
+ : `auto mode asks before non-routine calls (${risk.rule})`
87
+ };
88
+ }
89
+ /**
90
+ * The single precedence chain both hosts use. Previously each host open-coded
91
+ * this order and they had already drifted (the extension gained a turn-local
92
+ * auto-grant the CLI never had, the CLI gained an env short-circuit the
93
+ * extension never had). One function, one order, one set of tests:
94
+ *
95
+ * 1. `deny` from policy — nothing overrides an explicit deny.
96
+ * 2. **The critical floor.** A `critical` call always asks, even when a
97
+ * stored rule says allow. This is what stops a saved grant from widening
98
+ * into destruction: approving `git push origin main` for the session
99
+ * stores `run_command:git push*`, which as a bare glob would also cover
100
+ * `git push --force`. It doesn't, because force-push classifies critical
101
+ * and lands here. Same protection covers a hand-written `run_command:git *`
102
+ * in settings.json, which had this hole before the floor existed.
103
+ * 3. `dangerous` mode — no floor, by name and by design.
104
+ * 4. `auto` mode — routine runs unattended.
105
+ * 5. Otherwise the policy decides.
106
+ *
107
+ * The security guard and PreToolUse hooks run BEFORE this, in the host. This
108
+ * function answers "does the user have to be asked", not "is this call safe".
109
+ */
110
+ function decidePermission(input) {
111
+ const { mode, risk, policyDecision } = input;
112
+ if (policyDecision === 'deny') {
113
+ return { action: 'deny', reason: 'denied by permission policy' };
114
+ }
115
+ if (mode === 'dangerous') {
116
+ return { action: 'allow', reason: 'permission mode is "dangerous" (all prompts disabled)' };
117
+ }
118
+ if (risk.tier === 'critical') {
119
+ return {
120
+ action: 'ask',
121
+ reason: `destructive or irreversible (${risk.rule}) — always requires explicit approval`,
122
+ flooredByRisk: policyDecision === 'allow'
123
+ };
124
+ }
125
+ if (mode === 'auto' && risk.tier === 'routine') {
126
+ return { action: 'allow', reason: `auto mode: routine call (${risk.rule})` };
127
+ }
128
+ if (policyDecision === 'allow') {
129
+ return { action: 'allow', reason: 'allowed by permission policy' };
130
+ }
131
+ return {
132
+ action: 'ask',
133
+ reason: mode === 'auto'
134
+ ? `auto mode asks before non-routine calls (${risk.rule})`
135
+ : `permission mode is "ask" (${risk.rule})`
136
+ };
137
+ }
138
+ /**
139
+ * In-memory record of what auto mode did this session.
140
+ *
141
+ * Auto-approval without a record is indistinguishable from a bypass — the user
142
+ * has no way to answer "what did it do while I wasn't looking?". `/permissions`
143
+ * renders this.
144
+ */
145
+ class AutoApprovalLedger {
146
+ constructor(limit = 500) {
147
+ this.entries = [];
148
+ this.limit = limit;
149
+ }
150
+ record(entry) {
151
+ this.entries.push(entry);
152
+ if (this.entries.length > this.limit)
153
+ this.entries.shift();
154
+ }
155
+ all() {
156
+ return this.entries;
157
+ }
158
+ size() {
159
+ return this.entries.length;
160
+ }
161
+ /** Counts per tool, most-used first — the useful shape for a summary line. */
162
+ summary() {
163
+ const counts = new Map();
164
+ for (const e of this.entries)
165
+ counts.set(e.tool, (counts.get(e.tool) ?? 0) + 1);
166
+ return [...counts.entries()]
167
+ .map(([tool, count]) => ({ tool, count }))
168
+ .sort((a, b) => b.count - a.count);
169
+ }
170
+ clear() {
171
+ this.entries.length = 0;
172
+ }
173
+ }
174
+ exports.AutoApprovalLedger = AutoApprovalLedger;
175
+ //# sourceMappingURL=permissionMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissionMode.js","sourceRoot":"","sources":["../src/permissionMode.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,16 @@ export declare class SessionPermissionStore {
64
64
  private readonly allow;
65
65
  /** Remember an "always allow for this session" choice. */
66
66
  grant(toolName: string, primary?: string): void;
67
+ /**
68
+ * Store a pre-computed policy rule verbatim.
69
+ *
70
+ * Prefer this over `grant()` for anything driven by a user choice: the rule
71
+ * comes from `grantRuleFor()`, which is also what the permission card
72
+ * renders, so the stored scope is exactly the scope the user was shown.
73
+ * `grant()` builds the rule from a tool name and a raw primary, which is how
74
+ * "always allow `npx create-vite my-app`" ended up persisting `run_command:npx`.
75
+ */
76
+ grantRule(rule: string): void;
67
77
  /** Returns a policy fragment reflecting session grants only. */
68
78
  toPolicy(): PermissionPolicy;
69
79
  clear(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AA0FD,eAAO,MAAM,WAAW,QAAO,gBAAsD,CAAC;AAEtF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAMxF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,kBAAkB,CAepB;AA2ED;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAE3C,0DAA0D;IAC1D,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/C,gEAAgE;IAChE,QAAQ,IAAI,gBAAgB;IAI5B,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,MAAM;CAGf"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AA0FD,eAAO,MAAM,WAAW,QAAO,gBAAsD,CAAC;AAEtF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAMxF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,kBAAkB,CAepB;AA2ED;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAE3C,0DAA0D;IAC1D,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/C;;;;;;;;OAQG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7B,gEAAgE;IAChE,QAAQ,IAAI,gBAAgB;IAI5B,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,MAAM;CAGf"}
@@ -256,6 +256,18 @@ class SessionPermissionStore {
256
256
  grant(toolName, primary) {
257
257
  this.allow.add(primary ? `${toolName}:${primary}` : toolName);
258
258
  }
259
+ /**
260
+ * Store a pre-computed policy rule verbatim.
261
+ *
262
+ * Prefer this over `grant()` for anything driven by a user choice: the rule
263
+ * comes from `grantRuleFor()`, which is also what the permission card
264
+ * renders, so the stored scope is exactly the scope the user was shown.
265
+ * `grant()` builds the rule from a tool name and a raw primary, which is how
266
+ * "always allow `npx create-vite my-app`" ended up persisting `run_command:npx`.
267
+ */
268
+ grantRule(rule) {
269
+ this.allow.add(rule);
270
+ }
259
271
  /** Returns a policy fragment reflecting session grants only. */
260
272
  toPolicy() {
261
273
  return { allow: [...this.allow], deny: [], ask: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export type RiskTier = 'routine' | 'elevated' | 'critical';
2
+ export interface RiskAssessment {
3
+ tier: RiskTier;
4
+ /** One sentence, user-facing. Rendered as the card's risk line. */
5
+ why: string;
6
+ /** Stable identifier for the rule that decided this (logging / tests). */
7
+ rule: string;
8
+ }
9
+ export interface RiskContext {
10
+ workspaceRoot?: string;
11
+ homeDir?: string;
12
+ }
13
+ /**
14
+ * Classify a tool call. Never throws — an unknown tool is `elevated`, because
15
+ * the safe default for "we don't recognize this" is "ask", not "run it".
16
+ */
17
+ export declare function classifyRisk(call: {
18
+ name: string;
19
+ params: Record<string, string>;
20
+ }, ctx?: RiskContext): RiskAssessment;
21
+ //# sourceMappingURL=riskTiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"riskTiers.d.ts","sourceRoot":"","sources":["../src/riskTiers.ts"],"names":[],"mappings":"AAkCA,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsLD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EACtD,GAAG,GAAE,WAAgB,GACpB,cAAc,CA+FhB"}
@@ -0,0 +1,324 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.classifyRisk = classifyRisk;
37
+ /**
38
+ * Risk classification for tool calls — the single place that answers "how bad
39
+ * is it if this runs and the user wasn't paying attention?"
40
+ *
41
+ * Three tiers:
42
+ *
43
+ * - `routine` Reversible, inside the workspace, no external effect. Reading
44
+ * files, editing tracked source, running the test suite. Losing
45
+ * one of these to an inattentive approval costs a `git diff`.
46
+ * - `elevated` Real consequences, still recoverable: new files, dependency
47
+ * installs, git state changes, network reads, subagents.
48
+ * - `critical` Destructive, irreversible, outside the workspace, or sending
49
+ * data somewhere. Deletes, force-push, global installs,
50
+ * credential paths, egress with a body.
51
+ *
52
+ * Two consumers:
53
+ *
54
+ * 1. **Auto mode** auto-approves `routine` and nothing else. `critical` is a
55
+ * hard floor — it prompts no matter what the config says. See
56
+ * `permissionMode.ts`.
57
+ * 2. **The permission card**, which uses `why` as its risk line and the tier
58
+ * for visual weight, so an `rm -rf` prompt doesn't look like a `read_file`
59
+ * prompt. Both hosts previously hand-rolled this from separate string
60
+ * matching that had already drifted apart.
61
+ *
62
+ * Design rule: **classify by what the call CAN do, not by what it probably
63
+ * means.** When a command's blast radius depends on arguments we can't
64
+ * evaluate (`npm run <script>` runs whatever package.json says; `make` runs
65
+ * the Makefile), it does not get to be `routine`. Guessing generously here is
66
+ * how an auto mode silently becomes a full bypass.
67
+ */
68
+ const path = __importStar(require("path"));
69
+ const os = __importStar(require("os"));
70
+ const READ_ONLY_TOOLS = new Set([
71
+ 'read_file', 'list_files', 'ls', 'search_code', 'find_directory',
72
+ 'read_memory', 'todo_write', 'check_task', 'list_tasks', 'ask_user'
73
+ ]);
74
+ const EDIT_TOOLS = new Set(['apply_edit', 'replace_range']);
75
+ /** Commands whose whole job is to build, check, or describe — no state change. */
76
+ const ROUTINE_COMMANDS = new Set([
77
+ 'tsc', 'eslint', 'prettier', 'jest', 'vitest', 'mocha', 'playwright',
78
+ 'pytest', 'ruff', 'mypy', 'black', 'gofmt', 'rustc', 'javac',
79
+ 'ls', 'cat', 'head', 'tail', 'grep', 'find', 'jq', 'yq', 'wc', 'which', 'echo', 'pwd'
80
+ ]);
81
+ /** Read-only git subcommands. Anything not listed is treated as state-changing. */
82
+ const ROUTINE_GIT = new Set([
83
+ 'status', 'log', 'diff', 'show', 'blame', 'ls-files', 'rev-parse',
84
+ 'describe', 'shortlog', 'whatchanged', 'cat-file', 'remote'
85
+ ]);
86
+ /**
87
+ * Subcommands that only build/test/inspect for package managers that ALSO have
88
+ * destructive subcommands. Anything else on these binaries escalates.
89
+ */
90
+ const ROUTINE_SUBCOMMANDS = {
91
+ npm: new Set(['test', 'run-script', 'ls', 'list', 'view', 'outdated', 'why', 'ping']),
92
+ pnpm: new Set(['test', 'ls', 'list', 'why', 'outdated']),
93
+ yarn: new Set(['test', 'list', 'why', 'outdated']),
94
+ cargo: new Set(['build', 'check', 'test', 'clippy', 'fmt', 'tree']),
95
+ go: new Set(['build', 'test', 'vet', 'fmt', 'list']),
96
+ dotnet: new Set(['build', 'test', 'restore', 'format']),
97
+ mvn: new Set(['compile', 'test', 'verify']),
98
+ gradle: new Set(['build', 'test', 'check']),
99
+ bundle: new Set(['exec', 'list', 'check']),
100
+ composer: new Set(['validate', 'show', 'outdated']),
101
+ swift: new Set(['build', 'test'])
102
+ };
103
+ const CRITICAL_COMMAND_RULES = [
104
+ {
105
+ id: 'destructive-fs',
106
+ why: 'Deletes or overwrites files irreversibly.',
107
+ test: (c) => /\b(rm|rmdir|shred|srm)\b/.test(c) || /\bdd\b/.test(c) || /\bmkfs\b/.test(c)
108
+ },
109
+ {
110
+ id: 'privilege-escalation',
111
+ why: 'Runs with elevated privileges.',
112
+ test: (c) => /\b(sudo|doas|su)\b/.test(c)
113
+ },
114
+ {
115
+ id: 'git-history-rewrite',
116
+ why: 'Rewrites git history or discards committed work — hard to recover.',
117
+ test: (c) => /\bgit\b[\s\S]*\bpush\b[\s\S]*(--force\b|--force-with-lease\b|\s-f\b)/.test(c) ||
118
+ /\bgit\b[\s\S]*\breset\b[\s\S]*--hard\b/.test(c) ||
119
+ /\bgit\b[\s\S]*\bclean\b[\s\S]*-[a-z]*f/.test(c) ||
120
+ /\bgit\b[\s\S]*\b(rebase|filter-branch|reflog\s+expire)\b/.test(c)
121
+ },
122
+ {
123
+ id: 'global-install',
124
+ why: 'Installs software outside this project, affecting your whole machine.',
125
+ test: (c) => /\bnpm\b[\s\S]*\b(i|install|add)\b[\s\S]*\s(-g|--global)\b/.test(c) ||
126
+ /\b(pnpm|yarn)\b[\s\S]*\bglobal\b/.test(c) ||
127
+ /\bbrew\b[\s\S]*\b(install|upgrade|uninstall)\b/.test(c) ||
128
+ /\b(pipx|gem)\b[\s\S]*\binstall\b/.test(c) ||
129
+ /\bpip3?\b[\s\S]*\binstall\b(?![\s\S]*(-r|--requirement|-e\b))/.test(c) ||
130
+ /\bcargo\b[\s\S]*\binstall\b/.test(c) ||
131
+ /\bgo\b[\s\S]*\binstall\b/.test(c)
132
+ },
133
+ {
134
+ id: 'publish',
135
+ why: 'Publishes a package or release to a public registry.',
136
+ test: (c) => /\b(npm|pnpm|yarn)\b[\s\S]*\bpublish\b/.test(c) || /\bcargo\b[\s\S]*\bpublish\b/.test(c) || /\btwine\b[\s\S]*\bupload\b/.test(c)
137
+ },
138
+ {
139
+ id: 'network-egress',
140
+ why: 'Sends data off this machine.',
141
+ test: (c) => /\b(curl|wget)\b[\s\S]*(-d\b|--data\b|-F\b|--form\b|-T\b|--upload-file\b|-X\s*(POST|PUT|PATCH|DELETE))/i.test(c) ||
142
+ /\b(scp|sftp|rsync)\b[\s\S]*:/.test(c) ||
143
+ /\b(nc|netcat|ncat|telnet)\b/.test(c)
144
+ },
145
+ {
146
+ id: 'process-control',
147
+ why: 'Kills processes or changes system state.',
148
+ test: (c) => /\b(kill|killall|pkill|shutdown|reboot|halt|launchctl|systemctl|service)\b/.test(c)
149
+ },
150
+ {
151
+ id: 'permission-change',
152
+ why: 'Changes file ownership or permissions.',
153
+ test: (c) => /\b(chmod|chown|chgrp)\b/.test(c)
154
+ }
155
+ ];
156
+ const ELEVATED_COMMAND_RULES = [
157
+ {
158
+ id: 'dependency-install',
159
+ why: 'Adds or updates project dependencies.',
160
+ test: (c) => /\b(npm|pnpm|yarn|bun)\b[\s\S]*\b(i|install|add|update|upgrade|ci)\b/.test(c) ||
161
+ /\bpip3?\b[\s\S]*\binstall\b/.test(c) ||
162
+ /\b(bundle|composer)\b[\s\S]*\b(install|update)\b/.test(c) ||
163
+ /\bcargo\b[\s\S]*\b(add|update)\b/.test(c) ||
164
+ /\bgo\b[\s\S]*\b(get|mod)\b/.test(c)
165
+ },
166
+ {
167
+ id: 'git-state-change',
168
+ why: 'Changes git state in this repository.',
169
+ test: (c, argv) => (argv[0] === 'git' || argv[0]?.endsWith('/git') === true) && !ROUTINE_GIT.has(argv[1] ?? '')
170
+ },
171
+ {
172
+ id: 'github-cli',
173
+ why: 'Acts on GitHub — may open, comment on, or merge work.',
174
+ test: (_c, argv) => argv[0] === 'gh'
175
+ },
176
+ {
177
+ id: 'container',
178
+ why: 'Runs or changes containers.',
179
+ test: (_c, argv) => argv[0] === 'docker' || argv[0] === 'docker-compose' || argv[0] === 'podman'
180
+ },
181
+ {
182
+ id: 'project-scripts',
183
+ why: 'Runs project-defined scripts, which can do anything the project author wrote.',
184
+ test: (_c, argv) => argv[0] === 'make' || argv[0] === 'cmake' || argv[0] === 'rake' ||
185
+ (argv[0] === 'npm' && argv[1] === 'run') ||
186
+ (argv[0] === 'pnpm' && argv[1] === 'run') ||
187
+ (argv[0] === 'yarn' && argv[1] === 'run') ||
188
+ argv[0] === 'npx' || argv[0] === 'osascript'
189
+ }
190
+ ];
191
+ const CREDENTIAL_PATH = /(^|\/)(\.ssh|\.aws|\.gnupg|\.kube|\.docker|\.netrc|\.npmrc|\.pypirc)(\/|$)|(^|\/)\.env(\.|$)|id_rsa|id_ed25519|credentials$/i;
192
+ /** Split a run_command invocation into a normalized argv + full string. */
193
+ function commandParts(params) {
194
+ const rawCmd = (params.cmd ?? '').trim();
195
+ const rawArgs = (params.args ?? '').trim();
196
+ const full = `${rawCmd}${rawArgs ? ' ' + rawArgs : ''}`.trim();
197
+ const argv = full.split(/\s+/).filter(Boolean);
198
+ if (argv[0]) {
199
+ // Normalize `/usr/local/bin/git` → `git` so rules match on the binary.
200
+ argv[0] = argv[0].split('/').pop() ?? argv[0];
201
+ }
202
+ return { full, argv };
203
+ }
204
+ function isOutsideWorkspace(rawPath, ctx) {
205
+ if (!ctx.workspaceRoot || !rawPath)
206
+ return false;
207
+ const home = ctx.homeDir ?? os.homedir();
208
+ const expanded = rawPath.trim().replace(/^~(?=\/|$)/, home);
209
+ const resolved = path.resolve(ctx.workspaceRoot, expanded);
210
+ const root = path.resolve(ctx.workspaceRoot);
211
+ return resolved !== root && !resolved.startsWith(root + path.sep);
212
+ }
213
+ /** Any param value that names a credential file. */
214
+ function touchesCredentials(params) {
215
+ return Object.values(params).some((v) => typeof v === 'string' && CREDENTIAL_PATH.test(v));
216
+ }
217
+ /**
218
+ * MCP-bridged tools arrive as `<server>.<tool>` or `mcp__<server>__<tool>`.
219
+ * Names that send, delete, or revoke reach outside the machine irreversibly;
220
+ * other mutations are recoverable.
221
+ */
222
+ function stripNamespace(name) {
223
+ const dot = name.indexOf('.');
224
+ if (dot > 0)
225
+ return name.slice(dot + 1);
226
+ if (name.startsWith('mcp__')) {
227
+ const parts = name.split('__');
228
+ return parts[parts.length - 1] ?? name;
229
+ }
230
+ return name;
231
+ }
232
+ const IRREVERSIBLE_MCP = /^(send|delete|trash|remove|revoke|purge|destroy|archive|cancel)[A-Z_]/;
233
+ const MUTATING_MCP = /^(create|update|modify|add|insert|replace|rename|move|copy|upload|write|append|clear|set|post|reply|batch|duplicate|grant|apply|triage|quick[Aa]dd)[A-Z_]/;
234
+ /**
235
+ * Classify a tool call. Never throws — an unknown tool is `elevated`, because
236
+ * the safe default for "we don't recognize this" is "ask", not "run it".
237
+ */
238
+ function classifyRisk(call, ctx = {}) {
239
+ try {
240
+ const name = call.name;
241
+ const params = call.params ?? {};
242
+ if (touchesCredentials(params)) {
243
+ return { tier: 'critical', rule: 'credential-path', why: 'Touches a credentials or secrets file.' };
244
+ }
245
+ // Any file-touching tool aimed outside the workspace is critical
246
+ // regardless of which tool it is — that is the boundary the user
247
+ // actually reasons about.
248
+ const pathParam = params.path ?? '';
249
+ if (pathParam && isOutsideWorkspace(pathParam, ctx)) {
250
+ return { tier: 'critical', rule: 'outside-workspace', why: 'Writes outside your project folder.' };
251
+ }
252
+ if (name === 'delete_file') {
253
+ return { tier: 'critical', rule: 'delete', why: 'Permanently deletes a file.' };
254
+ }
255
+ if (READ_ONLY_TOOLS.has(name)) {
256
+ return { tier: 'routine', rule: 'read-only', why: 'Reads local state only.' };
257
+ }
258
+ if (EDIT_TOOLS.has(name)) {
259
+ return { tier: 'routine', rule: 'in-workspace-edit', why: 'Edits a file in your project. Review the diff.' };
260
+ }
261
+ if (name === 'write_file') {
262
+ // Distinguished from apply_edit: write_file replaces a whole file and is
263
+ // the tool a model reaches for when creating something new.
264
+ return { tier: 'elevated', rule: 'whole-file-write', why: 'Creates or replaces an entire file.' };
265
+ }
266
+ if (name === 'apply_patch') {
267
+ return { tier: 'elevated', rule: 'multi-file-patch', why: 'Changes several files at once.' };
268
+ }
269
+ if (name === 'web_fetch' || name === 'web_search') {
270
+ return { tier: 'elevated', rule: 'network-read', why: 'Fetches external content into the conversation.' };
271
+ }
272
+ if (name === 'task') {
273
+ return { tier: 'elevated', rule: 'subagent', why: 'Starts a subagent with its own tool access.' };
274
+ }
275
+ if (name === 'run_command' || name === 'watch_command') {
276
+ const { full, argv } = commandParts(params);
277
+ if (!full)
278
+ return { tier: 'elevated', rule: 'empty-command', why: 'Runs a shell command.' };
279
+ for (const rule of CRITICAL_COMMAND_RULES) {
280
+ if (rule.test(full, argv))
281
+ return { tier: 'critical', rule: rule.id, why: rule.why };
282
+ }
283
+ for (const rule of ELEVATED_COMMAND_RULES) {
284
+ if (rule.test(full, argv))
285
+ return { tier: 'elevated', rule: rule.id, why: rule.why };
286
+ }
287
+ const bin = argv[0] ?? '';
288
+ const sub = argv[1] ?? '';
289
+ if (bin === 'git') {
290
+ return ROUTINE_GIT.has(sub)
291
+ ? { tier: 'routine', rule: 'git-read', why: 'Reads git state.' }
292
+ : { tier: 'elevated', rule: 'git-state-change', why: 'Changes git state in this repository.' };
293
+ }
294
+ const allowedSubs = ROUTINE_SUBCOMMANDS[bin];
295
+ if (allowedSubs) {
296
+ return allowedSubs.has(sub)
297
+ ? { tier: 'routine', rule: 'build-or-test', why: 'Builds or tests this project.' }
298
+ : { tier: 'elevated', rule: 'package-manager', why: `Runs \`${bin} ${sub}\`, which can change project state.` };
299
+ }
300
+ if (ROUTINE_COMMANDS.has(bin)) {
301
+ return { tier: 'routine', rule: 'build-or-test', why: 'Builds, checks, or inspects this project.' };
302
+ }
303
+ // Recognized-but-unclassified binary. Not routine — see the design rule
304
+ // at the top of this file.
305
+ return { tier: 'elevated', rule: 'unclassified-command', why: 'Runs in your shell with your permissions.' };
306
+ }
307
+ const bare = stripNamespace(name);
308
+ if (IRREVERSIBLE_MCP.test(bare)) {
309
+ return { tier: 'critical', rule: 'mcp-irreversible', why: 'Sends or deletes data in a connected service.' };
310
+ }
311
+ if (MUTATING_MCP.test(bare)) {
312
+ return { tier: 'elevated', rule: 'mcp-mutating', why: 'Changes data in a connected service.' };
313
+ }
314
+ if (/^(list|get|search|read|find|fetch|query|describe)[A-Z_]/.test(bare)) {
315
+ return { tier: 'routine', rule: 'mcp-read', why: 'Reads from a connected service.' };
316
+ }
317
+ return { tier: 'elevated', rule: 'unknown-tool', why: 'Bandit is asking before using this capability.' };
318
+ }
319
+ catch {
320
+ // A classifier crash must not become an auto-approval.
321
+ return { tier: 'critical', rule: 'classifier-error', why: 'Could not assess this call, so it requires review.' };
322
+ }
323
+ }
324
+ //# sourceMappingURL=riskTiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"riskTiers.js","sourceRoot":"","sources":["../src/riskTiers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"securityGuard.d.ts","sourceRoot":"","sources":["../src/securityGuard.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,qBAAqB;IACpC;oEACgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;qBACiB;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA6ED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EACtD,QAAQ,EAAE,qBAAqB,GAAG,SAAS,EAC3C,GAAG,GAAE,oBAAyB,GAC7B,qBAAqB,CA8BvB"}
1
+ {"version":3,"file":"securityGuard.d.ts","sourceRoot":"","sources":["../src/securityGuard.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,qBAAqB;IACpC;oEACgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;qBACiB;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA2KD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EACtD,QAAQ,EAAE,qBAAqB,GAAG,SAAS,EAC3C,GAAG,GAAE,oBAAyB,GAC7B,qBAAqB,CA4CvB"}