@goplus/agentguard 1.1.20 → 1.1.27
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 +6 -1
- package/dist/action/detectors/exec.d.ts.map +1 -1
- package/dist/action/detectors/exec.js +13 -23
- package/dist/action/detectors/exec.js.map +1 -1
- package/dist/adapters/openclaw-plugin.d.ts.map +1 -1
- package/dist/adapters/openclaw-plugin.js +41 -9
- package/dist/adapters/openclaw-plugin.js.map +1 -1
- package/dist/adapters/openclaw.d.ts.map +1 -1
- package/dist/adapters/openclaw.js +7 -2
- package/dist/adapters/openclaw.js.map +1 -1
- package/dist/cli.js +84 -45
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/feed/selfcheck.d.ts.map +1 -1
- package/dist/feed/selfcheck.js +205 -54
- package/dist/feed/selfcheck.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/installers.js +17 -4
- package/dist/installers.js.map +1 -1
- package/dist/runtime/approvals.d.ts +38 -0
- package/dist/runtime/approvals.d.ts.map +1 -0
- package/dist/runtime/approvals.js +232 -0
- package/dist/runtime/approvals.js.map +1 -0
- package/dist/runtime/evaluator.d.ts.map +1 -1
- package/dist/runtime/evaluator.js +62 -3
- package/dist/runtime/evaluator.js.map +1 -1
- package/dist/runtime/protect.d.ts +2 -0
- package/dist/runtime/protect.d.ts.map +1 -1
- package/dist/runtime/protect.js +81 -9
- package/dist/runtime/protect.js.map +1 -1
- package/dist/runtime/self-command.d.ts.map +1 -1
- package/dist/runtime/self-command.js +45 -3
- package/dist/runtime/self-command.js.map +1 -1
- package/dist/tests/action.test.js +8 -0
- package/dist/tests/action.test.js.map +1 -1
- package/dist/tests/adapter.test.js +8 -0
- package/dist/tests/adapter.test.js.map +1 -1
- package/dist/tests/cli-init.test.js +10 -0
- package/dist/tests/cli-init.test.js.map +1 -1
- package/dist/tests/cli-subscribe.test.js +106 -1
- package/dist/tests/cli-subscribe.test.js.map +1 -1
- package/dist/tests/feed-selfcheck.test.js +81 -0
- package/dist/tests/feed-selfcheck.test.js.map +1 -1
- package/dist/tests/installer.test.js +9 -2
- package/dist/tests/installer.test.js.map +1 -1
- package/dist/tests/integration.test.js +86 -0
- package/dist/tests/integration.test.js.map +1 -1
- package/dist/tests/runtime-cloud.test.js +470 -0
- package/dist/tests/runtime-cloud.test.js.map +1 -1
- package/docs/claude-code.md +3 -2
- package/docs/cloud-connect.md +16 -3
- package/docs/cloud-native-api.md +26 -118
- package/docs/codex.md +14 -1
- package/docs/openclaw.md +33 -1
- package/docs/privacy-boundary.md +0 -1
- package/package.json +1 -1
- package/skills/agentguard/SKILL.md +4 -0
|
@@ -12,6 +12,7 @@ const evaluator_js_1 = require("../runtime/evaluator.js");
|
|
|
12
12
|
const policy_js_1 = require("../runtime/policy.js");
|
|
13
13
|
const redaction_js_1 = require("../runtime/redaction.js");
|
|
14
14
|
const audit_js_1 = require("../runtime/audit.js");
|
|
15
|
+
const approvals_js_1 = require("../runtime/approvals.js");
|
|
15
16
|
const protect_js_1 = require("../runtime/protect.js");
|
|
16
17
|
const config_js_1 = require("../config.js");
|
|
17
18
|
const client_js_1 = require("../cloud/client.js");
|
|
@@ -274,6 +275,140 @@ const client_js_1 = require("../cloud/client.js");
|
|
|
274
275
|
globalThis.fetch = originalFetch;
|
|
275
276
|
}
|
|
276
277
|
});
|
|
278
|
+
(0, node_test_1.it)('skips AgentGuard CLI commands from alternate tool argument shapes', async () => {
|
|
279
|
+
const originalFetch = globalThis.fetch;
|
|
280
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-self-cli-args-'));
|
|
281
|
+
const requests = [];
|
|
282
|
+
globalThis.fetch = (async (input) => {
|
|
283
|
+
requests.push(String(input));
|
|
284
|
+
throw new Error('unexpected cloud request');
|
|
285
|
+
});
|
|
286
|
+
try {
|
|
287
|
+
const config = {
|
|
288
|
+
version: 1,
|
|
289
|
+
level: 'balanced',
|
|
290
|
+
cloudUrl: 'https://agentguard.example',
|
|
291
|
+
apiKey: 'ag_live_test_key_123456',
|
|
292
|
+
policyCachePath: (0, node_path_1.join)(dir, 'policy.json'),
|
|
293
|
+
auditPath: (0, node_path_1.join)(dir, 'audit.jsonl'),
|
|
294
|
+
eventSpoolPath: (0, node_path_1.join)(dir, 'spool.jsonl'),
|
|
295
|
+
};
|
|
296
|
+
const result = await (0, protect_js_1.protectAction)({
|
|
297
|
+
config,
|
|
298
|
+
actionType: 'shell',
|
|
299
|
+
stdinText: JSON.stringify({
|
|
300
|
+
toolName: 'terminal',
|
|
301
|
+
args: { cmd: 'agentguard disconnect' },
|
|
302
|
+
sessionId: 'sess_test',
|
|
303
|
+
}),
|
|
304
|
+
});
|
|
305
|
+
strict_1.default.equal(result, null);
|
|
306
|
+
strict_1.default.deepEqual(requests, []);
|
|
307
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.auditPath), false);
|
|
308
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.eventSpoolPath), false);
|
|
309
|
+
}
|
|
310
|
+
finally {
|
|
311
|
+
globalThis.fetch = originalFetch;
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
(0, node_test_1.it)('honors allowed command patterns without allowing compound shell commands', async () => {
|
|
315
|
+
const policy = (0, policy_js_1.getDefaultEffectiveRuntimePolicy)();
|
|
316
|
+
policy.blockedCommandPatterns = ['agentguard'];
|
|
317
|
+
policy.allowedCommandPatterns = ['agentguard'];
|
|
318
|
+
const allowed = await (0, evaluator_js_1.evaluateLocalAction)(policy, {
|
|
319
|
+
sessionId: 'sess_test',
|
|
320
|
+
agentHost: 'openclaw',
|
|
321
|
+
actionType: 'shell',
|
|
322
|
+
toolName: 'exec',
|
|
323
|
+
input: 'agentguard disconnect',
|
|
324
|
+
});
|
|
325
|
+
strict_1.default.equal(allowed.decision, 'allow');
|
|
326
|
+
strict_1.default.equal(allowed.riskScore, 0);
|
|
327
|
+
strict_1.default.deepEqual(allowed.reasons, []);
|
|
328
|
+
const compound = await (0, evaluator_js_1.evaluateLocalAction)(policy, {
|
|
329
|
+
sessionId: 'sess_test',
|
|
330
|
+
agentHost: 'openclaw',
|
|
331
|
+
actionType: 'shell',
|
|
332
|
+
toolName: 'exec',
|
|
333
|
+
input: 'agentguard status; rm -rf /',
|
|
334
|
+
});
|
|
335
|
+
strict_1.default.equal(compound.decision, 'block');
|
|
336
|
+
const multiline = await (0, evaluator_js_1.evaluateLocalAction)(policy, {
|
|
337
|
+
sessionId: 'sess_test',
|
|
338
|
+
agentHost: 'openclaw',
|
|
339
|
+
actionType: 'shell',
|
|
340
|
+
toolName: 'exec',
|
|
341
|
+
input: 'agentguard status\nrm -rf /',
|
|
342
|
+
});
|
|
343
|
+
strict_1.default.equal(multiline.decision, 'block');
|
|
344
|
+
});
|
|
345
|
+
(0, node_test_1.it)('scores shell metacharacters below the approval threshold', async () => {
|
|
346
|
+
const policy = (0, policy_js_1.getDefaultEffectiveRuntimePolicy)();
|
|
347
|
+
for (const command of ['echo a>b', 'echo a&b', 'echo test!', 'echo a^b']) {
|
|
348
|
+
const decision = await (0, evaluator_js_1.evaluateLocalAction)(policy, {
|
|
349
|
+
sessionId: 'sess_metachar_score',
|
|
350
|
+
agentHost: 'codex',
|
|
351
|
+
actionType: 'shell',
|
|
352
|
+
toolName: 'Bash',
|
|
353
|
+
input: command,
|
|
354
|
+
});
|
|
355
|
+
strict_1.default.equal(decision.decision, 'allow', command);
|
|
356
|
+
strict_1.default.equal(decision.riskScore, 10, command);
|
|
357
|
+
strict_1.default.equal(decision.riskLevel, 'low', command);
|
|
358
|
+
strict_1.default.ok(decision.reasons.some((reason) => reason.code === 'SHELL_INJECTION_RISK'), command);
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
(0, node_test_1.it)('skips supported agent CLI commands before local audit or Cloud reporting', async () => {
|
|
362
|
+
const originalFetch = globalThis.fetch;
|
|
363
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-agent-cli-'));
|
|
364
|
+
const requests = [];
|
|
365
|
+
globalThis.fetch = (async (input) => {
|
|
366
|
+
requests.push(String(input));
|
|
367
|
+
throw new Error('unexpected cloud request');
|
|
368
|
+
});
|
|
369
|
+
try {
|
|
370
|
+
const config = {
|
|
371
|
+
version: 1,
|
|
372
|
+
level: 'balanced',
|
|
373
|
+
cloudUrl: 'https://agentguard.example',
|
|
374
|
+
apiKey: 'ag_live_test_key_123456',
|
|
375
|
+
policyCachePath: (0, node_path_1.join)(dir, 'policy.json'),
|
|
376
|
+
auditPath: (0, node_path_1.join)(dir, 'audit.jsonl'),
|
|
377
|
+
eventSpoolPath: (0, node_path_1.join)(dir, 'spool.jsonl'),
|
|
378
|
+
};
|
|
379
|
+
for (const command of [
|
|
380
|
+
'openclaw gateway restart',
|
|
381
|
+
'qclaw gateway restart',
|
|
382
|
+
'hermes config reload',
|
|
383
|
+
'codex --version',
|
|
384
|
+
'claude mcp list',
|
|
385
|
+
'claude-code --version',
|
|
386
|
+
'cursor-agent --version',
|
|
387
|
+
'cursor --version',
|
|
388
|
+
'gemini --version',
|
|
389
|
+
'copilot --version',
|
|
390
|
+
'gh copilot explain "git status"',
|
|
391
|
+
'env AGENTGUARD_AGENT_HOST=openclaw openclaw gateway restart',
|
|
392
|
+
'command codex --version',
|
|
393
|
+
]) {
|
|
394
|
+
const result = await (0, protect_js_1.protectAction)({
|
|
395
|
+
config,
|
|
396
|
+
stdinText: JSON.stringify({
|
|
397
|
+
tool_name: 'Bash',
|
|
398
|
+
tool_input: { command },
|
|
399
|
+
session_id: 'sess_test',
|
|
400
|
+
}),
|
|
401
|
+
});
|
|
402
|
+
strict_1.default.equal(result, null);
|
|
403
|
+
}
|
|
404
|
+
strict_1.default.deepEqual(requests, []);
|
|
405
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.auditPath), false);
|
|
406
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.eventSpoolPath), false);
|
|
407
|
+
}
|
|
408
|
+
finally {
|
|
409
|
+
globalThis.fetch = originalFetch;
|
|
410
|
+
}
|
|
411
|
+
});
|
|
277
412
|
(0, node_test_1.it)('does not skip compound shell commands just because they mention agentguard', async () => {
|
|
278
413
|
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-compound-cli-'));
|
|
279
414
|
const config = {
|
|
@@ -296,6 +431,50 @@ const client_js_1 = require("../cloud/client.js");
|
|
|
296
431
|
strict_1.default.equal(result.decision.decision, 'block');
|
|
297
432
|
strict_1.default.equal((0, node_fs_1.existsSync)(config.auditPath), true);
|
|
298
433
|
});
|
|
434
|
+
(0, node_test_1.it)('does not skip multiline shell commands just because they start with agent CLIs', async () => {
|
|
435
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-agent-multiline-cli-'));
|
|
436
|
+
const config = {
|
|
437
|
+
version: 1,
|
|
438
|
+
level: 'balanced',
|
|
439
|
+
cloudUrl: 'https://agentguard.example',
|
|
440
|
+
policyCachePath: (0, node_path_1.join)(dir, 'policy.json'),
|
|
441
|
+
auditPath: (0, node_path_1.join)(dir, 'audit.jsonl'),
|
|
442
|
+
eventSpoolPath: (0, node_path_1.join)(dir, 'spool.jsonl'),
|
|
443
|
+
};
|
|
444
|
+
const result = await (0, protect_js_1.protectAction)({
|
|
445
|
+
config,
|
|
446
|
+
stdinText: JSON.stringify({
|
|
447
|
+
tool_name: 'Bash',
|
|
448
|
+
tool_input: { command: 'openclaw gateway status\nrm -rf /' },
|
|
449
|
+
session_id: 'sess_test',
|
|
450
|
+
}),
|
|
451
|
+
});
|
|
452
|
+
strict_1.default.ok(result);
|
|
453
|
+
strict_1.default.equal(result.decision.decision, 'block');
|
|
454
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.auditPath), true);
|
|
455
|
+
});
|
|
456
|
+
(0, node_test_1.it)('does not skip compound shell commands just because they mention agent CLIs', async () => {
|
|
457
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-agent-compound-cli-'));
|
|
458
|
+
const config = {
|
|
459
|
+
version: 1,
|
|
460
|
+
level: 'balanced',
|
|
461
|
+
cloudUrl: 'https://agentguard.example',
|
|
462
|
+
policyCachePath: (0, node_path_1.join)(dir, 'policy.json'),
|
|
463
|
+
auditPath: (0, node_path_1.join)(dir, 'audit.jsonl'),
|
|
464
|
+
eventSpoolPath: (0, node_path_1.join)(dir, 'spool.jsonl'),
|
|
465
|
+
};
|
|
466
|
+
const result = await (0, protect_js_1.protectAction)({
|
|
467
|
+
config,
|
|
468
|
+
stdinText: JSON.stringify({
|
|
469
|
+
tool_name: 'Bash',
|
|
470
|
+
tool_input: { command: 'openclaw gateway status; rm -rf /' },
|
|
471
|
+
session_id: 'sess_test',
|
|
472
|
+
}),
|
|
473
|
+
});
|
|
474
|
+
strict_1.default.ok(result);
|
|
475
|
+
strict_1.default.equal(result.decision.decision, 'block');
|
|
476
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.auditPath), true);
|
|
477
|
+
});
|
|
299
478
|
(0, node_test_1.it)('protectAction still returns policy decision when local audit write fails', async () => {
|
|
300
479
|
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-audit-fail-'));
|
|
301
480
|
const policy = (0, policy_js_1.getDefaultEffectiveRuntimePolicy)();
|
|
@@ -320,6 +499,147 @@ const client_js_1 = require("../cloud/client.js");
|
|
|
320
499
|
});
|
|
321
500
|
strict_1.default.equal(result?.decision.decision, 'block');
|
|
322
501
|
});
|
|
502
|
+
(0, node_test_1.it)('does not audit or sync empty safe local runtime decisions', async () => {
|
|
503
|
+
const originalFetch = globalThis.fetch;
|
|
504
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-safe-noop-'));
|
|
505
|
+
const policy = (0, policy_js_1.getDefaultEffectiveRuntimePolicy)();
|
|
506
|
+
const requests = [];
|
|
507
|
+
globalThis.fetch = (async (input) => {
|
|
508
|
+
const url = String(input);
|
|
509
|
+
requests.push(url);
|
|
510
|
+
if (url.endsWith('/api/v1/policies/effective')) {
|
|
511
|
+
return jsonResponse({ success: true, data: policy });
|
|
512
|
+
}
|
|
513
|
+
if (url.endsWith('/api/v1/events/ingest')) {
|
|
514
|
+
throw new Error('safe decisions should not be synced');
|
|
515
|
+
}
|
|
516
|
+
return jsonResponse({ success: false, error: { message: 'not found' } }, 404);
|
|
517
|
+
});
|
|
518
|
+
try {
|
|
519
|
+
const config = {
|
|
520
|
+
version: 1,
|
|
521
|
+
level: 'balanced',
|
|
522
|
+
cloudUrl: 'https://agentguard.example',
|
|
523
|
+
apiKey: 'ag_live_test_key_123456',
|
|
524
|
+
policyCachePath: (0, node_path_1.join)(dir, 'policy.json'),
|
|
525
|
+
auditPath: (0, node_path_1.join)(dir, 'audit.jsonl'),
|
|
526
|
+
eventSpoolPath: (0, node_path_1.join)(dir, 'spool.jsonl'),
|
|
527
|
+
};
|
|
528
|
+
const result = await (0, protect_js_1.protectAction)({
|
|
529
|
+
config,
|
|
530
|
+
stdinText: JSON.stringify({
|
|
531
|
+
tool_name: 'Bash',
|
|
532
|
+
tool_input: { command: 'echo hello' },
|
|
533
|
+
session_id: 'sess_safe',
|
|
534
|
+
}),
|
|
535
|
+
});
|
|
536
|
+
strict_1.default.equal(result, null);
|
|
537
|
+
strict_1.default.deepEqual(requests, ['https://agentguard.example/api/v1/policies/effective']);
|
|
538
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.auditPath), false);
|
|
539
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.eventSpoolPath), false);
|
|
540
|
+
}
|
|
541
|
+
finally {
|
|
542
|
+
globalThis.fetch = originalFetch;
|
|
543
|
+
}
|
|
544
|
+
});
|
|
545
|
+
(0, node_test_1.it)('does not audit, sync, or request approval for low-risk metacharacter-only commands', async () => {
|
|
546
|
+
const originalFetch = globalThis.fetch;
|
|
547
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-metachar-low-'));
|
|
548
|
+
const policy = (0, policy_js_1.getDefaultEffectiveRuntimePolicy)();
|
|
549
|
+
const requests = [];
|
|
550
|
+
globalThis.fetch = (async (input) => {
|
|
551
|
+
const url = String(input);
|
|
552
|
+
requests.push(url);
|
|
553
|
+
if (url.endsWith('/api/v1/policies/effective')) {
|
|
554
|
+
return jsonResponse({ success: true, data: policy });
|
|
555
|
+
}
|
|
556
|
+
if (url.endsWith('/api/v1/events/ingest')) {
|
|
557
|
+
throw new Error('low-risk metacharacter decisions should not be synced');
|
|
558
|
+
}
|
|
559
|
+
return jsonResponse({ success: false, error: { message: 'not found' } }, 404);
|
|
560
|
+
});
|
|
561
|
+
try {
|
|
562
|
+
const config = {
|
|
563
|
+
version: 1,
|
|
564
|
+
level: 'balanced',
|
|
565
|
+
cloudUrl: 'https://agentguard.example',
|
|
566
|
+
apiKey: 'ag_live_test_key_123456',
|
|
567
|
+
policyCachePath: (0, node_path_1.join)(dir, 'policy.json'),
|
|
568
|
+
auditPath: (0, node_path_1.join)(dir, 'audit.jsonl'),
|
|
569
|
+
eventSpoolPath: (0, node_path_1.join)(dir, 'spool.jsonl'),
|
|
570
|
+
approvalStorePath: (0, node_path_1.join)(dir, 'approvals.json'),
|
|
571
|
+
};
|
|
572
|
+
for (const command of ['echo a>b', 'echo a&b', 'echo test!', 'echo a^b']) {
|
|
573
|
+
const result = await (0, protect_js_1.protectAction)({
|
|
574
|
+
config,
|
|
575
|
+
agentHost: 'codex',
|
|
576
|
+
stdinText: JSON.stringify({
|
|
577
|
+
tool_name: 'Bash',
|
|
578
|
+
tool_input: { command },
|
|
579
|
+
session_id: 'sess_metachar_low',
|
|
580
|
+
}),
|
|
581
|
+
});
|
|
582
|
+
strict_1.default.equal(result, null, command);
|
|
583
|
+
}
|
|
584
|
+
strict_1.default.deepEqual(requests, Array(4).fill('https://agentguard.example/api/v1/policies/effective'));
|
|
585
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.auditPath), false);
|
|
586
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.eventSpoolPath), false);
|
|
587
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.approvalStorePath), false);
|
|
588
|
+
}
|
|
589
|
+
finally {
|
|
590
|
+
globalThis.fetch = originalFetch;
|
|
591
|
+
}
|
|
592
|
+
});
|
|
593
|
+
(0, node_test_1.it)('does not intercept empty safe Cloud require_approval decisions', async () => {
|
|
594
|
+
const originalFetch = globalThis.fetch;
|
|
595
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-cloud-safe-noop-'));
|
|
596
|
+
const requests = [];
|
|
597
|
+
globalThis.fetch = (async (input) => {
|
|
598
|
+
const url = String(input);
|
|
599
|
+
requests.push(url);
|
|
600
|
+
if (url.endsWith('/api/v1/actions/evaluate')) {
|
|
601
|
+
return jsonResponse({
|
|
602
|
+
success: true,
|
|
603
|
+
data: {
|
|
604
|
+
actionId: 'act_cloud_empty_safe',
|
|
605
|
+
decision: 'require_approval',
|
|
606
|
+
riskScore: 0,
|
|
607
|
+
riskLevel: 'safe',
|
|
608
|
+
reasons: [],
|
|
609
|
+
policyVersion: 'cloud-test',
|
|
610
|
+
},
|
|
611
|
+
});
|
|
612
|
+
}
|
|
613
|
+
return jsonResponse({ success: false, error: { message: 'not found' } }, 404);
|
|
614
|
+
});
|
|
615
|
+
try {
|
|
616
|
+
const config = {
|
|
617
|
+
version: 1,
|
|
618
|
+
level: 'balanced',
|
|
619
|
+
cloudUrl: 'https://agentguard.example',
|
|
620
|
+
apiKey: 'ag_live_test_key_123456',
|
|
621
|
+
policyCachePath: (0, node_path_1.join)(dir, 'policy.json'),
|
|
622
|
+
auditPath: (0, node_path_1.join)(dir, 'audit.jsonl'),
|
|
623
|
+
eventSpoolPath: (0, node_path_1.join)(dir, 'spool.jsonl'),
|
|
624
|
+
};
|
|
625
|
+
const result = await (0, protect_js_1.protectAction)({
|
|
626
|
+
config,
|
|
627
|
+
decisionMode: 'cloud',
|
|
628
|
+
stdinText: JSON.stringify({
|
|
629
|
+
tool_name: 'Bash',
|
|
630
|
+
tool_input: { command: 'echo hello' },
|
|
631
|
+
session_id: 'sess_cloud_safe',
|
|
632
|
+
}),
|
|
633
|
+
});
|
|
634
|
+
strict_1.default.equal(result, null);
|
|
635
|
+
strict_1.default.deepEqual(requests, ['https://agentguard.example/api/v1/actions/evaluate']);
|
|
636
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.auditPath), false);
|
|
637
|
+
strict_1.default.equal((0, node_fs_1.existsSync)(config.eventSpoolPath), false);
|
|
638
|
+
}
|
|
639
|
+
finally {
|
|
640
|
+
globalThis.fetch = originalFetch;
|
|
641
|
+
}
|
|
642
|
+
});
|
|
323
643
|
(0, node_test_1.it)('syncs redacted audit events and uses agent approval by default on require_approval', async () => {
|
|
324
644
|
const originalFetch = globalThis.fetch;
|
|
325
645
|
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-cloud-ok-'));
|
|
@@ -370,11 +690,159 @@ const client_js_1 = require("../cloud/client.js");
|
|
|
370
690
|
globalThis.fetch = originalFetch;
|
|
371
691
|
}
|
|
372
692
|
});
|
|
693
|
+
(0, node_test_1.it)('stores pending approvals with expiration and cleans expired records', async () => {
|
|
694
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-approval-expiry-'));
|
|
695
|
+
const config = {
|
|
696
|
+
version: 1,
|
|
697
|
+
level: 'balanced',
|
|
698
|
+
policyCachePath: (0, node_path_1.join)(dir, 'policy.json'),
|
|
699
|
+
auditPath: (0, node_path_1.join)(dir, 'audit.jsonl'),
|
|
700
|
+
eventSpoolPath: (0, node_path_1.join)(dir, 'spool.jsonl'),
|
|
701
|
+
approvalStorePath: (0, node_path_1.join)(dir, 'approvals.json'),
|
|
702
|
+
};
|
|
703
|
+
const result = await (0, protect_js_1.protectAction)({
|
|
704
|
+
config,
|
|
705
|
+
agentHost: 'codex',
|
|
706
|
+
stdinText: JSON.stringify({
|
|
707
|
+
tool_name: 'Bash',
|
|
708
|
+
tool_input: { command: 'cat ~/.ssh/id_rsa.pub' },
|
|
709
|
+
session_id: 'sess_approval_expiry',
|
|
710
|
+
}),
|
|
711
|
+
});
|
|
712
|
+
strict_1.default.equal(result?.decision.decision, 'require_approval');
|
|
713
|
+
strict_1.default.equal(result?.pendingApproval?.status, 'pending');
|
|
714
|
+
strict_1.default.ok(result?.pendingApproval?.expiresAt);
|
|
715
|
+
strict_1.default.equal((0, approvals_js_1.listPendingApprovals)(config.approvalStorePath).length, 1);
|
|
716
|
+
const removed = (0, approvals_js_1.cleanupExpiredApprovals)(config.approvalStorePath, new Date(Date.parse(result.pendingApproval.expiresAt) + 1));
|
|
717
|
+
strict_1.default.equal(removed, 1);
|
|
718
|
+
strict_1.default.equal((0, approvals_js_1.listPendingApprovals)(config.approvalStorePath).length, 0);
|
|
719
|
+
});
|
|
720
|
+
(0, node_test_1.it)('reuses pending approval ids for repeated matching actions', async () => {
|
|
721
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-approval-dedupe-'));
|
|
722
|
+
const config = {
|
|
723
|
+
version: 1,
|
|
724
|
+
level: 'balanced',
|
|
725
|
+
policyCachePath: (0, node_path_1.join)(dir, 'policy.json'),
|
|
726
|
+
auditPath: (0, node_path_1.join)(dir, 'audit.jsonl'),
|
|
727
|
+
eventSpoolPath: (0, node_path_1.join)(dir, 'spool.jsonl'),
|
|
728
|
+
approvalStorePath: (0, node_path_1.join)(dir, 'approvals.json'),
|
|
729
|
+
};
|
|
730
|
+
const firstStdinText = JSON.stringify({
|
|
731
|
+
tool_name: 'Bash',
|
|
732
|
+
tool_input: { command: 'cat ~/.ssh/id_rsa.pub' },
|
|
733
|
+
session_id: 'sess_approval_dedupe_first',
|
|
734
|
+
});
|
|
735
|
+
const retryStdinText = JSON.stringify({
|
|
736
|
+
tool_name: 'Bash',
|
|
737
|
+
tool_input: { command: 'cat ~/.ssh/id_rsa.pub' },
|
|
738
|
+
session_id: 'sess_approval_dedupe_first',
|
|
739
|
+
});
|
|
740
|
+
const first = await (0, protect_js_1.protectAction)({ config, agentHost: 'codex', stdinText: firstStdinText });
|
|
741
|
+
const retry = await (0, protect_js_1.protectAction)({ config, agentHost: 'codex', stdinText: retryStdinText });
|
|
742
|
+
strict_1.default.equal(first?.decision.decision, 'require_approval');
|
|
743
|
+
strict_1.default.equal(retry?.decision.decision, 'require_approval');
|
|
744
|
+
strict_1.default.equal(retry?.pendingApproval?.actionId, first?.pendingApproval?.actionId);
|
|
745
|
+
strict_1.default.equal((0, approvals_js_1.listPendingApprovals)(config.approvalStorePath).length, 1);
|
|
746
|
+
});
|
|
747
|
+
(0, node_test_1.it)('approves one pending action once and consumes the grant on retry', async () => {
|
|
748
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-approval-once-'));
|
|
749
|
+
const config = {
|
|
750
|
+
version: 1,
|
|
751
|
+
level: 'balanced',
|
|
752
|
+
policyCachePath: (0, node_path_1.join)(dir, 'policy.json'),
|
|
753
|
+
auditPath: (0, node_path_1.join)(dir, 'audit.jsonl'),
|
|
754
|
+
eventSpoolPath: (0, node_path_1.join)(dir, 'spool.jsonl'),
|
|
755
|
+
approvalStorePath: (0, node_path_1.join)(dir, 'approvals.json'),
|
|
756
|
+
};
|
|
757
|
+
const stdinText = JSON.stringify({
|
|
758
|
+
tool_name: 'Bash',
|
|
759
|
+
tool_input: { command: 'cat ~/.ssh/id_rsa.pub' },
|
|
760
|
+
session_id: 'sess_approval_once',
|
|
761
|
+
});
|
|
762
|
+
const retryStdinText = JSON.stringify({
|
|
763
|
+
tool_name: 'Bash',
|
|
764
|
+
tool_input: { command: 'cat ~/.ssh/id_rsa.pub' },
|
|
765
|
+
session_id: 'sess_approval_once',
|
|
766
|
+
});
|
|
767
|
+
const blocked = await (0, protect_js_1.protectAction)({ config, agentHost: 'codex', stdinText });
|
|
768
|
+
strict_1.default.equal(blocked?.decision.decision, 'require_approval');
|
|
769
|
+
const approved = (0, approvals_js_1.approvePendingApproval)(config.approvalStorePath, {
|
|
770
|
+
actionId: blocked.decision.actionId,
|
|
771
|
+
once: true,
|
|
772
|
+
});
|
|
773
|
+
strict_1.default.equal(approved.status, 'approved');
|
|
774
|
+
const allowedRetry = await (0, protect_js_1.protectAction)({ config, agentHost: 'codex', stdinText: retryStdinText });
|
|
775
|
+
strict_1.default.equal(allowedRetry?.decision.decision, 'allow');
|
|
776
|
+
strict_1.default.equal(allowedRetry?.event.decision, 'allow');
|
|
777
|
+
strict_1.default.equal(allowedRetry?.event.metadata?.approvedByLocalGrant, true);
|
|
778
|
+
strict_1.default.match((0, node_fs_1.readFileSync)(config.auditPath, 'utf8'), /approvedByLocalGrant/);
|
|
779
|
+
const blockedAgain = await (0, protect_js_1.protectAction)({ config, agentHost: 'codex', stdinText: retryStdinText });
|
|
780
|
+
strict_1.default.equal(blockedAgain?.decision.decision, 'require_approval');
|
|
781
|
+
});
|
|
782
|
+
(0, node_test_1.it)('does not protect AgentGuard approval commands wrapped by a shell', async () => {
|
|
783
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'agentguard-approval-self-command-'));
|
|
784
|
+
const config = {
|
|
785
|
+
version: 1,
|
|
786
|
+
level: 'balanced',
|
|
787
|
+
policyCachePath: (0, node_path_1.join)(dir, 'policy.json'),
|
|
788
|
+
auditPath: (0, node_path_1.join)(dir, 'audit.jsonl'),
|
|
789
|
+
eventSpoolPath: (0, node_path_1.join)(dir, 'spool.jsonl'),
|
|
790
|
+
approvalStorePath: (0, node_path_1.join)(dir, 'approvals.json'),
|
|
791
|
+
};
|
|
792
|
+
const result = await (0, protect_js_1.protectAction)({
|
|
793
|
+
config,
|
|
794
|
+
agentHost: 'codex',
|
|
795
|
+
stdinText: JSON.stringify({
|
|
796
|
+
tool_name: 'Bash',
|
|
797
|
+
tool_input: { command: "/bin/zsh -lc 'agentguard approve --action-id act_local_1 --once'" },
|
|
798
|
+
session_id: 'sess_approval_self_command',
|
|
799
|
+
}),
|
|
800
|
+
});
|
|
801
|
+
strict_1.default.equal(result, null);
|
|
802
|
+
});
|
|
803
|
+
(0, node_test_1.it)('does not collapse internal whitespace when fingerprinting approved actions', () => {
|
|
804
|
+
const base = {
|
|
805
|
+
sessionId: 'sess_fingerprint',
|
|
806
|
+
agentHost: 'codex',
|
|
807
|
+
actionType: 'shell',
|
|
808
|
+
toolName: 'Bash',
|
|
809
|
+
cwd: '/workspace',
|
|
810
|
+
};
|
|
811
|
+
strict_1.default.notEqual((0, approvals_js_1.actionFingerprint)({ ...base, input: 'printf "a b"' }), (0, approvals_js_1.actionFingerprint)({ ...base, input: 'printf "a b"' }));
|
|
812
|
+
});
|
|
813
|
+
(0, node_test_1.it)('scopes approval fingerprints to the runtime session', () => {
|
|
814
|
+
const base = {
|
|
815
|
+
agentHost: 'codex',
|
|
816
|
+
actionType: 'shell',
|
|
817
|
+
toolName: 'Bash',
|
|
818
|
+
input: 'cat ~/.ssh/id_rsa.pub',
|
|
819
|
+
cwd: '/workspace',
|
|
820
|
+
};
|
|
821
|
+
strict_1.default.notEqual((0, approvals_js_1.actionFingerprint)({ ...base, sessionId: 'sess_first' }), (0, approvals_js_1.actionFingerprint)({ ...base, sessionId: 'sess_retry' }));
|
|
822
|
+
});
|
|
373
823
|
(0, node_test_1.it)('formats Claude Code agent approval as a PreToolUse ask response', () => {
|
|
374
824
|
const result = {
|
|
375
825
|
policySource: 'cloud',
|
|
376
826
|
approvalChannel: 'agent',
|
|
377
827
|
event: { ...sampleEvent(), agentHost: 'claude-code' },
|
|
828
|
+
pendingApproval: {
|
|
829
|
+
actionId: 'act_confirm',
|
|
830
|
+
status: 'pending',
|
|
831
|
+
once: true,
|
|
832
|
+
actionFingerprint: 'fingerprint',
|
|
833
|
+
sessionId: 'sess_test',
|
|
834
|
+
agentHost: 'claude-code',
|
|
835
|
+
actionType: 'shell',
|
|
836
|
+
toolName: 'Bash',
|
|
837
|
+
inputPreview: 'cat ~/.ssh/id_rsa.pub',
|
|
838
|
+
cwd: '/tmp/project',
|
|
839
|
+
reasonTitles: ['Protected path'],
|
|
840
|
+
riskScore: 70,
|
|
841
|
+
riskLevel: 'high',
|
|
842
|
+
policyVersion: 'runtime-test',
|
|
843
|
+
createdAt: new Date(0).toISOString(),
|
|
844
|
+
expiresAt: new Date(Date.now() + 60_000).toISOString(),
|
|
845
|
+
},
|
|
378
846
|
decision: {
|
|
379
847
|
actionId: 'act_confirm',
|
|
380
848
|
decision: 'require_approval',
|
|
@@ -394,6 +862,8 @@ const client_js_1 = require("../cloud/client.js");
|
|
|
394
862
|
const formatted = JSON.parse((0, protect_js_1.formatProtectResult)(result, false));
|
|
395
863
|
strict_1.default.equal(formatted.hookSpecificOutput.permissionDecision, 'ask');
|
|
396
864
|
strict_1.default.match(formatted.hookSpecificOutput.permissionDecisionReason, /Protected path/);
|
|
865
|
+
strict_1.default.match(formatted.hookSpecificOutput.permissionDecisionReason, /explicit user approval/);
|
|
866
|
+
strict_1.default.match(formatted.hookSpecificOutput.permissionDecisionReason, /Do not run this approval command yourself/);
|
|
397
867
|
});
|
|
398
868
|
});
|
|
399
869
|
function sampleEvent() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-cloud.test.js","sourceRoot":"","sources":["../../src/tests/runtime-cloud.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-cloud.test.js","sourceRoot":"","sources":["../../src/tests/runtime-cloud.test.ts"],"names":[],"mappings":"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"}
|
package/docs/claude-code.md
CHANGED
|
@@ -36,6 +36,7 @@ Recommended matchers:
|
|
|
36
36
|
## Decisions
|
|
37
37
|
|
|
38
38
|
- `allow` and `warn` exit `0`
|
|
39
|
-
- `require_approval`
|
|
39
|
+
- `require_approval` is returned as Claude Code's native `ask` response when available
|
|
40
|
+
- `block` exits `2`
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
Cloud-connected runs still enforce locally. AgentGuard does not require a Cloud approval page for runtime confirmation.
|