# 安全政策 ## 支持的版本 只对最新的正式 Release 提供安全修复。 ## 报告漏洞 **请不要用公开 issue 报告安全漏洞**(尤其是涉及 Token 泄露、命令注入、SSRF、 提示词注入绕过权限这类问题)。 请用 GitHub 的 [Private vulnerability reporting](仓库 Security 标签页 → Report a vulnerability)私下报告,通常 72 小时内会有首次回应。 报告时请附上:复现步骤、影响范围、以及(如果可能)最小化的 PoC。 ## 这套系统默认暴露哪些东西 部署时请自查这几类面,均不应直接暴露公网: - 控制台 HTTP 服务(默认 3210):有 Token 鉴权,但只应通过 SSH 隧道或内网访问; - OneBot WebSocket/HTTP 端口:只监听 127.0.0.1,供协议端与本程序通信; - `data/` 目录:config.json(含模型 Key、控制台 Token)、消息库、身份库均为敏感数据, 权限 0600,请勿放入版本库或公开目录。 ## 控制台操作留痕(审计日志) 控制台的关键写操作会留痕到 `data/audit-log/audit-YYYYMM.jsonl`(目录 0700 / 文件 0600, 按自然月切文件,默认保留 6 个月,由 `qq-agent-audit-prune.timer` 每月清理): - 记录:时间、动作、目标、来源 IP 与 UA、操作凭据指纹(`sha256(控制台令牌)` 前 8 位, **不落令牌本身**)、改动前后快照(先脱敏再逐字段截断到 4KB)、成功/失败与错误摘要; - 不记录:任何明文密钥、令牌、密码 —— 命中 `apiKey` / `token` / `secret` / `password` 等字段名(以及 `keys` 类凭据映射)的值统一替换为 `[redacted]`; - 查询:`GET /api/audit?limit=200&before=`(与其他 `/api/*` 同一套令牌鉴权; limit 硬上限 500,不提供全量导出); - 审计是旁路:写失败只打一条警告,绝不影响控制台功能。 ## 模型工具集的权限模型 给模型暴露的工具集**不含**任意命令执行、任意文件写与任意地址抓取;发送类工具的目标由 `ctx.chatKey` 绑定并受访问控制过滤(`src/core/access.js`),模型不能选任意收件人。 因此提示词注入的最坏情形是"把机器人当傀儡用"(重复发言、消耗模型预算),而不是远程代码执行—— 这是**有意的取舍**:能力按业务需要最小化,不为了灵活性放开 exec / 任意文件写。 出站请求:抓取类工具以 GET 为主,第三方搜索 provider 按其**固定 API 端点**发请求 (地址来自配置,不由模型指定)。工具清单与实现见 `src/tools/tools-core.js`。 ## 处置承诺 确认后按严重程度修复并发布补丁版本;影响已发布 Release 的会在 Release 页说明。