@goplus/agentguard 1.1.9 → 1.1.13
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 +25 -8
- package/dist/adapters/common.d.ts.map +1 -1
- package/dist/adapters/common.js +3 -1
- package/dist/adapters/common.js.map +1 -1
- package/dist/adapters/openclaw-plugin.d.ts.map +1 -1
- package/dist/adapters/openclaw-plugin.js +17 -3
- package/dist/adapters/openclaw-plugin.js.map +1 -1
- package/dist/cli.js +170 -11
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +18 -0
- package/dist/config.js.map +1 -1
- package/dist/feed/cron.d.ts +27 -0
- package/dist/feed/cron.d.ts.map +1 -1
- package/dist/feed/cron.js +721 -54
- package/dist/feed/cron.js.map +1 -1
- package/dist/installers.d.ts +1 -1
- package/dist/installers.d.ts.map +1 -1
- package/dist/installers.js +164 -13
- package/dist/installers.js.map +1 -1
- package/dist/postinstall.js +29 -0
- package/dist/postinstall.js.map +1 -1
- package/dist/registry/storage.d.ts.map +1 -1
- package/dist/registry/storage.js +5 -1
- package/dist/registry/storage.js.map +1 -1
- package/dist/runtime/types.d.ts +1 -1
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/tests/cli-init.test.d.ts +2 -0
- package/dist/tests/cli-init.test.d.ts.map +1 -0
- package/dist/tests/cli-init.test.js +130 -0
- package/dist/tests/cli-init.test.js.map +1 -0
- package/dist/tests/cli-policy.test.js +47 -0
- package/dist/tests/cli-policy.test.js.map +1 -1
- package/dist/tests/cli-subscribe.test.js +33 -0
- package/dist/tests/cli-subscribe.test.js.map +1 -1
- package/dist/tests/feed-cron.test.js +441 -13
- package/dist/tests/feed-cron.test.js.map +1 -1
- package/dist/tests/installer.test.js +37 -2
- package/dist/tests/installer.test.js.map +1 -1
- package/dist/tests/integration.test.js +9 -5
- package/dist/tests/integration.test.js.map +1 -1
- package/dist/tests/postinstall.test.d.ts +2 -0
- package/dist/tests/postinstall.test.d.ts.map +1 -0
- package/dist/tests/postinstall.test.js +31 -0
- package/dist/tests/postinstall.test.js.map +1 -0
- package/dist/tests/setup-script.test.d.ts +2 -0
- package/dist/tests/setup-script.test.d.ts.map +1 -0
- package/dist/tests/setup-script.test.js +63 -0
- package/dist/tests/setup-script.test.js.map +1 -0
- package/dist/tests/smoke.test.js +88 -1
- package/dist/tests/smoke.test.js.map +1 -1
- package/docs/codex.md +1 -1
- package/docs/hermes.md +3 -3
- package/package.json +1 -1
- package/skills/agentguard/SKILL.md +424 -194
- package/skills/agentguard/hermes-hooks.yaml +2 -2
- package/skills/agentguard/scan-rules.md +13 -2
- package/skills/agentguard/scripts/{action-cli.ts → action-cli.js} +13 -18
- package/skills/agentguard/scripts/auto-scan.js +3 -1
- package/skills/agentguard/scripts/checkup-score.js +369 -0
- package/skills/agentguard/scripts/hermes-hook.js +103 -16
- package/skills/agentguard/scripts/scan-to-sarif.js +195 -0
- package/skills/agentguard/scripts/{trust-cli.ts → trust-cli.js} +12 -16
- package/skills/agentguard/suppress.example.yaml +67 -0
package/README.md
CHANGED
|
@@ -48,11 +48,11 @@ AI coding agents can execute any command, read any file, and install any skill
|
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
50
|
npm install -g @goplus/agentguard
|
|
51
|
-
agentguard init
|
|
51
|
+
agentguard init --agent auto
|
|
52
52
|
agentguard status
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
The npm install runs a best-effort local bootstrap; `agentguard init
|
|
55
|
+
The npm install runs a best-effort local bootstrap; `agentguard init --agent auto` is the required next step that detects installed agent directories and configures supported hooks/plugins.
|
|
56
56
|
No Cloud account or network connection is required for the local runtime guard.
|
|
57
57
|
|
|
58
58
|
## 3 minutes: protect your agent
|
|
@@ -75,16 +75,31 @@ agentguard subscribe
|
|
|
75
75
|
# report local matches back to Cloud.
|
|
76
76
|
agentguard subscribe --quiet
|
|
77
77
|
|
|
78
|
-
# Optional:
|
|
79
|
-
#
|
|
80
|
-
#
|
|
78
|
+
# Optional: run once, then install a cron job that checks every hour and asks
|
|
79
|
+
# you to review newly published advisories. Auto uses the agent host saved by
|
|
80
|
+
# `agentguard init --agent`: OpenClaw uses native OpenClaw cron with Gateway
|
|
81
|
+
# fallback at 127.0.0.1:18789, QClaw uses QClaw Gateway at 127.0.0.1:28789,
|
|
82
|
+
# Hermes uses native Hermes cron, while Claude Code/Codex use system crontab.
|
|
83
|
+
# OpenClaw/QClaw cron jobs deliver through the host's last chat route only when
|
|
84
|
+
# AgentGuard prints a notification body; no-notification runs print NO_REPLY.
|
|
85
|
+
# If no agent host is saved, run `agentguard init --agent <agent>` first or
|
|
86
|
+
# pass --cron-target explicitly.
|
|
81
87
|
agentguard subscribe --cron "0 * * * *"
|
|
82
88
|
|
|
89
|
+
# Override cron backend selection when needed.
|
|
90
|
+
agentguard subscribe --cron "0 * * * *" --cron-target system
|
|
91
|
+
agentguard subscribe --cron "0 * * * *" --cron-target openclaw
|
|
92
|
+
agentguard subscribe --cron "0 * * * *" --cron-target qclaw
|
|
93
|
+
agentguard subscribe --cron "0 * * * *" --cron-target hermes
|
|
94
|
+
# System cron writes output to ~/.agentguard/feed-cron.log.
|
|
95
|
+
# Hermes cron writes a no-agent script under ~/.hermes/scripts/ and requires
|
|
96
|
+
# Hermes Gateway for automatic scheduled execution.
|
|
97
|
+
|
|
83
98
|
# Or install the hourly cron in quiet mode so matches are self-checked and
|
|
84
99
|
# reported automatically.
|
|
85
100
|
agentguard subscribe --cron "0 * * * *" --quiet
|
|
86
101
|
|
|
87
|
-
# Replace an existing
|
|
102
|
+
# Replace an existing cron job with the same name
|
|
88
103
|
agentguard subscribe --cron "0 * * * *" --force
|
|
89
104
|
|
|
90
105
|
# Machine-readable output always includes a cron status object:
|
|
@@ -94,11 +109,13 @@ agentguard subscribe --json
|
|
|
94
109
|
# Or run a one-off self-check against a single advisory id
|
|
95
110
|
agentguard checkup --against-advisory AGS-2026-0042
|
|
96
111
|
|
|
97
|
-
#
|
|
98
|
-
|
|
112
|
+
# Re-run host setup manually when needed. `auto` detects installed agents.
|
|
113
|
+
agentguard init --agent auto
|
|
99
114
|
agentguard init --agent claude-code
|
|
100
115
|
agentguard init --agent codex
|
|
101
116
|
agentguard init --agent openclaw
|
|
117
|
+
agentguard init --agent hermes
|
|
118
|
+
agentguard init --agent qclaw
|
|
102
119
|
```
|
|
103
120
|
|
|
104
121
|
<details>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/adapters/common.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/adapters/common.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,YAAY,CAAC;AAsBxD,wBAAgB,UAAU,IAAI;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAM9C;AAeD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMzD;AAMD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EACnD,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAgBT;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EACnD,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAoBT;AAMD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,EACjF,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,IAAI,CAkBN;AAqBD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE;IAAE,MAAM,EAAE,CAAC,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,qBAAqB,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;CAAE,GAC3N,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAmBxG;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,OAAO,CAiBT"}
|
package/dist/adapters/common.js
CHANGED
|
@@ -13,7 +13,9 @@ const node_os_1 = require("node:os");
|
|
|
13
13
|
// ---------------------------------------------------------------------------
|
|
14
14
|
// Paths
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
16
|
-
const AGENTGUARD_DIR = process.env.
|
|
16
|
+
const AGENTGUARD_DIR = process.env.OPENCLAW_STATE_DIR
|
|
17
|
+
? (0, node_path_1.join)(process.env.OPENCLAW_STATE_DIR, 'agentguard')
|
|
18
|
+
: process.env.AGENTGUARD_HOME || (0, node_path_1.join)((0, node_os_1.homedir)(), '.agentguard');
|
|
17
19
|
const CONFIG_PATH = (0, node_path_1.join)(AGENTGUARD_DIR, 'config.json');
|
|
18
20
|
const AUDIT_PATH = (0, node_path_1.join)(AGENTGUARD_DIR, 'audit.jsonl');
|
|
19
21
|
function ensureDir() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/adapters/common.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/adapters/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-plugin.d.ts","sourceRoot":"","sources":["../../src/adapters/openclaw-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AASH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA0BrD;;GAEG;AACH,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACtF,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CACzH;
|
|
1
|
+
{"version":3,"file":"openclaw-plugin.d.ts","sourceRoot":"","sources":["../../src/adapters/openclaw-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,7 +75,9 @@ const protect_js_1 = require("../runtime/protect.js");
|
|
|
75
75
|
// ---------------------------------------------------------------------------
|
|
76
76
|
const OPENCLAW_SKILLS_DIR = (0, node_path_1.join)((0, node_os_1.homedir)(), '.openclaw', 'skills');
|
|
77
77
|
const CLAUDE_SKILLS_DIR = (0, node_path_1.join)((0, node_os_1.homedir)(), '.claude', 'skills');
|
|
78
|
-
const AGENTGUARD_DIR = process.env.
|
|
78
|
+
const AGENTGUARD_DIR = process.env.OPENCLAW_STATE_DIR
|
|
79
|
+
? (0, node_path_1.join)(process.env.OPENCLAW_STATE_DIR, 'agentguard')
|
|
80
|
+
: process.env.AGENTGUARD_HOME || (0, node_path_1.join)((0, node_os_1.homedir)(), '.agentguard');
|
|
79
81
|
const AUDIT_PATH = (0, node_path_1.join)(AGENTGUARD_DIR, 'audit.jsonl');
|
|
80
82
|
function ensureAgentGuardDir() {
|
|
81
83
|
if (!(0, node_fs_1.existsSync)(AGENTGUARD_DIR)) {
|
|
@@ -511,8 +513,13 @@ function runtimeResultToBeforeToolCallResult(result) {
|
|
|
511
513
|
(reasonSummary ? ` Reasons: ${reasonSummary}.` : '');
|
|
512
514
|
if (decision === 'require_approval' && result.approvalChannel === 'agent') {
|
|
513
515
|
return {
|
|
514
|
-
|
|
515
|
-
|
|
516
|
+
requireApproval: {
|
|
517
|
+
title: 'AgentGuard approval required',
|
|
518
|
+
description: reason,
|
|
519
|
+
severity: openClawApprovalSeverity(result.decision.riskLevel),
|
|
520
|
+
timeoutMs: 60_000,
|
|
521
|
+
timeoutBehavior: 'deny',
|
|
522
|
+
},
|
|
516
523
|
};
|
|
517
524
|
}
|
|
518
525
|
return {
|
|
@@ -520,6 +527,13 @@ function runtimeResultToBeforeToolCallResult(result) {
|
|
|
520
527
|
blockReason: reason,
|
|
521
528
|
};
|
|
522
529
|
}
|
|
530
|
+
function openClawApprovalSeverity(riskLevel) {
|
|
531
|
+
if (riskLevel === 'critical' || riskLevel === 'high')
|
|
532
|
+
return 'critical';
|
|
533
|
+
if (riskLevel === 'medium')
|
|
534
|
+
return 'warning';
|
|
535
|
+
return 'info';
|
|
536
|
+
}
|
|
523
537
|
function shouldSurfaceRuntimeApproval(result) {
|
|
524
538
|
return (result.policySource === 'cloud-decision' ||
|
|
525
539
|
result.decision.riskScore > 0 ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-plugin.js","sourceRoot":"","sources":["../../src/adapters/openclaw-plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openclaw-plugin.js","sourceRoot":"","sources":["../../src/adapters/openclaw-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -16,6 +16,15 @@ const version_js_1 = require("./version.js");
|
|
|
16
16
|
const selfcheck_js_1 = require("./feed/selfcheck.js");
|
|
17
17
|
const state_js_1 = require("./feed/state.js");
|
|
18
18
|
const cron_js_1 = require("./feed/cron.js");
|
|
19
|
+
const SUPPORTED_AGENT_INSTALLERS = ['claude-code', 'codex', 'openclaw', 'hermes', 'qclaw'];
|
|
20
|
+
const AUTO_AGENT_DETECTION = [
|
|
21
|
+
{ agent: 'claude-code', dir: '.claude' },
|
|
22
|
+
{ agent: 'openclaw', dir: '.openclaw' },
|
|
23
|
+
{ agent: 'hermes', dir: '.hermes' },
|
|
24
|
+
{ agent: 'qclaw', dir: '.qclaw' },
|
|
25
|
+
{ agent: 'codex', dir: '.codex' },
|
|
26
|
+
];
|
|
27
|
+
const REQUIRED_INIT_COMMAND = 'agentguard init --agent auto';
|
|
19
28
|
async function main() {
|
|
20
29
|
const program = new commander_1.Command();
|
|
21
30
|
program
|
|
@@ -26,7 +35,7 @@ async function main() {
|
|
|
26
35
|
.command('init')
|
|
27
36
|
.description('Create ~/.agentguard/config.json and local runtime paths')
|
|
28
37
|
.option('--level <level>', 'Protection level: strict | balanced | permissive')
|
|
29
|
-
.option('--agent <agent>', 'Install hook/template for claude-code, codex, or
|
|
38
|
+
.option('--agent <agent>', 'Install hook/template for claude-code, codex, openclaw, hermes, or qclaw')
|
|
30
39
|
.option('--cloud <url>', 'AgentGuard Cloud URL to store in local config')
|
|
31
40
|
.option('--force', 'Overwrite existing hook/template files')
|
|
32
41
|
.action((options) => {
|
|
@@ -46,10 +55,33 @@ async function main() {
|
|
|
46
55
|
console.log(`AgentGuard initialized at ${paths.home}`);
|
|
47
56
|
console.log(`Config: ${paths.configPath}`);
|
|
48
57
|
if (options.agent) {
|
|
49
|
-
|
|
50
|
-
|
|
58
|
+
const normalizedAgent = String(options.agent).trim().toLowerCase();
|
|
59
|
+
if (normalizedAgent === 'auto') {
|
|
60
|
+
const results = initAutoAgents(config, Boolean(options.force));
|
|
61
|
+
if (results.detected.length === 0) {
|
|
62
|
+
console.log('No supported agent directories found. Looked for .claude, .openclaw, .hermes, .qclaw, and .codex.');
|
|
63
|
+
}
|
|
64
|
+
else if (results.installed.length === 0) {
|
|
65
|
+
console.log('No agent templates were installed; all detected agent initializers failed.');
|
|
66
|
+
}
|
|
67
|
+
for (const result of results.installed) {
|
|
68
|
+
console.log(`Installed ${result.agent} template:`);
|
|
69
|
+
for (const file of result.files)
|
|
70
|
+
console.log(`- ${file}`);
|
|
71
|
+
}
|
|
72
|
+
for (const failure of results.failed) {
|
|
73
|
+
console.error(`! Failed to initialize ${failure.agent}: ${failure.error}`);
|
|
74
|
+
}
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (!SUPPORTED_AGENT_INSTALLERS.includes(normalizedAgent)) {
|
|
78
|
+
throw new Error('Invalid agent. Use auto, claude-code, codex, openclaw, hermes, or qclaw.');
|
|
51
79
|
}
|
|
52
|
-
const
|
|
80
|
+
const agent = normalizedAgent;
|
|
81
|
+
config.agentHost = agent;
|
|
82
|
+
config.agentHosts = appendAgentHost(config.agentHosts, agent);
|
|
83
|
+
(0, config_js_1.saveConfig)(config);
|
|
84
|
+
const result = (0, installers_js_1.installAgentTemplates)(agent, { force: options.force });
|
|
53
85
|
console.log(`Installed ${result.agent} template:`);
|
|
54
86
|
for (const file of result.files)
|
|
55
87
|
console.log(`- ${file}`);
|
|
@@ -99,8 +131,11 @@ async function main() {
|
|
|
99
131
|
console.log(`Protection level: ${config.level}`);
|
|
100
132
|
console.log(`Cloud URL: ${config.cloudUrl || 'not configured'}`);
|
|
101
133
|
console.log(`API key: ${(0, config_js_1.maskApiKey)(config.apiKey)}`);
|
|
134
|
+
console.log(`Agent host: ${config.agentHost || 'not configured'}`);
|
|
135
|
+
console.log(`Agent hosts: ${config.agentHosts?.join(', ') || 'not configured'}`);
|
|
102
136
|
console.log(`Policy cache: ${config.policyCachePath}`);
|
|
103
137
|
console.log(`Audit log: ${config.auditPath}`);
|
|
138
|
+
printInitGuidanceIfNeeded(config);
|
|
104
139
|
});
|
|
105
140
|
const policy = program
|
|
106
141
|
.command('policy')
|
|
@@ -150,6 +185,41 @@ async function main() {
|
|
|
150
185
|
process.exitCode = 1;
|
|
151
186
|
}
|
|
152
187
|
});
|
|
188
|
+
policy
|
|
189
|
+
.command('show')
|
|
190
|
+
.description('Show the cached effective runtime policy, or the bundled default policy when no cache exists')
|
|
191
|
+
.option('--json', 'Print JSON output')
|
|
192
|
+
.action((options) => {
|
|
193
|
+
const config = (0, config_js_1.ensureConfig)();
|
|
194
|
+
const cachedPolicy = (0, policy_js_1.loadCachedPolicy)(config.policyCachePath);
|
|
195
|
+
const source = cachedPolicy ? 'cache' : 'default';
|
|
196
|
+
const shownPolicy = cachedPolicy ?? (0, policy_js_1.getDefaultEffectiveRuntimePolicy)();
|
|
197
|
+
if (options.json) {
|
|
198
|
+
console.log(JSON.stringify({
|
|
199
|
+
success: true,
|
|
200
|
+
source,
|
|
201
|
+
cachePath: config.policyCachePath,
|
|
202
|
+
policy: shownPolicy,
|
|
203
|
+
}, null, 2));
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
console.log(`Policy source: ${source}`);
|
|
207
|
+
console.log(`Policy version: ${shownPolicy.policyVersion}`);
|
|
208
|
+
console.log(`Mode: ${shownPolicy.mode}`);
|
|
209
|
+
console.log(`Updated at: ${shownPolicy.updatedAt}`);
|
|
210
|
+
console.log(`Cache path: ${config.policyCachePath}`);
|
|
211
|
+
console.log('Decisions:');
|
|
212
|
+
for (const [name, decision] of Object.entries(shownPolicy.decisions)) {
|
|
213
|
+
console.log(`- ${name}: ${decision}`);
|
|
214
|
+
}
|
|
215
|
+
console.log(`Protected paths: ${shownPolicy.protectedPaths.length}`);
|
|
216
|
+
console.log(`Blocked command patterns: ${shownPolicy.blockedCommandPatterns.length}`);
|
|
217
|
+
console.log(`Allowed command patterns: ${shownPolicy.allowedCommandPatterns.length}`);
|
|
218
|
+
console.log(`Approval action types: ${shownPolicy.approvalActionTypes.join(', ') || 'none'}`);
|
|
219
|
+
console.log(`Network default outbound: ${shownPolicy.network.defaultOutbound}`);
|
|
220
|
+
console.log(`Blocked domains: ${shownPolicy.network.blockedDomains.length}`);
|
|
221
|
+
console.log(`Approval domains: ${shownPolicy.network.approvalDomains.length}`);
|
|
222
|
+
});
|
|
153
223
|
program
|
|
154
224
|
.command('doctor')
|
|
155
225
|
.description('Check local AgentGuard setup')
|
|
@@ -173,6 +243,7 @@ async function main() {
|
|
|
173
243
|
else {
|
|
174
244
|
console.log('! Cloud: not connected');
|
|
175
245
|
}
|
|
246
|
+
printInitGuidanceIfNeeded(config);
|
|
176
247
|
});
|
|
177
248
|
program
|
|
178
249
|
.command('scan')
|
|
@@ -224,16 +295,20 @@ async function main() {
|
|
|
224
295
|
.option('--json', 'Emit machine-readable summary instead of human text')
|
|
225
296
|
.option('--quiet', 'Run the full pull, self-check, and match-reporting flow with minimal output')
|
|
226
297
|
.option('--no-report', 'Skip uploading self-check results back to Cloud')
|
|
227
|
-
.option('--cron <expr>', 'Install
|
|
228
|
-
.option('--cron-
|
|
229
|
-
.option('--
|
|
298
|
+
.option('--cron <expr>', 'Install a cron job with a five-field cron expression, for example "0 * * * *"')
|
|
299
|
+
.option('--cron-target <target>', 'Cron backend: auto, openclaw, qclaw, hermes, or system', 'auto')
|
|
300
|
+
.option('--cron-name <name>', 'Cron job name', 'agentguard-threat-feed')
|
|
301
|
+
.option('--force', 'Replace an existing cron job with the same name')
|
|
230
302
|
.option('--cron-run', 'Internal: run from the OpenClaw cron prompt without trying to install cron again')
|
|
303
|
+
.option('--cron-notify-run', 'Internal: run from an OpenClaw cron prompt and print only the notification body or NO_REPLY')
|
|
231
304
|
.action(async (options) => {
|
|
232
305
|
const config = (0, config_js_1.ensureConfig)();
|
|
233
306
|
const client = new client_js_1.AgentGuardCloudClient(config);
|
|
234
307
|
const state = (0, state_js_1.loadFeedState)();
|
|
235
308
|
const since = options.since ?? state.lastPulledAt;
|
|
236
309
|
const quiet = Boolean(options.quiet);
|
|
310
|
+
const cronNotifyRun = Boolean(options.cronNotifyRun);
|
|
311
|
+
const cronTarget = validateCronTarget(options.cronTarget);
|
|
237
312
|
const cronExpression = options.cron && !options.cronRun
|
|
238
313
|
? (0, cron_js_1.validateCronExpression)(options.cron)
|
|
239
314
|
: undefined;
|
|
@@ -242,13 +317,21 @@ async function main() {
|
|
|
242
317
|
advisories = await client.pullAdvisories(since);
|
|
243
318
|
}
|
|
244
319
|
catch (err) {
|
|
320
|
+
if (cronNotifyRun) {
|
|
321
|
+
console.log('NO_REPLY');
|
|
322
|
+
process.exitCode = 0;
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
245
325
|
console.error(`! Could not reach AgentGuard Cloud: ${err.message}`);
|
|
246
326
|
process.exitCode = 1;
|
|
247
327
|
return;
|
|
248
328
|
}
|
|
249
329
|
if (advisories === null) {
|
|
250
330
|
// 404 — older Cloud build without the feed endpoint. Not an error.
|
|
251
|
-
if (
|
|
331
|
+
if (cronNotifyRun) {
|
|
332
|
+
console.log('NO_REPLY');
|
|
333
|
+
}
|
|
334
|
+
else if (options.json) {
|
|
252
335
|
console.log(JSON.stringify({ supported: false, shouldNotify: false, results: [], cron: { requested: false, installed: false } }));
|
|
253
336
|
}
|
|
254
337
|
else if (!quiet) {
|
|
@@ -334,11 +417,14 @@ async function main() {
|
|
|
334
417
|
if (options.cron && !options.cronRun) {
|
|
335
418
|
summary.cron.requested = true;
|
|
336
419
|
try {
|
|
337
|
-
summary.cron.result = await (0, cron_js_1.
|
|
420
|
+
summary.cron.result = await (0, cron_js_1.installThreatFeedCron)({
|
|
338
421
|
name: options.cronName,
|
|
339
422
|
cronExpression: cronExpression,
|
|
340
423
|
quiet,
|
|
341
424
|
force: Boolean(options.force),
|
|
425
|
+
backend: cronTarget,
|
|
426
|
+
agentHost: resolveCronAgentHost(config),
|
|
427
|
+
agentGuardHome: (0, config_js_1.getAgentGuardPaths)().home,
|
|
342
428
|
});
|
|
343
429
|
summary.cron.installed = true;
|
|
344
430
|
}
|
|
@@ -347,6 +433,11 @@ async function main() {
|
|
|
347
433
|
throw err;
|
|
348
434
|
}
|
|
349
435
|
}
|
|
436
|
+
if (cronNotifyRun) {
|
|
437
|
+
console.log(summary.shouldNotify && summary.hardFailures === 0 ? summary.notification?.body ?? 'NO_REPLY' : 'NO_REPLY');
|
|
438
|
+
process.exitCode = 0;
|
|
439
|
+
return;
|
|
440
|
+
}
|
|
350
441
|
if (options.json) {
|
|
351
442
|
console.log(JSON.stringify(summary, null, 2));
|
|
352
443
|
return;
|
|
@@ -374,9 +465,15 @@ async function main() {
|
|
|
374
465
|
}
|
|
375
466
|
}
|
|
376
467
|
if (summary.cron.result) {
|
|
377
|
-
const
|
|
468
|
+
const label = summary.cron.result.backend ?? 'cron';
|
|
469
|
+
const action = summary.cron.result.created ? `Installed ${label} cron job` : `${label} cron job already exists`;
|
|
378
470
|
console.log(`${action} "${summary.cron.result.name}" (${summary.cron.result.schedule}, ${summary.cron.result.timezone}).`);
|
|
379
|
-
|
|
471
|
+
if (summary.cron.result.backend === 'system') {
|
|
472
|
+
console.log(`System cron output: ${(0, node_path_1.join)((0, config_js_1.getAgentGuardPaths)().home, 'feed-cron.log')}`);
|
|
473
|
+
}
|
|
474
|
+
else {
|
|
475
|
+
console.log('Notification rule: non-quiet cron notifies on new advisories; quiet cron notifies on local matches.');
|
|
476
|
+
}
|
|
380
477
|
}
|
|
381
478
|
// Exit codes: 2 = matches found, 1 = at least one advisory failed
|
|
382
479
|
// to evaluate or report (cursor was held back), 0 = clean.
|
|
@@ -410,6 +507,7 @@ async function main() {
|
|
|
410
507
|
return null;
|
|
411
508
|
});
|
|
412
509
|
printHealthCheckupSummary(report, htmlPath);
|
|
510
|
+
printInitGuidanceIfNeeded(config);
|
|
413
511
|
}
|
|
414
512
|
appendCheckupAudit(config.auditPath, report);
|
|
415
513
|
process.exitCode = 0;
|
|
@@ -458,8 +556,69 @@ async function main() {
|
|
|
458
556
|
}
|
|
459
557
|
process.exitCode = result.matchedArtifacts.length > 0 ? 2 : 0;
|
|
460
558
|
});
|
|
559
|
+
if (process.argv.length <= 2) {
|
|
560
|
+
printInstalledGuidance();
|
|
561
|
+
return;
|
|
562
|
+
}
|
|
461
563
|
await program.parseAsync(process.argv);
|
|
462
564
|
}
|
|
565
|
+
function validateCronTarget(value) {
|
|
566
|
+
if (value === 'auto' || value === 'openclaw' || value === 'qclaw' || value === 'hermes' || value === 'system')
|
|
567
|
+
return value;
|
|
568
|
+
throw new Error('Invalid cron target. Use auto, openclaw, qclaw, hermes, or system.');
|
|
569
|
+
}
|
|
570
|
+
function initAutoAgents(config, force) {
|
|
571
|
+
const installed = [];
|
|
572
|
+
const failed = [];
|
|
573
|
+
const detectedAgents = AUTO_AGENT_DETECTION
|
|
574
|
+
.filter(({ dir }) => (0, node_fs_1.existsSync)((0, node_path_1.join)(process.cwd(), dir)))
|
|
575
|
+
.map(({ agent }) => agent);
|
|
576
|
+
for (const agent of detectedAgents) {
|
|
577
|
+
try {
|
|
578
|
+
installed.push((0, installers_js_1.installAgentTemplates)(agent, { cwd: process.cwd(), force }));
|
|
579
|
+
}
|
|
580
|
+
catch (err) {
|
|
581
|
+
failed.push({
|
|
582
|
+
agent,
|
|
583
|
+
error: err instanceof Error ? err.message : String(err),
|
|
584
|
+
});
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
if (installed.length > 0) {
|
|
588
|
+
config.agentHosts = installed.map((result) => result.agent);
|
|
589
|
+
config.agentHost = installed[0].agent;
|
|
590
|
+
(0, config_js_1.saveConfig)(config);
|
|
591
|
+
}
|
|
592
|
+
return { installed, failed, detected: detectedAgents };
|
|
593
|
+
}
|
|
594
|
+
function appendAgentHost(agentHosts, agent) {
|
|
595
|
+
const next = agentHosts ? [...agentHosts] : [];
|
|
596
|
+
if (!next.includes(agent))
|
|
597
|
+
next.push(agent);
|
|
598
|
+
return next;
|
|
599
|
+
}
|
|
600
|
+
function hasSavedAgentHost(config) {
|
|
601
|
+
return Boolean(config.agentHost || config.agentHosts?.length);
|
|
602
|
+
}
|
|
603
|
+
function printInstalledGuidance() {
|
|
604
|
+
console.log('AgentGuard is installed.');
|
|
605
|
+
console.log('');
|
|
606
|
+
console.log('Required next step:');
|
|
607
|
+
console.log(` ${REQUIRED_INIT_COMMAND}`);
|
|
608
|
+
console.log('');
|
|
609
|
+
console.log('This detects installed agent directories and configures supported hooks/plugins.');
|
|
610
|
+
console.log('Run `agentguard --help` to see all commands.');
|
|
611
|
+
}
|
|
612
|
+
function printInitGuidanceIfNeeded(config) {
|
|
613
|
+
if (hasSavedAgentHost(config))
|
|
614
|
+
return;
|
|
615
|
+
console.log('');
|
|
616
|
+
console.log('Required next step:');
|
|
617
|
+
console.log(` ${REQUIRED_INIT_COMMAND}`);
|
|
618
|
+
}
|
|
619
|
+
function resolveCronAgentHost(config) {
|
|
620
|
+
return config.agentHost ?? config.agentHosts?.[0];
|
|
621
|
+
}
|
|
463
622
|
function readStdinIfAvailable() {
|
|
464
623
|
if (process.stdin.isTTY)
|
|
465
624
|
return '';
|