Caushell
Compiler-style pre-execution safety analysis for Harness shell actions.
一句话定位
Compiler-style pre-execution safety analysis for Harness shell actions.
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add 'git+https://github.com/fatmo666/Caushell.git#27ad1fba31f3f585becaedd63933d84d21d81dde'
兼容的 DSH 版本
未声明
作者与热度
fatmo666 · ★ 5 · 更新于 2026-10-22
关于这个插件
Compiler-style pre-execution safety analysis for Harness shell actions.
English | 简体中文
Quick start ·
Configuration ·
What Caushell catches ·
Working with sandboxes ·
How it works
Caushell (causal + shell) runs between a Harness and the local shell. Before a shell action reaches the local shell, Caushell performs pre-execution semantic analysis.
Shell action → AST → command modeling → session execution graph → safety analysis → decision
It preserves command structure, data flow and state changes across commands, and context such as paths, variables, working directory, and Git state. It also emits reviewable structured evidence for debugging, policy extension, and audit.
What Caushell catches
Caushell decides based on the actual impact a shell action can have on the local environment. It covers common risk classes such as:
- Blocking catastrophic deletion or overwrite of critical targets such as system directories, disks, and partitions
- Requiring approval when remote content flows into a shell or interpreter
- Recognizing dangerous shell actions generated under the influence of untrusted context
- Requiring approval for operations that can destroy the Git worktree, index, branches, or stash
- Recognizing the actual impact of variable expansion, globbing, redirection, pipelines, and working directory changes
The examples below show the default policy. Each check produces exactly one final decision.
| Risk | Harness shell action | Default decision |
| --- | --- | --- |
| Normal inspection command | ls src | Allow |
| File mutation outside the workspace | rm /tmp/other/file | NeedApproval |
| Remote content execution | curl https://example.com/install.sh \| bash | NeedApproval |
| Git local state discard | git reset --hard HEAD~1 | NeedApproval |
| Git untracked file deletion | git clean -fdx | NeedApproval |
| Relative path delete after cd / | cd / && rm -rf etc | Deny |
| System path deletion | rm -rf /etc/* | Deny |
| Disk / partition overwrite | sudo dd if=image.iso of=/dev/sda | Deny |
Working with sandboxes
Caushell handles pre-execution analysis, while a sandbox enforces runtime restrictions. They can be used together.
1. Protecting workspace and Git state
Development workflows usually require a sandbox to allow workspace reads and writes as well as Git commands. Under this configuration, git reset --hard can still discard local work; Caushell can require confirmation or block the action before execution.
2. Identifying file use and data flow
A sandbox can control file read and write permissions, but the risk of a file also depends on how it is used. The same read or write creates different risk relationships when it involves a normal project file, remotely downloaded content, input from outside the workspace, startup configuration, or sensitive configuration. Whether the content flows to the network also affects the decision.
Tests or local runs may need to read .env, while dependency installation or API calls also require network access. Reading sensitive configuration and sending its contents to a remote endpoint forms an exfiltration chain; Caushell can use taint analysis to identify these shell-visible data flows.
3. Making decisions before the process starts
Runtime sandboxing blocks a process after it starts and reaches a restricted boundary. Caushell returns a decision before the shell action executes.
For a combined command, pre-execution analysis can identify a later high-risk operation before the entire action starts, avoiding the execution of earlier commands. It can also require confirmation or block the action before the process produces side effects.
Quick start
Install the Caushell runtime:
curl -fsSL https://github.com/fatmo666/Caushell/releases/latest/download/install.sh | bash export PATH="$HOME/.local/bin:$PATH"
Stable releases are published from v* tags. The installer downloads the latest stable GitHub release by default. To pin a version, set CAUSHELL_VERSION, for example CAUSHELL_VERSION=v0.0.9.
Prebuilt releases support Linux x86_64 as a static binary, macOS x86_64, and Apple Silicon. Windows and Linux ARM64 do not have prebuilt packages yet.
Then install the corresponding Harness integration. In Codex and Claude Code, these integrations are installed as plugins.
Codex
codex plugin marketplace add fatmo666/Caushell codex plugin marketplace upgrade caushell codex plugin add caushell-codex@caushell
Check the installation:
caushell doctor codex
This checks the installed binaries, hook wrapper, runtime/config compatibility, and daemon state. runtime daemon is down is only a warning before the first Harness shell action.
To verify the Codex integration more deeply, run:
caushell doctor codex --smoke
The smoke test checks that Codex sees the enabled caushell-codex plugin, then sends harmless synthetic PreToolUse and PostToolUse hook events through the installed Caushell hook. The success signal is Result: OK.
For normal Codex use, review and trust the Caushell hook in /hooks if Codex asks you to do so.
同分类对比
同一分类下 Star 最高的 5 个,便于横向比较。
| 插件 | 作者 | Star | 版本 | 更新 |
|---|---|---|---|---|
| Mole | tw93 | 74.5K | 0.0.0 | 2026-11-10 |
| DeepSeek-Reasonix | esengine | 36.1K | 0.0.0 | 2026-11-10 |
| dsh-desktop | anywhere-labs | 35.6K | 0.4.1 | 2026-11-06 |
| awesome-dsh-plugin | awesome-dsh-plugin | 24.1K | 0.1.0 | 2026-11-10 |
| dsh-market | dsh-market | 11.8K | 1.73.17 | 2026-11-09 |