如果发现安全漏洞,请不要开公开 GitHub Issue。使用 GitHub 的 private vulnerability reporting(仓库 Security 标签 → Report a vulnerability)。
- 收到报告后 48 小时内确认。
- 合理期限内(通常 ≤ 90 天)修复 + 发布 + 致谢。
重点关注:
- 凭据泄露:
bot_token等敏感信息。 - 鉴权绕过:发送者白名单、权限审批闭环(D1)。
- agent 权限收敛:
workdir仅作 cwd(非沙箱,不限制可读路径,靠--allowedTools+permission_mode兜底)、--allowedTools配置收敛、--permission-prompt-tool绕过。 - SSRF:媒体 CDN 下载。
- IM 入口白名单鉴权:iLink bot 任何人可加好友,非白名单 sender 丢弃(DESIGN §9.①)。
--allowedTools配置收敛:起步Read,Edit;workdir用current_dir锁定。- D1 IM 内权限审批闭环:危险工具(如 Bash)须用户在 IM approve/deny(
PermissionMode::Ask)。 - store 文件 0600 / 目录 0700(unix)。
- SSRF 白名单:媒体下载仅允许
novac2c.cdn.weixin.qq.com等 CDN 主机。 - 限流熔断:sendmessage 服从式退避(不绕风控)。
bot_token优先经 OS keyring 加密落盘(storecredentials表只存keyring:<platform>:<account>指针 marker);无 keychain 环境(headless/CI)或 keyring 写入失败时回退明文存 SQLite。旧库中的明文凭据会在读取时懒迁移到 keyring(见crates/store/src/credentials.rs)。wecom_secret明文存 config.toml(与 iLinkbot_token走 OS keyring 不一致):务必把 config.toml 收紧到0600。完整 keyring 保护(含 bootstrap 命令)见docs/CODE_REVIEW_v6.mdR3。- ACP 后端(
agent = "claude-acp")allowed_tools不生效:ACP 协议无--allowedTools等价机制,工具收敛只能靠permission_mode = ask/deny兜底;且Off在 ACP = 全放行(与 CLI 的Off= 不挂审批不同)。如需--allowedTools收敛 + 完整 IM 审批闭环,请用claude-cli后端。 - iLink 是腾讯对外协议的第三方 Rust 实现,使用者自负合规责任(见 README 免责声明 + RESEARCH §2)。