@clawdstrike/openclaw 0.1.3 → 0.2.1
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 +11 -0
- package/dist/audit/adapter-logger.d.ts +3 -3
- package/dist/audit/adapter-logger.d.ts.map +1 -1
- package/dist/audit/adapter-logger.js +3 -3
- package/dist/audit/adapter-logger.js.map +1 -1
- package/dist/audit/store.d.ts +2 -2
- package/dist/audit/store.d.ts.map +1 -1
- package/dist/audit/store.js +13 -13
- package/dist/audit/store.js.map +1 -1
- package/dist/classification.d.ts +2 -2
- package/dist/classification.d.ts.map +1 -1
- package/dist/classification.js +96 -28
- package/dist/classification.js.map +1 -1
- package/dist/cli/bin.js +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +29 -29
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/policy.d.ts.map +1 -1
- package/dist/cli/commands/policy.js +33 -33
- package/dist/cli/commands/policy.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +45 -56
- package/dist/cli/index.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -9
- package/dist/config.js.map +1 -1
- package/dist/e2e/openclaw-e2e.js +58 -49
- package/dist/e2e/openclaw-e2e.js.map +1 -1
- package/dist/engine-holder.d.ts +2 -2
- package/dist/engine-holder.js +1 -1
- package/dist/guards/egress.d.ts +2 -2
- package/dist/guards/egress.d.ts.map +1 -1
- package/dist/guards/egress.js +71 -73
- package/dist/guards/egress.js.map +1 -1
- package/dist/guards/forbidden-path.d.ts +2 -2
- package/dist/guards/forbidden-path.d.ts.map +1 -1
- package/dist/guards/forbidden-path.js +41 -43
- package/dist/guards/forbidden-path.js.map +1 -1
- package/dist/guards/index.d.ts +6 -6
- package/dist/guards/index.d.ts.map +1 -1
- package/dist/guards/index.js +5 -5
- package/dist/guards/index.js.map +1 -1
- package/dist/guards/patch-integrity.d.ts +2 -2
- package/dist/guards/patch-integrity.d.ts.map +1 -1
- package/dist/guards/patch-integrity.js +69 -70
- package/dist/guards/patch-integrity.js.map +1 -1
- package/dist/guards/secret-leak.d.ts +2 -2
- package/dist/guards/secret-leak.d.ts.map +1 -1
- package/dist/guards/secret-leak.js +81 -82
- package/dist/guards/secret-leak.js.map +1 -1
- package/dist/guards/types.d.ts +2 -2
- package/dist/guards/types.d.ts.map +1 -1
- package/dist/guards/types.js +4 -4
- package/dist/guards/types.js.map +1 -1
- package/dist/hooks/agent-bootstrap/handler.d.ts +1 -1
- package/dist/hooks/agent-bootstrap/handler.d.ts.map +1 -1
- package/dist/hooks/agent-bootstrap/handler.js +5 -5
- package/dist/hooks/agent-bootstrap/handler.js.map +1 -1
- package/dist/hooks/approval-state.d.ts +1 -1
- package/dist/hooks/approval-state.d.ts.map +1 -1
- package/dist/hooks/approval-state.js +15 -15
- package/dist/hooks/approval-state.js.map +1 -1
- package/dist/hooks/approval-utils.d.ts +1 -1
- package/dist/hooks/approval-utils.d.ts.map +1 -1
- package/dist/hooks/approval-utils.js +41 -20
- package/dist/hooks/approval-utils.js.map +1 -1
- package/dist/hooks/audit-logger/handler.d.ts +1 -1
- package/dist/hooks/audit-logger/handler.d.ts.map +1 -1
- package/dist/hooks/audit-logger/handler.js +9 -9
- package/dist/hooks/audit-logger/handler.js.map +1 -1
- package/dist/hooks/cua-bridge/handler.d.ts +4 -4
- package/dist/hooks/cua-bridge/handler.d.ts.map +1 -1
- package/dist/hooks/cua-bridge/handler.js +85 -70
- package/dist/hooks/cua-bridge/handler.js.map +1 -1
- package/dist/hooks/tool-guard/handler.d.ts +1 -1
- package/dist/hooks/tool-guard/handler.d.ts.map +1 -1
- package/dist/hooks/tool-guard/handler.js +112 -101
- package/dist/hooks/tool-guard/handler.js.map +1 -1
- package/dist/hooks/tool-preflight/handler.d.ts +2 -2
- package/dist/hooks/tool-preflight/handler.d.ts.map +1 -1
- package/dist/hooks/tool-preflight/handler.js +115 -91
- package/dist/hooks/tool-preflight/handler.js.map +1 -1
- package/dist/index.d.ts +16 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -18
- package/dist/index.js.map +1 -1
- package/dist/openclaw-adapter.d.ts +2 -2
- package/dist/openclaw-adapter.d.ts.map +1 -1
- package/dist/openclaw-adapter.js +4 -4
- package/dist/openclaw-adapter.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +39 -40
- package/dist/plugin.js.map +1 -1
- package/dist/policy/engine.d.ts +1 -1
- package/dist/policy/engine.d.ts.map +1 -1
- package/dist/policy/engine.js +237 -221
- package/dist/policy/engine.js.map +1 -1
- package/dist/policy/index.d.ts +3 -3
- package/dist/policy/index.d.ts.map +1 -1
- package/dist/policy/index.js +3 -3
- package/dist/policy/index.js.map +1 -1
- package/dist/policy/loader.d.ts +1 -1
- package/dist/policy/loader.d.ts.map +1 -1
- package/dist/policy/loader.js +76 -63
- package/dist/policy/loader.js.map +1 -1
- package/dist/policy/validator.d.ts +1 -1
- package/dist/policy/validator.d.ts.map +1 -1
- package/dist/policy/validator.js +158 -151
- package/dist/policy/validator.js.map +1 -1
- package/dist/receipt/signer.d.ts +2 -2
- package/dist/receipt/signer.d.ts.map +1 -1
- package/dist/receipt/signer.js +12 -12
- package/dist/receipt/signer.js.map +1 -1
- package/dist/receipt/types.d.ts +2 -2
- package/dist/receipt/types.d.ts.map +1 -1
- package/dist/sanitizer/output-sanitizer.d.ts +1 -1
- package/dist/sanitizer/output-sanitizer.d.ts.map +1 -1
- package/dist/sanitizer/output-sanitizer.js +8 -8
- package/dist/sanitizer/output-sanitizer.js.map +1 -1
- package/dist/security-prompt.d.ts +1 -1
- package/dist/security-prompt.d.ts.map +1 -1
- package/dist/security-prompt.js +16 -12
- package/dist/security-prompt.js.map +1 -1
- package/dist/tools/policy-check.d.ts +3 -3
- package/dist/tools/policy-check.d.ts.map +1 -1
- package/dist/tools/policy-check.js +60 -52
- package/dist/tools/policy-check.js.map +1 -1
- package/dist/translator/openclaw-translator.d.ts +1 -1
- package/dist/translator/openclaw-translator.d.ts.map +1 -1
- package/dist/translator/openclaw-translator.js +100 -80
- package/dist/translator/openclaw-translator.js.map +1 -1
- package/dist/types.d.ts +11 -13
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -4
|
@@ -3,33 +3,33 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Intercepts tool results and enforces security policy.
|
|
5
5
|
*/
|
|
6
|
-
import { createHash } from
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
6
|
+
import { createHash } from "node:crypto";
|
|
7
|
+
import { inferEventTypeFromName } from "../../classification.js";
|
|
8
|
+
import { getSharedEngine, initializeEngine } from "../../engine-holder.js";
|
|
9
|
+
import { checkAndConsumeApproval } from "../approval-state.js";
|
|
10
|
+
import { extractPath, normalizeApprovalResource } from "../approval-utils.js";
|
|
11
11
|
const DEFAULT_CACHE_TTL_MS = 5 * 60 * 1000; // 5 minutes
|
|
12
12
|
const DEFAULT_CACHE_MAX = 256;
|
|
13
13
|
function stableStringify(value, seen = new WeakSet()) {
|
|
14
14
|
if (value === null)
|
|
15
|
-
return
|
|
15
|
+
return "null";
|
|
16
16
|
const t = typeof value;
|
|
17
|
-
if (t ===
|
|
17
|
+
if (t === "string")
|
|
18
18
|
return JSON.stringify(value);
|
|
19
|
-
if (t ===
|
|
19
|
+
if (t === "number" || t === "boolean")
|
|
20
20
|
return String(value);
|
|
21
|
-
if (t ===
|
|
21
|
+
if (t === "bigint")
|
|
22
22
|
return JSON.stringify(String(value));
|
|
23
|
-
if (t ===
|
|
23
|
+
if (t === "undefined")
|
|
24
24
|
return '"__undefined__"';
|
|
25
|
-
if (t ===
|
|
25
|
+
if (t === "symbol")
|
|
26
26
|
return JSON.stringify(String(value));
|
|
27
|
-
if (t ===
|
|
27
|
+
if (t === "function")
|
|
28
28
|
return '"__function__"';
|
|
29
29
|
if (Array.isArray(value)) {
|
|
30
|
-
return `[${value.map((v) => stableStringify(v, seen)).join(
|
|
30
|
+
return `[${value.map((v) => stableStringify(v, seen)).join(",")}]`;
|
|
31
31
|
}
|
|
32
|
-
if (t !==
|
|
32
|
+
if (t !== "object") {
|
|
33
33
|
return JSON.stringify(String(value));
|
|
34
34
|
}
|
|
35
35
|
if (seen.has(value)) {
|
|
@@ -39,7 +39,7 @@ function stableStringify(value, seen = new WeakSet()) {
|
|
|
39
39
|
// Only stable-sort plain objects; for other objects (Date, Buffer, etc) defer to
|
|
40
40
|
// JSON.stringify where possible.
|
|
41
41
|
const tag = Object.prototype.toString.call(value);
|
|
42
|
-
if (tag !==
|
|
42
|
+
if (tag !== "[object Object]") {
|
|
43
43
|
try {
|
|
44
44
|
return JSON.stringify(value);
|
|
45
45
|
}
|
|
@@ -50,31 +50,27 @@ function stableStringify(value, seen = new WeakSet()) {
|
|
|
50
50
|
const obj = value;
|
|
51
51
|
const keys = Object.keys(obj).sort();
|
|
52
52
|
const entries = keys.map((k) => `${JSON.stringify(k)}:${stableStringify(obj[k], seen)}`);
|
|
53
|
-
return `{${entries.join(
|
|
53
|
+
return `{${entries.join(",")}}`;
|
|
54
54
|
}
|
|
55
55
|
function shortSha256(value) {
|
|
56
|
-
const h = createHash(
|
|
57
|
-
if (typeof value ===
|
|
56
|
+
const h = createHash("sha256");
|
|
57
|
+
if (typeof value === "string")
|
|
58
58
|
h.update(value);
|
|
59
59
|
else
|
|
60
60
|
h.update(stableStringify(value));
|
|
61
|
-
return h.digest(
|
|
61
|
+
return h.digest("hex").slice(0, 16);
|
|
62
62
|
}
|
|
63
63
|
function policyCacheKey(policy) {
|
|
64
64
|
const version = policy &&
|
|
65
|
-
typeof policy ===
|
|
66
|
-
|
|
67
|
-
typeof policy.version ===
|
|
65
|
+
typeof policy === "object" &&
|
|
66
|
+
"version" in policy &&
|
|
67
|
+
typeof policy.version === "string"
|
|
68
68
|
? policy.version
|
|
69
|
-
:
|
|
69
|
+
: "unknown";
|
|
70
70
|
return `${version}@${shortSha256(policy)}`;
|
|
71
71
|
}
|
|
72
72
|
/** Event types that must never be cached (destructive / non-idempotent). */
|
|
73
|
-
const UNCACHEABLE_EVENT_TYPES = new Set([
|
|
74
|
-
'command_exec',
|
|
75
|
-
'patch_apply',
|
|
76
|
-
'file_write',
|
|
77
|
-
]);
|
|
73
|
+
const UNCACHEABLE_EVENT_TYPES = new Set(["command_exec", "patch_apply", "file_write"]);
|
|
78
74
|
export class DecisionCache {
|
|
79
75
|
maxSize;
|
|
80
76
|
ttlMs;
|
|
@@ -118,7 +114,7 @@ export class DecisionCache {
|
|
|
118
114
|
}
|
|
119
115
|
// ── Module State ─────────────────────────────────────────────────────
|
|
120
116
|
let currentConfig = {};
|
|
121
|
-
let cachedPolicyKey =
|
|
117
|
+
let cachedPolicyKey = "unknown";
|
|
122
118
|
/** Shared decision cache (reset on initialize) */
|
|
123
119
|
export let decisionCache = new DecisionCache();
|
|
124
120
|
/**
|
|
@@ -150,29 +146,29 @@ function getEngine(config) {
|
|
|
150
146
|
*/
|
|
151
147
|
function extractResourceKey(event) {
|
|
152
148
|
switch (event.data.type) {
|
|
153
|
-
case
|
|
149
|
+
case "file":
|
|
154
150
|
return event.data.path;
|
|
155
|
-
case
|
|
156
|
-
return event.data.host +
|
|
157
|
-
case
|
|
151
|
+
case "network":
|
|
152
|
+
return event.data.host + ":" + event.data.port;
|
|
153
|
+
case "tool":
|
|
158
154
|
// Tool-call decisions depend on parameters and outputs (e.g., secret leak checks).
|
|
159
155
|
// Include both so cached allows cannot be reused for a different invocation.
|
|
160
|
-
return `${event.data.toolName}:${shortSha256(event.data.parameters)}:${shortSha256(event.data.result ??
|
|
161
|
-
case
|
|
162
|
-
return event.data.command +
|
|
163
|
-
case
|
|
156
|
+
return `${event.data.toolName}:${shortSha256(event.data.parameters)}:${shortSha256(event.data.result ?? "")}`;
|
|
157
|
+
case "command":
|
|
158
|
+
return event.data.command + " " + event.data.args.join(" ");
|
|
159
|
+
case "patch":
|
|
164
160
|
return event.data.filePath;
|
|
165
|
-
case
|
|
161
|
+
case "secret":
|
|
166
162
|
return event.data.secretName;
|
|
167
163
|
default:
|
|
168
|
-
return
|
|
164
|
+
return "";
|
|
169
165
|
}
|
|
170
166
|
}
|
|
171
167
|
/**
|
|
172
168
|
* Hook handler for tool_result_persist events
|
|
173
169
|
*/
|
|
174
170
|
const handler = async (event) => {
|
|
175
|
-
if (event.type !==
|
|
171
|
+
if (event.type !== "tool_result_persist") {
|
|
176
172
|
return;
|
|
177
173
|
}
|
|
178
174
|
const toolEvent = event;
|
|
@@ -187,35 +183,35 @@ const handler = async (event) => {
|
|
|
187
183
|
// Create policy event from tool result
|
|
188
184
|
const policyEvent = createPolicyEvent(sessionId, toolName, params, result);
|
|
189
185
|
// Check decision cache (skip for destructive ops and advisory/audit modes)
|
|
190
|
-
const mode = currentConfig.mode ??
|
|
191
|
-
const useCache = mode ===
|
|
186
|
+
const mode = currentConfig.mode ?? "deterministic";
|
|
187
|
+
const useCache = mode === "deterministic" && !UNCACHEABLE_EVENT_TYPES.has(policyEvent.eventType);
|
|
192
188
|
const cacheKey = useCache
|
|
193
189
|
? DecisionCache.key(policyEvent.eventType, extractResourceKey(policyEvent), cachedPolicyKey)
|
|
194
|
-
:
|
|
190
|
+
: "";
|
|
195
191
|
let decision = useCache ? decisionCache.get(cacheKey) : undefined;
|
|
196
192
|
if (!decision) {
|
|
197
193
|
decision = await policyEngine.evaluate(policyEvent);
|
|
198
|
-
if (useCache && decision.status ===
|
|
194
|
+
if (useCache && decision.status === "allow") {
|
|
199
195
|
decisionCache.set(cacheKey, decision);
|
|
200
196
|
}
|
|
201
197
|
}
|
|
202
|
-
if (decision.status ===
|
|
198
|
+
if (decision.status === "deny") {
|
|
203
199
|
// Block the tool result
|
|
204
|
-
toolEvent.context.toolResult.error = decision.reason ??
|
|
200
|
+
toolEvent.context.toolResult.error = decision.reason ?? "Policy violation";
|
|
205
201
|
toolEvent.messages.push(`[clawdstrike] Blocked by ${decision.guard}: ${decision.reason}`);
|
|
206
202
|
return;
|
|
207
203
|
}
|
|
208
|
-
if (decision.status ===
|
|
204
|
+
if (decision.status === "warn") {
|
|
209
205
|
// Add warning message
|
|
210
206
|
toolEvent.messages.push(`[clawdstrike] Warning: ${decision.message ?? decision.reason}`);
|
|
211
207
|
}
|
|
212
208
|
}
|
|
213
209
|
function sanitizeUnknown(value, sanitizeString, seen, depth) {
|
|
214
|
-
if (typeof value ===
|
|
210
|
+
if (typeof value === "string") {
|
|
215
211
|
const sanitized = sanitizeString(value);
|
|
216
212
|
return { value: sanitized, changed: sanitized !== value };
|
|
217
213
|
}
|
|
218
|
-
if (!value || typeof value !==
|
|
214
|
+
if (!value || typeof value !== "object") {
|
|
219
215
|
return { value, changed: false };
|
|
220
216
|
}
|
|
221
217
|
if (seen.has(value)) {
|
|
@@ -226,7 +222,7 @@ const handler = async (event) => {
|
|
|
226
222
|
}
|
|
227
223
|
// Preserve non-plain objects (Dates, Buffers, class instances, etc).
|
|
228
224
|
const isArray = Array.isArray(value);
|
|
229
|
-
const isPlainObject = Object.prototype.toString.call(value) ===
|
|
225
|
+
const isPlainObject = Object.prototype.toString.call(value) === "[object Object]";
|
|
230
226
|
if (!isArray && !isPlainObject) {
|
|
231
227
|
return { value, changed: false };
|
|
232
228
|
}
|
|
@@ -251,13 +247,13 @@ const handler = async (event) => {
|
|
|
251
247
|
return { value: changed ? out : value, changed };
|
|
252
248
|
}
|
|
253
249
|
// Redact secrets from output
|
|
254
|
-
if (result && typeof result ===
|
|
250
|
+
if (result && typeof result === "string") {
|
|
255
251
|
const sanitized = policyEngine.sanitizeOutput(result);
|
|
256
252
|
if (sanitized !== result) {
|
|
257
253
|
toolEvent.context.toolResult.result = sanitized;
|
|
258
254
|
}
|
|
259
255
|
}
|
|
260
|
-
else if (result && typeof result ===
|
|
256
|
+
else if (result && typeof result === "object") {
|
|
261
257
|
const { value: sanitized, changed } = sanitizeUnknown(result, (s) => policyEngine.sanitizeOutput(s), new WeakSet(), 0);
|
|
262
258
|
if (changed) {
|
|
263
259
|
toolEvent.context.toolResult.result = sanitized;
|
|
@@ -290,7 +286,7 @@ function createPolicyEvent(sessionId, toolName, params, result) {
|
|
|
290
286
|
* Infer event type from tool name using the shared token-based classifier.
|
|
291
287
|
*/
|
|
292
288
|
function inferEventType(toolName) {
|
|
293
|
-
return inferEventTypeFromName(toolName) ??
|
|
289
|
+
return inferEventTypeFromName(toolName) ?? "tool_call";
|
|
294
290
|
}
|
|
295
291
|
/**
|
|
296
292
|
* Create event data based on tool name and params
|
|
@@ -298,72 +294,74 @@ function inferEventType(toolName) {
|
|
|
298
294
|
function createEventData(toolName, params, result) {
|
|
299
295
|
const eventType = inferEventType(toolName);
|
|
300
296
|
switch (eventType) {
|
|
301
|
-
case
|
|
302
|
-
case
|
|
297
|
+
case "file_read":
|
|
298
|
+
case "file_write": {
|
|
303
299
|
const path = extractPath(params);
|
|
304
|
-
const contentHash = typeof params.contentHash ===
|
|
300
|
+
const contentHash = typeof params.contentHash === "string" ? params.contentHash : undefined;
|
|
305
301
|
const { content, contentBase64 } = extractFileContent(params, result, eventType);
|
|
306
302
|
return {
|
|
307
|
-
type:
|
|
308
|
-
path: path ??
|
|
303
|
+
type: "file",
|
|
304
|
+
path: path ?? "",
|
|
309
305
|
content,
|
|
310
306
|
contentBase64,
|
|
311
307
|
contentHash,
|
|
312
|
-
operation: eventType ===
|
|
308
|
+
operation: eventType === "file_read" ? "read" : "write",
|
|
313
309
|
};
|
|
314
310
|
}
|
|
315
|
-
case
|
|
311
|
+
case "network_egress": {
|
|
316
312
|
const { host, port, url } = extractNetworkInfo(params);
|
|
317
313
|
return {
|
|
318
|
-
type:
|
|
314
|
+
type: "network",
|
|
319
315
|
host,
|
|
320
316
|
port,
|
|
321
317
|
url,
|
|
322
318
|
};
|
|
323
319
|
}
|
|
324
|
-
case
|
|
320
|
+
case "command_exec": {
|
|
325
321
|
const { command, args, workingDir } = extractCommandInfo(params);
|
|
326
322
|
return {
|
|
327
|
-
type:
|
|
323
|
+
type: "command",
|
|
328
324
|
command,
|
|
329
325
|
args,
|
|
330
326
|
workingDir,
|
|
331
327
|
};
|
|
332
328
|
}
|
|
333
|
-
case
|
|
329
|
+
case "patch_apply": {
|
|
334
330
|
const { filePath, patchContent } = extractPatchInfo(params, result);
|
|
335
331
|
return {
|
|
336
|
-
type:
|
|
332
|
+
type: "patch",
|
|
337
333
|
filePath,
|
|
338
334
|
patchContent,
|
|
339
335
|
};
|
|
340
336
|
}
|
|
341
|
-
case
|
|
337
|
+
case "tool_call":
|
|
342
338
|
default: {
|
|
343
339
|
return {
|
|
344
|
-
type:
|
|
340
|
+
type: "tool",
|
|
345
341
|
toolName,
|
|
346
342
|
parameters: params,
|
|
347
|
-
result: typeof result ===
|
|
343
|
+
result: typeof result === "string" ? result : JSON.stringify(result ?? ""),
|
|
348
344
|
};
|
|
349
345
|
}
|
|
350
346
|
}
|
|
351
347
|
}
|
|
352
348
|
function extractFileContent(params, result, eventType) {
|
|
353
349
|
const maxChars = 2_000_000; // Best-effort cap: avoid huge payloads.
|
|
354
|
-
const contentBase64 = typeof params.contentBase64 ===
|
|
350
|
+
const contentBase64 = typeof params.contentBase64 === "string"
|
|
355
351
|
? params.contentBase64
|
|
356
|
-
: typeof params.base64 ===
|
|
352
|
+
: typeof params.base64 === "string"
|
|
357
353
|
? params.base64
|
|
358
354
|
: undefined;
|
|
359
355
|
if (contentBase64) {
|
|
360
|
-
return {
|
|
356
|
+
return {
|
|
357
|
+
contentBase64: contentBase64.length > maxChars ? contentBase64.slice(0, maxChars) : contentBase64,
|
|
358
|
+
};
|
|
361
359
|
}
|
|
362
|
-
const content = typeof params.content ===
|
|
360
|
+
const content = typeof params.content === "string"
|
|
363
361
|
? params.content
|
|
364
|
-
: typeof params.text ===
|
|
362
|
+
: typeof params.text === "string"
|
|
365
363
|
? params.text
|
|
366
|
-
: eventType ===
|
|
364
|
+
: eventType === "file_read" && typeof result === "string"
|
|
367
365
|
? result
|
|
368
366
|
: undefined;
|
|
369
367
|
if (!content)
|
|
@@ -375,16 +373,23 @@ function extractFileContent(params, result, eventType) {
|
|
|
375
373
|
*/
|
|
376
374
|
function extractNetworkInfo(params) {
|
|
377
375
|
// Try to get URL first
|
|
378
|
-
const url = typeof params.url ===
|
|
379
|
-
|
|
380
|
-
|
|
376
|
+
const url = typeof params.url === "string"
|
|
377
|
+
? params.url
|
|
378
|
+
: typeof params.endpoint === "string"
|
|
379
|
+
? params.endpoint
|
|
380
|
+
: typeof params.href === "string"
|
|
381
|
+
? params.href
|
|
381
382
|
: undefined;
|
|
382
383
|
if (url) {
|
|
383
384
|
try {
|
|
384
385
|
const parsed = new URL(url);
|
|
385
386
|
return {
|
|
386
387
|
host: parsed.hostname,
|
|
387
|
-
port: parsed.port
|
|
388
|
+
port: parsed.port
|
|
389
|
+
? parseInt(parsed.port, 10)
|
|
390
|
+
: parsed.protocol === "https:" || parsed.protocol === "wss:"
|
|
391
|
+
? 443
|
|
392
|
+
: 80,
|
|
388
393
|
url,
|
|
389
394
|
};
|
|
390
395
|
}
|
|
@@ -393,14 +398,18 @@ function extractNetworkInfo(params) {
|
|
|
393
398
|
}
|
|
394
399
|
}
|
|
395
400
|
// Try to extract from command
|
|
396
|
-
if (typeof params.command ===
|
|
401
|
+
if (typeof params.command === "string") {
|
|
397
402
|
const urlMatch = params.command.match(/https?:\/\/[^\s'"]+/);
|
|
398
403
|
if (urlMatch) {
|
|
399
404
|
try {
|
|
400
405
|
const parsed = new URL(urlMatch[0]);
|
|
401
406
|
return {
|
|
402
407
|
host: parsed.hostname,
|
|
403
|
-
port: parsed.port
|
|
408
|
+
port: parsed.port
|
|
409
|
+
? parseInt(parsed.port, 10)
|
|
410
|
+
: parsed.protocol === "https:" || parsed.protocol === "wss:"
|
|
411
|
+
? 443
|
|
412
|
+
: 80,
|
|
404
413
|
url: urlMatch[0],
|
|
405
414
|
};
|
|
406
415
|
}
|
|
@@ -410,50 +419,52 @@ function extractNetworkInfo(params) {
|
|
|
410
419
|
}
|
|
411
420
|
}
|
|
412
421
|
// Fallback
|
|
413
|
-
const host = typeof params.host ===
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
422
|
+
const host = typeof params.host === "string"
|
|
423
|
+
? params.host
|
|
424
|
+
: typeof params.hostname === "string"
|
|
425
|
+
? params.hostname
|
|
426
|
+
: "unknown";
|
|
427
|
+
const port = typeof params.port === "number" ? params.port : 80;
|
|
417
428
|
return { host, port, url };
|
|
418
429
|
}
|
|
419
430
|
function extractCommandInfo(params) {
|
|
420
|
-
const workingDir = typeof params.cwd ===
|
|
431
|
+
const workingDir = typeof params.cwd === "string"
|
|
421
432
|
? params.cwd
|
|
422
|
-
: typeof params.workingDir ===
|
|
433
|
+
: typeof params.workingDir === "string"
|
|
423
434
|
? params.workingDir
|
|
424
435
|
: undefined;
|
|
425
|
-
const args = Array.isArray(params.args) && params.args.every((a) => typeof a ===
|
|
436
|
+
const args = Array.isArray(params.args) && params.args.every((a) => typeof a === "string")
|
|
426
437
|
? params.args
|
|
427
|
-
: Array.isArray(params.argv) && params.argv.every((a) => typeof a ===
|
|
438
|
+
: Array.isArray(params.argv) && params.argv.every((a) => typeof a === "string")
|
|
428
439
|
? params.argv
|
|
429
440
|
: undefined;
|
|
430
|
-
const cmdLine = typeof params.command ===
|
|
441
|
+
const cmdLine = typeof params.command === "string"
|
|
431
442
|
? params.command
|
|
432
|
-
: typeof params.cmd ===
|
|
443
|
+
: typeof params.cmd === "string"
|
|
433
444
|
? params.cmd
|
|
434
445
|
: undefined;
|
|
435
446
|
if (cmdLine) {
|
|
436
447
|
const parts = cmdLine.trim().split(/\s+/).filter(Boolean);
|
|
437
448
|
if (parts.length === 0) {
|
|
438
|
-
return { command:
|
|
449
|
+
return { command: "", args: [], workingDir };
|
|
439
450
|
}
|
|
440
451
|
const [command, ...rest] = parts;
|
|
441
452
|
return { command, args: args ?? rest, workingDir };
|
|
442
453
|
}
|
|
443
|
-
if (typeof params.tool ===
|
|
454
|
+
if (typeof params.tool === "string" && args) {
|
|
444
455
|
return { command: params.tool, args, workingDir };
|
|
445
456
|
}
|
|
446
|
-
return { command:
|
|
457
|
+
return { command: "", args: args ?? [], workingDir };
|
|
447
458
|
}
|
|
448
459
|
function extractPatchInfo(params, result) {
|
|
449
|
-
const filePath = (typeof params.filePath ===
|
|
450
|
-
(typeof params.path ===
|
|
451
|
-
(typeof params.file ===
|
|
452
|
-
|
|
453
|
-
const patchContent = (typeof params.patch ===
|
|
454
|
-
(typeof params.diff ===
|
|
455
|
-
(typeof params.content ===
|
|
456
|
-
(typeof result ===
|
|
460
|
+
const filePath = (typeof params.filePath === "string" && params.filePath) ||
|
|
461
|
+
(typeof params.path === "string" && params.path) ||
|
|
462
|
+
(typeof params.file === "string" && params.file) ||
|
|
463
|
+
"";
|
|
464
|
+
const patchContent = (typeof params.patch === "string" && params.patch) ||
|
|
465
|
+
(typeof params.diff === "string" && params.diff) ||
|
|
466
|
+
(typeof params.content === "string" && params.content) ||
|
|
467
|
+
(typeof result === "string" ? result : JSON.stringify(result ?? ""));
|
|
457
468
|
return { filePath, patchContent };
|
|
458
469
|
}
|
|
459
470
|
export default handler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/hooks/tool-guard/handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/hooks/tool-guard/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* tool-guard hook for output sanitization, but we still preflight-check
|
|
9
9
|
* forbidden paths when a read targets a sensitive location.
|
|
10
10
|
*/
|
|
11
|
-
import type {
|
|
11
|
+
import type { ClawdstrikeConfig, HookHandler } from "../../types.js";
|
|
12
12
|
/**
|
|
13
13
|
* Initialize the hook with configuration.
|
|
14
14
|
* Delegates to the shared engine holder so all hooks share one PolicyEngine.
|
|
@@ -19,7 +19,7 @@ export declare function initialize(config: ClawdstrikeConfig): void;
|
|
|
19
19
|
* Delegates to the shared engine holder.
|
|
20
20
|
*/
|
|
21
21
|
export declare function getEngine(config?: ClawdstrikeConfig): PolicyEngine;
|
|
22
|
-
import type { PolicyEngine } from
|
|
22
|
+
import type { PolicyEngine } from "../../policy/engine.js";
|
|
23
23
|
/**
|
|
24
24
|
* Hook handler for tool_call (pre-execution) events.
|
|
25
25
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/tool-preflight/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/tool-preflight/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,KAAK,EAGV,iBAAiB,EAGjB,WAAW,EAIZ,MAAM,gBAAgB,CAAC;AAIxB;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAE1D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,YAAY,CAElE;AAGD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAwX3D;;;;;;;;GAQG;AACH,QAAA,MAAM,OAAO,EAAE,WA8Gd,CAAC;AAEF,eAAe,OAAO,CAAC"}
|