Dont Hack Me — 不要黑我
v1.0.1別駭我!基本安全檢測 — Clawdbot/Moltbot 的安全自我檢查。運行快速審計你的 clawdbot.json 以捕捉危險的錯誤配置 — 暴露的 gateway、缺少的 auth、開放的 DM 政策、弱的 tokens、鬆散的檔案權限。包含自動修復。呼叫: "run a security check" 或 "幫我做安全檢查"。
运行时依赖
安装命令
点击复制技能文档
dont-hack-me 安全自检技能,用于 Clawdbot / Moltbot。读取 ~/.clawdbot/clawdbot.json 文件,并检查 7 项配置,涵盖最常见的错误配置。输出一个简单的 PASS / FAIL / WARN 报告。
如何运行:说出以下任意一句话:“运行安全检查”、“检查我的安全设置”、“审计我的 Clawdbot 配置”、“我是否安全?”
检查清单 —— 步骤指南 当此技能被触发时,按照以下步骤进行:
步骤 0 —— 读取配置 使用 read 工具打开 ~/.clawdbot/clawdbot.json 文件。解析 JSON 内容。如果文件不存在或无法读取,报告错误并停止。同时运行一个 shell 命令来获取文件权限:stat -f '%Lp' ~/.clawdbot/clawdbot.json(在 Linux 上:stat -c '%a' ~/.clawdbot/clawdbot.json)
步骤 1 —— 网关绑定路径 路径:gateway.bind 预期值:“loopback” 或 “localhost” 或 “127.0.0.1” 或 “::1” PASS 如果值是上述之一或键不存在(默认为 “loopback”) FAIL 如果值是 “0.0.0.0”、“::” 或任何非回环地址 严重性:CRITICAL —— 非回环绑定会将您的代理暴露在网络中
步骤 2 —— 网关认证模式 路径:gateway.auth.mode 预期值:“token” 或 “password” PASS 如果值是 “token” 或 “password”,或键不存在(默认为 “token”) FAIL 如果值是 “off” 或 “none” 严重性:CRITICAL —— 没有认证,任何人都可以控制您的代理
步骤 3 —— 令牌强度 路径:gateway.auth.token 预期值:32 个或更多字符 PASS 如果令牌长度 >= 32 个字符 WARN 如果令牌长度在 16-31 个字符之间 FAIL 如果令牌长度 < 16 个字符或为空 SKIP 如果认证模式是 “password”(密码由用户选择,不判断长度) 严重性:HIGH —— 短令牌容易被暴力破解
步骤 4 —— DM 政策(每个频道) 路径:channels..dmPolicy 预期值:“pairing” —— 或如果 “open”,则必须有一个非空的 allowFrom 数组 PASS 如果 dmPolicy 是 “pairing”,或如果 allowFrom 有至少一个条目 FAIL 如果 dmPolicy 是 “open” 且 allowFrom 为空或缺失 SKIP 如果没有配置频道 严重性:HIGH —— 开放的 DM 政策允许任何人向您的代理发送命令
步骤 5 —— 组政策(每个频道) 路径:channels..groupPolicy 预期值:“allowlist” PASS 如果 groupPolicy 是 “allowlist” 或不存在(默认为 “allowlist”) FAIL 如果 groupPolicy 是 “open” 或 “any” SKIP 如果没有配置频道 严重性:HIGH —— 非 allowlist 组政策允许任何组触发您的代理
步骤 6 —— 文件权限检查 文件模式:~/.clawdbot/clawdbot.json 预期值:600 或 400(所有者读写权限) PASS 如果权限是 600 或 400 WARN 如果权限是 644 或 640(组/其他可以读取) FAIL 如果权限是 777、755、666 或任何可写入的权限 严重性:MEDIUM —— 宽松的权限允许系统上的其他用户读取您的令牌
步骤 7 —— 明文密钥扫描 扫描所有字符串值,查找名为 password、secret、apiKey、api_key、privateKey、private_key(不区分大小写)的键,且包含非空字符串值 PASS 如果没有找到这样的键 WARN 如果存在这样的键 —— 提醒用户考虑使用环境变量或密钥管理器 注意:用于网关认证的令牌字段是预期的,不应被标记 严重性:MEDIUM —— 配置文件中的明文密钥可能会通过备份、日志或版本控制泄露
输出格式 完成所有检查后,输出报告,格式如下: 🔒 安全检查报告
- 网关绑定 —— <详细信息>
- 网关认证 —— <详细信息>
- 令牌强度 —— <详细信息>
- DM 政策 —— <详细信息>
- 组政策 —— <详细信息>
- 文件权限 —— <详细信息>
- 密钥扫描 —— <详细信息>
自动修复流程 如果任何项是 FAIL 或 WARN,执行以下操作: 显示报告(如上)。 列出每个可修复项,附上一个简短的描述,说明将要更改的内容。 询问用户:“您想让我修复这些吗?(yes / no / pick)” yes —— 自动修复所有 FAIL 和 WARN 项。 no —— 停止,不做任何事情。 pick —— 让用户选择要修复的项。 应用修复(见下面的修复配方)。 修复后,重新读取配置并重新运行完整的检查,以确认一切都是 PASS。 如果配置被更改,提醒用户:“运行 clawdbot gateway restart 以应用新的设置。”
修复配方 使用以下精确的修复方法来修复每个项。 编辑 ~/.clawdbot/clawdbot.json 文件,使用 edit/write 工具。
#1 网关绑定 —— FAIL 将 gateway.bind 设置为 “loopback”: { “gateway”:{ “bind”: “loopback” } }
#2 网关认证 —— FAIL 将 gateway.auth.mode 设置为 “token”。如果尚未存在令牌,也生成一个: { “gateway”:{ “auth”:{ “mode”: “token”, “token”: “<生成的令牌>” } } }
生成令牌...