You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: checkup report i18n, Windows cmd, headless detection, dimension coverage
- Auto-detect Chinese from analysis content and apply zh locale on load (#12)
- Fix Windows `start` command needing empty title to avoid cmd popup (#11, #14)
- Skip browser open for headless/bot environments (Qclaw, OpenClaw, CI) (#14)
- Increase process exit timeout from 2s to 3s for slower systems (#11)
- Mark all 7 data collection checks as [REQUIRED] in SKILL.md (#10)
- Add pre-Step-4 validation checklist to ensure all dimensions have data (#10)
- Make Step 5 terminal summary mandatory with explicit instructions (#11)
- Add dimension→check mapping so models understand the full pipeline (#10, #13)
Closes#10, Closes#11, Closes#12, Closes#13, Closes#14
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: skills/agentguard/SKILL.md
+23-9Lines changed: 23 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -610,18 +610,20 @@ Run a comprehensive agent health checkup across 6 security dimensions. Generates
610
610
611
611
### Step 1: Data Collection
612
612
613
+
**IMPORTANT: You MUST run ALL 7 checks below — not just the skill scan. The checkup covers 5 security dimensions, not just code scanning. Do NOT skip checks 2–7.**
614
+
613
615
Run these checks in parallel where possible. These are **universal agent security checks** — they apply to any Claude Code or OpenClaw environment, regardless of whether AgentGuard is installed.
614
616
615
-
1.**Discover & scan installed skills**: Glob `~/.claude/skills/*/SKILL.md` and `~/.openclaw/skills/*/SKILL.md`. For each discovered skill, **run `/agentguard scan <skill_path>`** using the scan subcommand logic (24 detection rules). Collect the scan results (risk level, findings count, risk tags) for each skill.
616
-
2.**Credential file permissions**: `stat` on `~/.ssh/`, `~/.gnupg/`, and if OpenClaw:`stat` on `$OC/openclaw.json`, `$OC/devices/paired.json`
617
-
3.**Sensitive credential scan (DLP)**: Use Grep to scan workspace memory/logs directories for leaked secrets:
617
+
1.**[REQUIRED]Discover & scan installed skills** (→ feeds Dimension 1: Code Safety): Glob `~/.claude/skills/*/SKILL.md` and `~/.openclaw/skills/*/SKILL.md`. For each discovered skill, **run `/agentguard scan <skill_path>`** using the scan subcommand logic (24 detection rules). Collect the scan results (risk level, findings count, risk tags) for each skill.
618
+
2.**[REQUIRED]Credential file permissions** (→ feeds Dimension 2: Credential Safety): `stat -f '%Lp' <path> 2>/dev/null || stat -c '%a' <path> 2>/dev/null` on `~/.ssh/`, `~/.gnupg/`, and if OpenClaw: on `$OC/openclaw.json`, `$OC/devices/paired.json`
619
+
3.**[REQUIRED]Sensitive credential scan / DLP** (→ feeds Dimension 2: Credential Safety): Use Grep to scan workspace memory/logs directories for leaked secrets:
- Mnemonics: sequences of 12+ BIP-39 words, `seed_phrase`, `mnemonic`
620
622
- API keys/tokens: `AKIA[0-9A-Z]{16}`, `gh[pousr]_[A-Za-z0-9_]{36}`, plaintext passwords
621
-
4.**Network exposure**: Run `lsof -i -P -n 2>/dev/null | grep LISTEN` or `ss -tlnp 2>/dev/null` to check for dangerous open ports (Redis 6379, Docker API 2375, MySQL 3306, MongoDB 27017 on 0.0.0.0)
622
-
5.**Scheduled tasks audit**: Check `crontab -l 2>/dev/null` for suspicious entries containing `curl|bash`, `wget|sh`, or accessing `~/.ssh/`
623
-
6.**Environment variable exposure**: Run `env` and check for sensitive variable names (`PRIVATE_KEY`, `MNEMONIC`, `SECRET`, `PASSWORD`) — detect presence only, mask values
624
-
7.**Runtime protection check**: Check if security hooks exist in `~/.claude/settings.json`, check for audit logs at `~/.agentguard/audit.jsonl`
623
+
4.**[REQUIRED]Network exposure** (→ feeds Dimension 3: Network & System): Run `lsof -i -P -n 2>/dev/null | grep LISTEN` or `ss -tlnp 2>/dev/null` to check for dangerous open ports (Redis 6379, Docker API 2375, MySQL 3306, MongoDB 27017 on 0.0.0.0)
6.**[REQUIRED]Environment variable exposure** (→ feeds Dimension 3: Network & System): Run `env` and check for sensitive variable names (`PRIVATE_KEY`, `MNEMONIC`, `SECRET`, `PASSWORD`) — detect presence only, mask values
626
+
7.**[REQUIRED]Runtime protection check** (→ feeds Dimension 4: Runtime Protection): Check if security hooks exist in `~/.claude/settings.json` or `~/.openclaw/openclaw.json`, check for audit logs at `~/.agentguard/audit.jsonl`
625
627
626
628
### Step 2: Score Calculation
627
629
@@ -709,6 +711,18 @@ This report goes into the `"analysis"` field of the JSON output.
709
711
710
712
Also generate a list of actionable recommendations as `{ "severity": "...", "text": "..." }` objects for the structured view.
711
713
714
+
### Pre-Step-4 Validation
715
+
716
+
**Before assembling the JSON, verify you have collected data for ALL 5 dimensions:**
717
+
718
+
-[ ]`code_safety` — from Step 1 check 1 (skill scanning)
The script outputs the HTML file path to stdout (e.g. `/tmp/agentguard-checkup-1234567890.html`). Capture this path — you will need it for delivery in Step 6.
743
757
744
-
### Step 5: Terminal Summary
758
+
### Step 5: Terminal Summary (REQUIRED)
745
759
746
-
After the report generates, output a brief summary in the terminal:
760
+
**You MUST output this summary after the report generates.** This is the primary output the user sees. Do NOT skip this step — always show the score, dimension table, and report path:
0 commit comments