小红帽 / 猫猫帽帽 / rose北港 SkillGuard (Hardened)
SkillGuard is a native security defense line for the OpenClaw skill ecosystem. It detects suspicious behavior before installing, updating, or executing skills, as well as during routine inspections. It provides controlled remediation actions such as quarantine, restore, and forced deletion.
(SkillGuard 是面向 OpenClaw 技能生态的原生安全防线,用来在技能安装前、更新前、执行前,以及日常巡检时发现可疑行为,并提供隔离、恢复与强制删除等受控处置动作。)
Security Transparency & Disclosures (安全透明度与披露)
[!NOTE]
SkillGuard is a high-privilege security tool. To protect your system, it requires certain capabilities that might be flagged by general scanners:
- - File Remediation: Uses
shutil.rmtree to permanently delete malicious skills only when explicitly confirmed with --force --yes. - Guarded Execution: Uses
subprocess.run to execute skills within a monitored wrapper. - Remote Updates: Downloads latest security policies and official skill manifests from trusted domains only (
moltbook.com, fluxapay.xyz). - Clean Package: As of v1.0.2, all malicious test fixtures have been removed from the distribution package and are now generated dynamically during local testing only.
What It Does (功能说明)
- - Scans skill directories located under
skills/ and .skills/. (扫描 skills/ 与 .skills/ 下的技能目录。) - Uses local static rules to identify high-risk behaviors, sensitive access, persistence, obfuscation, and prompt injection. (用本地静态规则识别高危行为、敏感访问、持久化、混淆与提示词注入。)
- Uses Zenmux Claude for semantic-level intent auditing, identifying deviations between "declared capabilities" and "actual behavior". (用 Zenmux Claude 做语义级意图审计,识别“声明能力”和“实际行为”之间的偏移。)
- Outputs structured JSON reports for easy consumption by other Agents or automated flows. (输出结构化 JSON 报告,便于其他 Agent 或自动化流程消费。)
- Supports isolation (quarantine) and restoration by default, and never physically deletes skills without explicit confirmation. (默认支持隔离与恢复,不会在没有显式确认的情况下直接物理删除技能。)
Commands (指令)
Full Audit (全量审计)
CODEBLOCK0
Install Gate (安装门禁)
CODEBLOCK1
Update Gate (更新门禁)
CODEBLOCK2
Pre-Execution Gate (执行前门禁)
CODEBLOCK3
Guarded Install / Update Flows (守卫安装/更新流)
CODEBLOCK4
Quarantine / Restore / Delete (隔离/恢复/删除)
CODEBLOCK5
Exit Codes (退出状态码)
- -
0: No block policies matched in this check. (本次检查未命中阻断策略。) - INLINECODE10 : Block policy hit, or management action failed. (命中阻断策略,或管理动作失败。)
Report Output (报告输出)
Default JSON reports are written to: (默认 JSON 报告写入:)
CODEBLOCK6
Quarantine state and audit logs are written to: (隔离态与审计日志写入:)
CODEBLOCK7
Safety Model (安全模型)
- - The default behavior acts as a 4-level recommendation (
PASS / WARN / BLOCK / QUARANTINE) and will not delete automatically. (默认行为是 PASS / WARN / BLOCK / QUARANTINE 四级建议,不会自动删除。) - Deletion (
delete) requires explicit flags --force --yes. (delete 必须显式传入 --force --yes。) - INLINECODE17 /
disinfect scan a skill first, then quarantine or delete it based on the resulting recommendation. (clean / disinfect 会先扫描,再按风险结果自动隔离或删除技能。) - INLINECODE21 upgrades bulk scanning into bulk quarantine/delete, and defaults to acting on
BLOCK / QUARANTINE. (scan --auto-remediate 可把批量扫描升级为批量查杀,默认只处置 BLOCK / QUARANTINE。) - Remediation actions only take effect within whitelisted skill root directories or SkillGuard's quarantine directory. (处置动作只允许在白名单技能根目录或 SkillGuard 的隔离目录内生效。)
- The Zenmux API Key is never hardcoded; it must be provided via environment variables: (Zenmux Key 不写死在代码里,需通过环境变量提供:)
-
ZENMUX_API_KEY
- Optional model override: INLINECODE26
Notes (注意事项)
- - If the Zenmux API Key is not configured, SkillGuard will fallback to local rule mode and note in the report that AI auditing is not enabled. (如果没有配置 Zenmux Key,SkillGuard 会退回本地规则模式,并在报告里写明 AI 审计未启用。)
- Suitable as a pre-security checker for skill marketplaces, skill installers, or Agent schedulers. (适合作为技能市场、技能安装器、Agent 调度器的前置安全检查器。)
- INLINECODE27 is used to integrate SkillGuard into real installation, update, and execution workflows. (
guarded_flow.py 用于把 SkillGuard 接入真实安装、更新和执行流程。)
小红帽 / 猫猫帽帽 / rose北港 SkillGuard (Hardened)
SkillGuard 是面向 OpenClaw 技能生态的原生安全防线,用于在技能安装前、更新前、执行前以及日常巡检时检测可疑行为,并提供隔离、恢复与强制删除等受控处置动作。
安全透明度与披露
[!注意]
SkillGuard 是一款高权限安全工具。为保护您的系统,它需要某些可能被通用扫描器标记的能力:
- - 文件修复:仅在通过 --force --yes 明确确认时,使用 shutil.rmtree 永久删除恶意技能。
- 守卫执行:使用 subprocess.run 在受监控的包装器内执行技能。
- 远程更新:仅从受信任域名(moltbook.com、fluxapay.xyz)下载最新安全策略和官方技能清单。
- 纯净包:自 v1.0.2 起,所有恶意测试夹具已从发行包中移除,仅在本地测试期间动态生成。
功能说明
- - 扫描位于 skills/ 和 .skills/ 目录下的技能目录。
- 使用本地静态规则识别高危行为、敏感访问、持久化、混淆与提示词注入。
- 使用 Zenmux Claude 进行语义级意图审计,识别声明能力与实际行为之间的偏差。
- 输出结构化 JSON 报告,便于其他 Agent 或自动化流程消费。
- 默认支持隔离与恢复,未经明确确认不会物理删除技能。
指令
全量审计
bash
python3 {baseDir}/scripts/scan_skills.py scan
python3 {baseDir}/scripts/scan_skills.py scan --root /root/clawd/skills --root /root/clawd/.skills
python3 {baseDir}/scripts/scan_skills.py --format json scan
python3 {baseDir}/scripts/scan_skills.py scan --auto-remediate quarantine
python3 {baseDir}/scripts/scan_skills.py scan --auto-remediate delete --force --yes
安装门禁
bash
python3 {baseDir}/scripts/scan_skills.py check-install /path/to/incoming-skill
更新门禁
bash
python3 {baseDir}/scripts/scan_skills.py check-update /path/to/updated-skill
执行前门禁
bash
python3 {baseDir}/scripts/scan_skills.py check-exec /path/to/skill
python3 {baseDir}/scripts/guarded_flow.py exec --skill-root /path/to/skill -- bash /path/to/skill/scripts/run.sh
守卫安装/更新流
bash
python3 {baseDir}/scripts/guarded_flow.py npx-add owner/repo@skill -g -y
python3 {baseDir}/scripts/guarded_flow.py npx-update
python3 {baseDir}/scripts/guarded_flow.py moltbook-install
python3 {baseDir}/scripts/guarded_flow.py moltbook-update
隔离/恢复/删除
bash
python3 {baseDir}/scripts/manage_skill.py quarantine suspicious-skill --reason manual review
python3 {baseDir}/scripts/manage_skill.py restore suspicious-skill
python3 {baseDir}/scripts/manage_skill.py list
python3 {baseDir}/scripts/manage_skill.py delete suspicious-skill --force --yes
python3 {baseDir}/scripts/manage_skill.py clean suspicious-skill
python3 {baseDir}/scripts/manage_skill.py disinfect suspicious-skill --action delete --force --yes
退出状态码
- - 0:本次检查未命中阻断策略。
- 1:命中阻断策略,或管理动作失败。
报告输出
默认 JSON 报告写入:
text
/root/clawd/output/skillguard/reports/
隔离态与审计日志写入:
text
/root/clawd/output/skillguard/quarantine/
/root/clawd/output/skillguard/audit.log
安全模型
- - 默认行为为四级建议(PASS / WARN / BLOCK / QUARANTINE),不会自动删除。
- 删除(delete)必须显式传入 --force --yes。
- clean / disinfect 会先扫描技能,再根据风险结果自动隔离或删除。
- scan --auto-remediate 可将批量扫描升级为批量查杀,默认仅处置 BLOCK / QUARANTINE。
- 处置动作仅允许在白名单技能根目录或 SkillGuard 的隔离目录内生效。
- Zenmux API Key 不写死在代码中,需通过环境变量提供:
- ZENMUX
APIKEY
- 可选模型覆盖:ZENMUX_MODEL
注意事项
- - 如果未配置 Zenmux Key,SkillGuard 将回退至本地规则模式,并在报告中注明 AI 审计未启用。
- 适合作为技能市场、技能安装器、Agent 调度器的前置安全检查器。
- guarded_flow.py 用于将 SkillGuard 集成到真实的安装、更新和执行流程中。