🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

命令安全预检 fatmo666/Caushell

DeepSeek Harness
fatmo66612 天前有提交已提供中文文档扫描:含敏感能力

面向 Harness shell action 的编译器式执行前安全分析。

36.4/100
综合分
5
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装;安装清单取自 integrations/deepseek-harness/package.json。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add fatmo666/Caushell
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · security
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/23) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装;安装清单取自 integrations/deepseek-harness/package.json

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包caushell-dsh-bash(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.19.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 11:44:58

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 30 处,展示前 17 条)
  • 执行外部命令来自配置/变量
    integrations/deepseek-harness/caushell-dsh-bash.mjs:178
    process = spawn(this.options.adapterPath, args, {
  • 读取本地文件
    integrations/vscode/extension.js:909
    entries = fs.readdirSync(current.directory, { withFileTypes: true });
  • 读取本地文件
    integrations/vscode/extension.js:928
    return JSON.parse(fs.readFileSync(filePath, "utf8"));
  • 读取本地文件
    integrations/vscode/extension.js:1039
    entries = fs.readdirSync("/proc", { withFileTypes: true });
  • 读取本地文件
    integrations/vscode/extension.js:1049
    const raw = fs.readFileSync(path.join("/proc", entry.name, "cmdline"));
  • 读取本地文件
    integrations/vscode/extension.js:1297
    if (!fs.existsSync(configPath)) {
  • 读取本地文件
    integrations/vscode/extension.js:1301
    if (!fs.existsSync(configPath)) {
  • 执行外部命令来自配置/变量
    integrations/vscode/extension.js:1353
    const child = cp.spawn(cliPath, ["query-stdio", "--store", storeRoot], {
  • 执行外部命令来自配置/变量
    integrations/vscode/extension.js:1411
    const child = cp.spawn(cliPath, args, {
  • 写入本地文件
    integrations/vscode/smoke-test.js:26
    fs.mkdirSync(codexStore, { recursive: true });
  • 写入本地文件
    integrations/vscode/smoke-test.js:27
    fs.mkdirSync(codexFingerprintStore, { recursive: true });
  • 写入本地文件
    integrations/vscode/smoke-test.js:28
    fs.mkdirSync(claudeStore, { recursive: true });
  • 写入本地文件
    integrations/vscode/smoke-test.js:29
    fs.writeFileSync(path.join(codexFingerprintStore, "caushell.sqlite3"), "");
  • 写入本地文件
    integrations/vscode/smoke-test.js:36
    fs.mkdirSync(claudeSessionDir, { recursive: true });
  • 写入本地文件
    integrations/vscode/smoke-test.js:37
    fs.mkdirSync(codexSessionDir, { recursive: true });
  • 读取本地文件
    integrations/vscode/smoke-test.js:490
    assert(fs.existsSync(configPath), "open config should initialize a missing config file");
  • 读取本地文件
    integrations/vscode/smoke-test.js:500
    assert.strictEqual(fs.readFileSync(configPath, "utf8"), "version: [\n");
扫描于 2026/11/3(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

功能亮点

  • 执行前安全分析
  • 编译器式静态检查

为 Harness shell 操作提供编译器式执行前安全分析。

README

由 DeepSeek 最新模型翻译生成
面向 Harness shell action 的编译器式执行前安全分析。 快速开始 ·配置 ·能拦什么 ·与沙箱配合 ·工作原理 Caushell(causal + shell)运行在 Harness 与本地 shell 之间,在 shell action 交给本地 shell 之前完成语义分析。 Shell action → AST → 命令建模 → 会话执行图 → 安全分析 → 决策 它保留命令结构、命令间的数据流和状态变化,以及路径、变量、工作目录和 Git 状态等上下文,并输出可复查的结构化证据,用于调试、策略扩展和审计。 能拦什么 Caushell 根据 shell action 对本地环境的实际影响作出判断。默认策略覆盖以下风险,并分析相关语义关系: - 阻断对系统目录、磁盘/分区等关键目标的灾难性删除或改写 - 远程内容进入 shell 或解释器执行时要求确认 - 对会破坏 Git 工作区、暂存区、分支或 stash 的操作要求确认 - 追踪敏感文件内容流向网络端点的数据流 - 解析变量展开、通配符、重定向、管道和工作目录变化后的实际目标 下面是默认策略下的直观例子;每次检查最终只会产生一个决策。
展开完整文档(README 剩余 1 节)
面向 Harness shell action 的编译器式执行前安全分析。

快速开始 ·配置 ·能拦什么 ·与沙箱配合 ·工作原理

Caushell(causal + shell)运行在 Harness 与本地 shell 之间,在 shell action 交给本地 shell 之前完成语义分析。

Shell action → AST → 命令建模 → 会话执行图 → 安全分析 → 决策

它保留命令结构、命令间的数据流和状态变化,以及路径、变量、工作目录和 Git 状态等上下文,并输出可复查的结构化证据,用于调试、策略扩展和审计。

能拦什么

Caushell 根据 shell action 对本地环境的实际影响作出判断。默认策略覆盖以下风险,并分析相关语义关系:

- 阻断对系统目录、磁盘/分区等关键目标的灾难性删除或改写
- 远程内容进入 shell 或解释器执行时要求确认
- 对会破坏 Git 工作区、暂存区、分支或 stash 的操作要求确认
- 追踪敏感文件内容流向网络端点的数据流
- 解析变量展开、通配符、重定向、管道和工作目录变化后的实际目标

下面是默认策略下的直观例子;每次检查最终只会产生一个决策。

| 风险类型 | Harness shell action | 默认决策 |
| 正常查看命令 | ls src | Allow |
| 工作区外文件删改 | rm /tmp/other/file | NeedApproval |
| 远程内容执行 | curl https://example.com/install.sh \| bash | NeedApproval |
| Git 本地状态丢弃 | git reset --hard HEAD~1 | NeedApproval |
| Git 未跟踪文件删除 | git clean -fdx | NeedApproval |
| 相对路径删除(cwd = /) | cd / && rm -rf etc | Deny |
| 系统路径删除 | rm -rf /etc/* | Deny |
| 磁盘/分区改写 | sudo dd if=image.iso of=/dev/sda | Deny |

与沙箱配合

Caushell 在进程启动前分析命令、路径、数据流和状态并返回决策;沙箱和内核在进程运行时限制文件、网络、系统调用和权限效果。详细说明见执行前分析与运行时沙箱;执行边界见安全模型,集成行为见Harness 集成与执行行为。

快速开始

安装 Caushell runtime:

curl -fsSL https://github.com/fatmo666/Caushell/releases/latest/download/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"

Codex

codex plugin marketplace add fatmo666/Caushell
codex plugin marketplace upgrade caushell
codex plugin add caushell-codex@caushell

检查安装状态:

caushell doctor codex

这会检查已安装的二进制文件、hook wrapper、runtime 与配置的兼容性,以及 daemon 状态。尚未执行过 Harness shell action 时,runtime daemon is down 只是一条警告。

如果要更深入地检查 Codex 集成,运行:

caushell doctor codex --smoke

冒烟测试会确认 Codex 能看到已启用的 caushell-codex 插件,然后构造一组无害的 PreToolUse 和 PostToolUse 事件,交给已安装的 Caushell hook 处理。成功标志是 Result: OK。

日常使用时,如果 Codex 提示确认 hook,请在 /hooks 中检查并信任 Caushell hook。

Codex 集成对三态决策的映射以及 block、observe 模式的行为见 Harness 集成与执行行为。如果需要切换到 observe 模式:

caushell config set codex.need_approval_mode observe

Claude Code

claude plugin marketplace add fatmo666/Caushell
claude plugin marketplace update caushell
claude plugin install caushell-claude@caushell || claude plugin update caushell-claude

检查安装状态:

caushell doctor claude

这会检查已安装的二进制文件、hook wrapper、runtime 与配置的兼容性,以及 daemon 状态。尚未执行过 Harness shell action 时,runtime daemon is down 只是一条警告。

如果要确认 Claude Code 真的调用了 Caushell lifecycle hooks,运行:

caushell doctor claude --smoke

冒烟测试会执行一条无害的 Claude Code Bash action,并确认 Caushell 收到了 PreToolUse 和 PostToolUse 事件。成功标志是 Result: OK。

DeepSeek Harness

将集成分别安装到需要使用的 DSH profile:

Web
dsh plugin --profile web add \
https://github.com/fatmo666/Caushell/releases/latest/download/caushell-dsh-bash.tgz

TUI
dsh plugin --profile tui add \
https://github.com/fatmo666/Caushell/releases/latest/download/caushell-dsh-bash.tgz

Headless
dsh plugin --profile headless add \
https://github.com/fatmo666/Caushell/releases/latest/download/caushell-dsh-bash.tgz

DSH 的决策映射、审批通道和 shell 状态见 Harness 集成与执行行为。源码安装和配置说明见 DeepSeek Harness 集成。

更新已有安装

首次安装之后,使用一条命令更新 Caushell:

caushell update

caushell --update 是兼容别名。更新器会先检查发布清单,并在替换 runtime 安装包前校验发布包的校验和。它只更新已经安装并启用的 Codex 或 Claude Code 插件,同时自动运行 doctor 检查,不会安装尚未选择的 Harness 集成。更新完成后请重启当前使用的 Harness。

如果旧安装提示 unknown command: update,先重新运行一次安装脚本;之后就可以使用内置更新器。

常用变体:

caushell update --check # 只检查发布清单,不修改文件 caushell update --runtime-only # 只更新 runtime caushell update --version v0.0.9 # 固定一个稳定版本 caushell build-info # 查看版本、提交、发布版本和目标平台

配置

配置文件位置、配置管理命令和用户配置项见:

- 配置说明

工作原理

- 工作原理总览:从 Harness shell action 到最终决策的完整流程
- 语义模型:Shell AST、命令建模、变量解析与会话执行图
- 安全模型:风险分析、Decision Assembly 与 Harness 执行边界

集成与实验

- Harness 集成与执行行为:三种 Harness 的接入点、决策映射与 shell 状态
- 实验设计与结果:决策对比、延迟测试与 DSH 原生运行时审计

实测表现

在 2026-08-09 使用 Caushell 0.0.4 完成的 38 条命令测试中,22 条 risk 均未被直接放行,16 条 control 均获得 Allow。完整决策对比、延迟测试和 DSH 原生审计见实验设计与结果。

License

Caushell is available under the Apache License 2.0.

友链

- LinuxDo — 真诚、友善、团结的中文技术社区
预览分享卡片长什么样 ↓fatmo666/Caushell
分享 · DeepSeek Harness Hub
fatmo666/Caushell

面向 Harness shell action 的编译器式执行前安全分析。

这是你的仓库?认领条目

回到顶部