Releases: JYH1878/KimiCodeGuard
Releases · JYH1878/KimiCodeGuard
Release list
KimiCodeGuard for Windows v0.3.1
[0.3.1] - 2026-08-16
热修:out-of-workspace 不再误报 /dev/null 重定向。
修复(M8.1)
- 误报现象:
2>/dev/null、> /dev/null、&> /dev/null、tee /dev/null这类丢弃输出的重定向,被 out-of-workspace 规则当成「工作区外写入」弹窗问人——daemon 不在时直接挡下命令,在时弹窗等 55 秒超时。这是 shell 最高频惯用法之一,v0.3.0 已带着它发版,必须热修重发。 - 修法:out-of-workspace 增加 POSIX 设备命名空间豁免——规范化后以
/dev/开头且无盘符前缀的路径(/dev/null、/dev/zero、/dev/std*、/dev/tty等)一律放行;带盘符的D:/dev/…是真实文件路径,绝不豁免。纯字符串判定,不进 Env、不做 IO。 - 两条 v0.3 规则的判定与 ask 逻辑不变,本批只加豁免。绕过对抗集 167 → 172 条(新增 5 条放行语料:
ls x 2>/dev/null、cat f > /dev/null、echo x &> /dev/null、tee /dev/null、cmd 2>&1对照)。
下载
- NSIS 安装器(当前用户安装、免管理员、简体中文)
- guard-hook 便携 zip(只要命令行拦截、不要托盘的场景)
安装器未签名,Windows SmartScreen 会提示——点「更多信息」→「仍要运行」即可。
KimiCodeGuard for Windows v0.3.0
[0.3.0] - 2026-08-15
规则扩展:内置规则 6 → 8,补上「远程内容直接灌入解释器」与「文件操作逃出工作区」两个高频缺口,并收掉 M7 验收实测放行的两个解码变体。
新增规则(M8)
pipe-exec弹窗确认:下载器(curl/wget/iwr/Invoke-WebRequest/irm/Net.WebClient.Download*)经管道或进程替换灌入解释器(bash/sh/zsh/dash/python/node/cmd/powershell/pwsh/iex)→ 问人(「远程内容经管灌入解释器,执行前无法审查」)。形态覆盖:curl … | bash、bash <(curl …)、sh -c "$(curl …)"、iwr … | iex。||/&&/;分隔不算管道;下载后跨命令链执行(curl -o f && bash f)本批不覆盖(见 THREAT_MODEL 残余缺口)。out-of-workspace弹窗确认:Write / Edit 工具的file_path与 Bash 写出目标(重定向 /tee/cp/mv/copy/move/rename/del/rm/sed -i)规范化后落在 cwd 子树外 → 问人(「工作区外文件操作」)。豁免系统临时目录(%TEMP%/%TMP%、/tmp、/var/tmp)与~/.kimi-code/(Kimi Code 自身配置目录;config.toml 本体仍由 self-protect 拒绝);读不触发;cwd 缺失跳过;canonicalize 兜底 junction / 8.3 逃逸。顺带修复normalize_path把 POSIX 根与 UNC 前缀坍缩的存量缺陷。shell-obfuscation两个解码补丁:①base64合并旗标——单横线、纯字母、含d/D的旗标簇按解码处理(-di/-dw/-Di);②PowerShell[Convert]::FromBase64String('…')字符串字面量——提取解码重判,解不出或没命中 → 问人(不透明),变量输入不误报。- 绕过对抗集 121 → 167 条(pipe-exec 15、out-of-workspace 19、obfus 新 12),harness 收紧 schema 并给两条新规则加 ≥8 拦 + ≥5 放门禁断言;非 git-destroy 语料 git 探测仍必须为 0。
已知边界
- 下载后执行(
curl -o f && bash f)跨命令链切段本批不覆盖;registry-write/scheduled-task/git-dir-write滚入 v0.4。 - 详见
docs/THREAT_MODEL.md§4。
下载
- NSIS 安装器(当前用户安装、免管理员、简体中文)
- guard-hook 便携 zip(只要命令行拦截、不要托盘的场景)
安装器未签名,Windows SmartScreen 会提示——点「更多信息」→「仍要运行」即可。
KimiCodeGuard for Windows v0.2.0
v0.2.0(2026-08-15)
内置规则 3 → 6,补上 shell 包装绕过与防护被拆台的缺口。
新增规则
- self-protect(拒绝):拦对四类受保护路径的写 / 删 / 改名——config.toml、hook / daemon 可执行文件、audit.db;Write / Edit 工具与 Bash 重定向、tee、cp / mv / del / sed -i 均覆盖,读不拦。
- shell-obfuscation(剥壳重判 + 编码解码):bash -c / sh -c / cmd /c / powershell -Command 的内层命令解出后对整条规则集重新判定(嵌套最多 2 层);base64 / certutil / powershell -enc 能解码先解码再判,解不开或没命中 → 弹窗问人。
- git-destroy(弹窗确认):历史 / 远端销毁(push --delete、branch -D、reflog expire、gc --prune 等)一律问人;工作区销毁(reset --hard、clean -f、checkout -- 等)探测未提交改动,有变更才问人。
- 绕过对抗集 57 → 121 条;allow 热路径不新增 IO。
审计面板(M6,随 v0.2.0 发版)
- 中文审计面板:统计卡 / 14 天柱 / 高频工具 Top5 / 事件流筛选分页 / 点行展开完整 payload / 新事件实时上屏(只读连接,不影响哈希链)。
- 修复两处审计可靠性缺陷(事件管道偶发丢事件、面板自动刷新静默失效)。
已知边界
- 安装器未签名,Windows SmartScreen 会提示——点「更多信息」→「仍要运行」即可。
- 3 层以上嵌套混淆、pipe-exec / registry-write / scheduled-task / out-of-workspace 等规则滚动至 v0.3。
下载:KimiCodeGuard_0.2.0_x64-setup.exe(NSIS 安装器,当前用户安装、免管理员、简体中文)或 KimiCodeGuard_0.2.0_guard-hook-portable.zip(便携命令行版)。
KimiCodeGuard for Windows v0.1.0
KimiCodeGuard v0.1.0 —— Kimi Code CLI 的 Windows 安全卫士,首个公开发布。
功能亮点
- PreToolUse 拦截:
rm -rf类危险删除、凭证文件读取直接拒绝(exit 2 + 中文原因);git push --force弹窗确认,55 秒无人操作自动拒绝。 - 双轨审计:实时事件(hook 上报)+ wire.jsonl 回溯(重建安装前历史),统一进 SQLite append-only + sha256 哈希链;托盘可校验(篡改报红含行号)、可导出 JSONL。
- NSIS 安装器:当前用户安装、免管理员、简体中文;安装自动注入 hooks,卸载逐字节还原 config.toml。
- 自保护巡检:daemon 每 5 分钟检查注入块与 hook 程序存在性,失效托盘显红 + 「一键修复」。
安装
下载下方 KimiCodeGuard_0.1.0_x64-setup.exe。
SmartScreen 提示属预期:安装器未做代码签名(项目没有签名证书),Windows 可能弹出「Windows 已保护你的电脑」——点「更多信息」→「仍要运行」即可。
另有 KimiCodeGuard_0.1.0_guard-hook-portable.zip:guard-hook.exe 单文件便携版,适合只要命令行拦截、不要托盘的场景(手动 guard-hook.exe install --config ~/.kimi-code/config.toml 注入,uninstall 还原)。
已知边界
- v0.1 只拦三条规则(rm-force / cred-files / git-force-push);shell 混淆、
git push --delete等已知缺口滚动至 v0.2。 - 官方 fail-open 契约、hook 二进制自校验、恶意用户手改配置不在防护范围内——详见 docs/THREAT_MODEL.md。
完整变更见 CHANGELOG.md。