@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.
- package/dist/grantScope.d.ts +77 -0
- package/dist/grantScope.d.ts.map +1 -0
- package/dist/grantScope.js +130 -0
- package/dist/grantScope.js.map +1 -0
- package/dist/hooks.d.ts +3 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +4 -0
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -2
- package/dist/index.js.map +1 -1
- package/dist/permissionMode.d.ts +130 -0
- package/dist/permissionMode.d.ts.map +1 -0
- package/dist/permissionMode.js +175 -0
- package/dist/permissionMode.js.map +1 -0
- package/dist/permissions.d.ts +10 -0
- package/dist/permissions.d.ts.map +1 -1
- package/dist/permissions.js +12 -0
- package/dist/permissions.js.map +1 -1
- package/dist/riskTiers.d.ts +21 -0
- package/dist/riskTiers.d.ts.map +1 -0
- package/dist/riskTiers.js +324 -0
- package/dist/riskTiers.js.map +1 -0
- package/dist/securityGuard.d.ts.map +1 -1
- package/dist/securityGuard.js +105 -0
- package/dist/securityGuard.js.map +1 -1
- package/package.json +2 -2
package/dist/securityGuard.js
CHANGED
|
@@ -52,6 +52,96 @@ exports.evaluateSecurityGuard = evaluateSecurityGuard;
|
|
|
52
52
|
const path = __importStar(require("path"));
|
|
53
53
|
const os = __importStar(require("os"));
|
|
54
54
|
const WRITE_TOOLS = new Set(['write_file', 'apply_edit', 'replace_range', 'apply_patch', 'delete_file']);
|
|
55
|
+
/**
|
|
56
|
+
* Config files that decide what the agent is ALLOWED to do. Writing one of
|
|
57
|
+
* these is not an ordinary edit — it rewrites the permission boundary itself:
|
|
58
|
+
*
|
|
59
|
+
* - `.bandit/settings.json` / `.bandit/settings.local.json` hold `hooks`
|
|
60
|
+
* (shell commands the host runs via `spawn(cmd, {shell:true})` on every
|
|
61
|
+
* tool call) and `permissions.allow`. An agent that can write this file can
|
|
62
|
+
* grant itself `run_command:*` — or execute arbitrary shell on the next
|
|
63
|
+
* tool call — without the permission gate ever firing.
|
|
64
|
+
* - `.vscode/settings.json` carries `banditStealth.agent.autoApproveEdits`,
|
|
65
|
+
* which suppresses the extension's permission card for every edit tool.
|
|
66
|
+
* - `.vscode/tasks.json` can be configured to run on folder open.
|
|
67
|
+
*
|
|
68
|
+
* That makes them the natural target for a prompt-injection payload: one
|
|
69
|
+
* innocuous-looking "edit a JSON file" approval buys unbounded execution
|
|
70
|
+
* afterwards. So this check is deliberately NOT part of the opt-in guard —
|
|
71
|
+
* see the always-on block at the top of `evaluateSecurityGuard`. A protection
|
|
72
|
+
* that an attacker can disable by writing the very file it protects would be
|
|
73
|
+
* decorative.
|
|
74
|
+
*
|
|
75
|
+
* Note the asymmetry with `.bandit/skills/`, which stays writable: skills are
|
|
76
|
+
* prompt text the model can already emit into its own context, so blocking
|
|
77
|
+
* them buys nothing and breaks the documented "ask the agent to build a skill"
|
|
78
|
+
* flow. Hooks and permissions are different — they are host-side execution.
|
|
79
|
+
*/
|
|
80
|
+
const PRIVILEGED_CONFIG_SUFFIXES = [
|
|
81
|
+
{ suffix: '/.bandit/settings.json', what: 'the tool permission allow-list and the PreToolUse hooks the host executes as shell commands' },
|
|
82
|
+
{ suffix: '/.bandit/settings.local.json', what: 'the tool permission allow-list and the PreToolUse hooks the host executes as shell commands' },
|
|
83
|
+
{ suffix: '/.vscode/settings.json', what: 'the auto-approve setting that suppresses the edit permission card' },
|
|
84
|
+
{ suffix: '/.vscode/tasks.json', what: 'tasks the editor can run automatically on folder open' }
|
|
85
|
+
];
|
|
86
|
+
/**
|
|
87
|
+
* Every path a write-family call could land on.
|
|
88
|
+
*
|
|
89
|
+
* `write_file` / `apply_edit` / `replace_range` / `delete_file` name their
|
|
90
|
+
* target in `path`. `apply_patch` does not have to: it accepts a whole patch
|
|
91
|
+
* whose targets live in `+++ b/<path>` headers (unified diff) or
|
|
92
|
+
* `*** Update|Add|Delete File: <path>` lines (Codex envelope), with `path` as
|
|
93
|
+
* an optional override. Reading only `params.path` would leave a patch-shaped
|
|
94
|
+
* bypass wide open, so the patch body is parsed for targets too.
|
|
95
|
+
*/
|
|
96
|
+
function privilegedWriteTargets(params) {
|
|
97
|
+
const targets = [];
|
|
98
|
+
if (params.path)
|
|
99
|
+
targets.push(params.path);
|
|
100
|
+
const patch = params.patch;
|
|
101
|
+
if (typeof patch === 'string' && patch) {
|
|
102
|
+
const headerRe = /^(?:\+\+\+\s+(?:b\/)?(.+?)\s*$|\*\*\*\s+(?:Update|Add|Delete)\s+File:\s*(.+?)\s*$)/gm;
|
|
103
|
+
let m;
|
|
104
|
+
while ((m = headerRe.exec(patch)) !== null) {
|
|
105
|
+
const p = (m[1] ?? m[2] ?? '').trim();
|
|
106
|
+
// `/dev/null` is the unified-diff marker for "no such side", not a path.
|
|
107
|
+
if (p && p !== '/dev/null')
|
|
108
|
+
targets.push(p);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return targets;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Always-on check: is this write aimed at a file that controls the agent's own
|
|
115
|
+
* permissions? Runs regardless of `security.guard.enabled`.
|
|
116
|
+
*
|
|
117
|
+
* Hosts legitimately write `.bandit/settings.json` when the user picks "always
|
|
118
|
+
* allow" — that path goes through `persistAllowEntry()` in the host process,
|
|
119
|
+
* not through a tool call, so it is unaffected by this rule.
|
|
120
|
+
*/
|
|
121
|
+
function checkPrivilegedConfigWrite(rawPath, ctx) {
|
|
122
|
+
const home = ctx.homeDir ?? os.homedir();
|
|
123
|
+
const expanded = rawPath.trim().replace(/^~(?=\/|$)/, home);
|
|
124
|
+
// Resolve against the workspace so `settings.json`, `./.bandit/settings.json`
|
|
125
|
+
// and `/abs/proj/.bandit/settings.json` all normalize to the same form and a
|
|
126
|
+
// relative path can't sneak past a suffix match.
|
|
127
|
+
const resolved = ctx.workspaceRoot
|
|
128
|
+
? path.resolve(ctx.workspaceRoot, expanded)
|
|
129
|
+
: path.resolve(expanded);
|
|
130
|
+
const norm = resolved.replace(/\\/g, '/');
|
|
131
|
+
for (const { suffix, what } of PRIVILEGED_CONFIG_SUFFIXES) {
|
|
132
|
+
if (norm.endsWith(suffix)) {
|
|
133
|
+
return {
|
|
134
|
+
allow: false,
|
|
135
|
+
rule: 'privileged-config',
|
|
136
|
+
// The model sees this string on its next turn, so it says what to do
|
|
137
|
+
// instead of just "no" — otherwise the usual response is to retry the
|
|
138
|
+
// same write through a different tool.
|
|
139
|
+
reason: `writing to ${suffix.slice(1)} is not permitted: it controls ${what}. This file is edited by the user, not the agent. Ask the user to make the change if it is genuinely needed, and continue with the rest of the task.`
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return { allow: true };
|
|
144
|
+
}
|
|
55
145
|
/** Recursive+force `rm` aimed at `/`, `~`, `$HOME`, or `/*`. */
|
|
56
146
|
function isCatastrophicRm(cmd) {
|
|
57
147
|
if (!/\brm\b/.test(cmd))
|
|
@@ -126,6 +216,21 @@ function checkWritePath(rawPath, ctx, extraProtected) {
|
|
|
126
216
|
* is disabled or nothing matches. Never throws.
|
|
127
217
|
*/
|
|
128
218
|
function evaluateSecurityGuard(call, settings, ctx = {}) {
|
|
219
|
+
// Always-on tier — runs even when the opt-in guard is disabled. Scoped to
|
|
220
|
+
// the agent's own permission config, where "the user turned the guard off"
|
|
221
|
+
// must not mean "injected content may rewrite the permission boundary."
|
|
222
|
+
try {
|
|
223
|
+
if (WRITE_TOOLS.has(call.name)) {
|
|
224
|
+
for (const target of privilegedWriteTargets(call.params ?? {})) {
|
|
225
|
+
const privileged = checkPrivilegedConfigWrite(target, ctx);
|
|
226
|
+
if (!privileged.allow)
|
|
227
|
+
return privileged;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
catch {
|
|
232
|
+
// Never break a turn — fall through to the opt-in tier.
|
|
233
|
+
}
|
|
129
234
|
if (!settings?.enabled)
|
|
130
235
|
return { allow: true };
|
|
131
236
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"securityGuard.js","sourceRoot":"","sources":["../src/securityGuard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"securityGuard.js","sourceRoot":"","sources":["../src/securityGuard.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burtson-labs/host-kit",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Burtson Labs",
|
|
6
6
|
"email": "team@burtson.ai",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"dist"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@burtson-labs/agent-core": "1.6.
|
|
25
|
+
"@burtson-labs/agent-core": "1.6.20"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^20.11.0",
|