Files
zcode-gatekeeper/gatekeeper/dangerlist.txt
T
luoxiaoxin123 b207dbcaa0 安全修复:复合命令缺口、状态文件投毒、自批命令、协议 fail-open、dangerlist 漏报
- COMPOUND 补全换行/单个&/重定向(白名单不再被多行/重定向命令绕过),find 移出白名单
- gatekeeper 状态文件读写确定性硬拒(防 approved.json 投毒绕过灾难黑名单)
- 模型自批 approve 命令确定性硬拒(防 --yes 自我放行)
- approvedConsume 校验时间戳必须在过去(防未来时间戳使批准永不过期)
- daemon 协议错误/未知 op 返回 {ok:false},客户端降级内联完整审查(消除 fail-open)
- onReviewerError 支持 prompt 别名;llmTimeoutMs 超时预算钳制(防 hook 超时 fail-open)
- dangerlist 补漏:del/rd flag 顺序无关、Remove-Item 盘根星号、Format-Volume、format.com
- review 输入 JSON 解析失败与基础设施崩溃改为 fail-closed
- install 首次安装从模板生成 config.json;回归扩展至 41 项
2026-09-13 20:59:36 +08:00

41 lines
1.8 KiB
Plaintext

# 灾难命令黑名单:命中即确定性拒绝(不经过审查模型)。正则,不区分大小写。
# 原则:只收录"无争议的大规模不可逆破坏",宁缺毋滥 —— 误报无法被 LLM 纠回。
# ---------------------------------------------------------------------------
# rm 带递归(r/R)且带强制(f),目标是根目录本身/家目录本身/盘根/系统目录
# (注意:~/projects、/tmp/build 这类子目录不算,留给 LLM 审查)
\brm\b(?=[^;&|\n]*\s-[a-zA-Z]*[rR][a-zA-Z]*f)(?=[^;&|\n]*\s(/(\s|$|\*)|~(\s|$|/\*)|\$HOME|%USERPROFILE%|[a-zA-Z]:[\\/]{0,2}(\s|$|\*|Windows|Users|Program)))
\brm\b(?=[^;&|\n]*\s-[a-zA-Z]*f[a-zA-Z]*[rR])(?=[^;&|\n]*\s(/(\s|$|\*)|~(\s|$|/\*)|\$HOME|%USERPROFILE%|[a-zA-Z]:[\\/]{0,2}(\s|$|\*|Windows|Users|Program)))
\brm\b(?=[^;&|\n]*\s-[a-zA-Z]*[rR])(?=[^;&|\n]*\s(/|~|\$HOME)(\s|$))
# PowerShell 递归删除:盘根、系统目录、用户主目录(盘内普通子目录不算)
Remove-Item\s+[^;&|\n]*-Recurse[^;&|\n]*\s"?[a-zA-Z]:[\\/]?\*?"?\s*$
Remove-Item\s+[^;&|\n]*-Recurse[^;&|\n]*\s"?[a-zA-Z]:\\(Windows|Users|Program Files)
Remove-Item\s+[^;&|\n]*-Recurse[^;&|\n]*\s(~|\$HOME|%USERPROFILE%|\$env:USERPROFILE)(\s|$)
(rd|rmdir|del)\b[^;&|\n]*\/s\b[^;&|\n]*[a-zA-Z]:\\((\*|\\)?(\s|$)|Windows|Users|Program)
del\s+/[a-z]*q[a-z]*\s+/[a-z]*s[a-z]*\s+"?[a-zA-Z]:[\\/]?"?\s*$
# 磁盘 / 文件系统级破坏
mkfs(\.|\s)
\bdd\b[^;&|\n]*of=/dev/(sd|hd|nvme|vd|disk|rdisk|mapper)
shred\s+[^;&|\n]*/dev/
blkdiscard
wipefs\s+[^;&|\n]*/dev/
\bdiskpart\b[\s\S]*\bclean\b
\bformat(\.com)?\s+[a-zA-Z]:
\bFormat-Volume\b
Clear-Disk
Initialize-Disk
Remove-Partition
cipher\s+/w
# 覆写块设备
>\s*/dev/(sd|hd|nvme|disk)
# fork bomb
:\(\)\s*\{\s*:\s*\|\s*:\s*&\s*\}\s*;\s*:
# 整树权限/属主破坏
chmod\s+-R\s+0?777\s+/(?:\s|$)
chown\s+-R\s+\S+\s+/(?:\s|$)