JohnXu22786/safety-net
JohnXu22786★ 0JavaScriptLast synced: 2026-08-16
编码 agent 破坏性命令拦截闸门:rm -rf / git reset --hard / push --force 执行前解析判定并要求人工确认(dsh 插件 + 通用 CLI)
README excerpt
Barricade(路障) 编码 agent 的破坏性命令拦截闸门:在 rm -rf 、 git reset --hard 、 git push --force 这类命令真正落地 之前 解析命令语义、判定风险,并要求人工确认。 Barricade 是一枚自包含的插件/CLI,零运行时依赖(纯 Node.js ESM),面向所有「把 shell 交给 agent 去跑」的 harness 设计。它不做沙箱、不限制能力,只做一件事: 把不可逆的操作挡在确认关卡前 ——包括那些沙箱也拦不住的( git reset --hard 丢弃工作区、 git push --force 覆盖远端历史、 rm -rf 删掉工作区内未跟踪文件)。 能力一览 - 语义级命令解析 :不是字符串匹配。自带 POSIX 词法分析器,识别引号、转义、heredoc、命令替换 $(...) 、子 shell、管道链; bash -c "rm -rf /" 、 sudo rm -rf / 、 eval "rm -rf /" 、 echo $(rm -rf /) 都逃不过。 - 分命令判定器 :git(reset/clean/push/checkout/branch/stash/restore 等 13 种危险形态,支持长旗标唯一前缀、短旗标解绑)、rm(按目标作用域分级:根目录/主目录/.git → 致命;工作区外/动态目标 → 高危;工作区内 → 中危)、dd/mkfs/shred/chmod/chown、find -delete、curl sh、解释器单行、fork 炸弹、PowerShell 强删等 41 条内置规则。 - 三级策略 : relaxed / balanced (默认)/ vigilant ,严重度 → 动作(拒绝/确认/放行)逐级映射, vigilant 下无法解析的输入按需确认(fail-closed)。 - 交互式确认 :TTY 下展示命令与命中规则,支持执行一次 / 拒绝 / 本会话放行 / 永久放行(写入策略)/ 查看详情;非 TTY 环境一律拒绝(失败安全)。 - 多 harness 可移植 :判定核心与 harness 无关(输入 (命令, 工作目录, 策略) ,输出结构化判定),三种接入形态任选:dsh 进程内插件、通用 stdin-hook JSON 契约、 gate shell 包装。 - 审计 :拦截与确认记录落盘 JSONL,密钥类内容自动脱敏。 工作原理 分析引擎的关键环节: 1. 分词 :POSIX 风格词法分析(引号/转义/操作符/heredoc 正文/命令替换提取),输入超限或无法解析时回退到粗粒度模式扫描。 2. 分段 :按 && ; & 与子 shell 切分命令段, cd 跟踪执行目录,逐段独立判定,任一危险段拦截整条命令。 3. 拆包…
View full README on GitHub →Category
A public gallery of animated pets for Codex, Claude Code, DeepSeek Harness, Hermes, OpenCode, Gemini CLI, and more.
★ 3,846
edison7009/EchoBirdOne-click install + model switch:Claude Code,Codex CLI (OpenAI), Grok Build (xAI), DeepSeek Harness, Kimi Code (Moonshot) ,Qwen Code,Aider,OpenCode,MiMo Code (Xiaomi),ZCode (Z.AI),OpenClaw,Pi,OpenScience,Vibe-Trading,Claude Desktop (3P profile),ChatGPT desktop,OpenCode Desktop,
★ 3,038
ccch1mneyyy/dsh-TUIDSH 官方公众号收录的 TUI 补位插件:Claude Code 风,鲸鱼顶栏/实时状态/流式思考/双击 Esc 回滚/上下文进度+TPS。npm 一键装。 DSH official WeChat featured TUI plugin — Claude Code style: whale bar, live status, streaming thoughts, double-Esc rollback, context bar + TPS. npm one-click.
★ 1,442