安全决策报告
agent-guardian
Agent Guardian 是一个合法的 AI 助手体验监控系统,但存在依赖管理不规范(pip 无版本锁定)、权限配置过宽(systemd 以 root 运行)、patch 脚本可能修改系统插件等问题,属于低风险工具。
为什么得出这个结论
0/4 个维度触发 通过
声明与实际能力
声明资源与推断能力基本一致。
通过
隐藏执行与外联
当前没有明显的高危外联或执行信号。
通过
攻击链与高危发现
没有形成明确的恶意路径。
复核
依赖与供应链卫生
发现 2 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
pip install 无版本锁定 +10
install.sh:60 安装 langdetect 时未指定版本,存在供应链风险
systemd 服务以 root 运行 +8
install.sh:75 配置 User=root,监控工具无需高权限
patch 脚本写入 openclaw 目录 +6
apply-qqbot-patch.sh:10 尝试修改 /root/.openclaw 插件
依赖 apt-get 安装系统包 +5
install.sh:64 apt-get install inotify-tools 无版本指定
文档-行为一致 +-5
SKILL.md 完整描述了所有组件功能
无敏感数据访问 +-5
仅操作 /tmp/ 目录,无凭证收割
最关键的证据
中危 供应链
Python 依赖无版本锁定
install.sh 第60行使用 pip3 install langdetect 无版本约束,可能安装恶意或不稳定版本
scripts/install.sh:60 使用 pip3 install langdetect==1.0.40 或 pip-compile 生成 requirements.txt
中危 权限提升
systemd 服务以 root 权限运行
install.sh 配置 systemd 服务时指定 User=root,监控工具应以低权限用户运行
scripts/install.sh:75 创建专用用户如 'guardian' 并使用 User=guardian
低危 供应链
apt-get 安装系统包无版本指定
install.sh 第64行 apt-get install inotify-tools,虽然风险较低但缺乏确定性
scripts/install.sh:64 记录已安装版本,便于回溯
低危 敏感访问
patch 脚本访问 openclaw 插件目录
apply-qqbot-patch.sh 尝试写入 /root/.openclaw/extensions/qqbot,可能修改系统插件
scripts/apply-qqbot-patch.sh:10 确认操作权限,在非生产环境测试
声明能力 vs 实际能力
文件系统 通过
声明 WRITE
→ 推断 WRITE
所有脚本读写 /tmp/ 目录状态文件 命令执行 通过
声明 WRITE
→ 推断 WRITE
crontab/systemd/sed/awk/ps 等系统工具 网络访问 通过
声明 NONE
→ 推断 READ
仅通过 openclaw CLI 间接通信 环境变量 通过
声明 NONE
→ 推断 READ
smart-status-report.sh:6-7 设置 PATH/HOME 技能调用 通过
声明 NONE
→ 推断 NONE
无跨 skill 调用 剪贴板 通过
声明 NONE
→ 推断 NONE
无剪贴板操作 浏览器 通过
声明 NONE
→ 推断 NONE
无浏览器操作 数据库 通过
声明 NONE
→ 推断 NONE
无数据库操作 可疑产物与外联
没有提取到明显 IOC。
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| langdetect | * | pip | 否 | 无版本锁定,建议固定 1.0.40 |
| inotify-tools | * | apt | 否 | 无版本锁定 |
文件构成
14 个文件 · 1214 行
Shell 7 个文件 · 567 行Markdown 3 个文件 · 353 行Python 3 个文件 · 285 行JSON 1 个文件 · 9 行
需关注文件 · 2
scripts/install.sh Python 依赖无版本锁定 · systemd 服务以 root 权限运行 · apt-get 安装系统包无版本指定
scripts/apply-qqbot-patch.sh patch 脚本访问 openclaw 插件目录
其他文件 · msg-queue.py · SKILL.md · supervisor.sh · qqbot.md · lang-filter.py · generic.md +4
安全亮点
文档完整详尽,所有组件功能均有说明
无凭证收割行为,不访问 ~/.ssh、~/.aws、.env 等敏感路径
无网络直连,不存在 C2 通信或数据外泄
无代码混淆,所有脚本可读性良好
功能边界清晰:仅监控 AI 助手体验问题
配置文件写入 /tmp/ 而非用户目录