Claude Code 的沙箱默认允许 agent 读取你的 SSH 密钥和 AWS 凭证。Aegis 不会。
两层防护,均已在真实硬件上验证。
内核沙箱——agent 自身的 shell 无法访问被拒绝的路径:
$ ! cat ~/.ssh/id_rsa
cat: /Users/you/.ssh/id_rsa: Operation not permitted
$ ! cat ~/.aws/credentials
cat: /Users/you/.aws/credentials: Operation not permitted
$ tail ~/Library/Application\ Support/Aegis/denials.log
kernel denied file-read-data /Users/you/.ssh/id_rsa to cat(pid 41560)
kernel denied file-read-data /Users/you/.aws/credentials to cat(pid 42180)
MCP 代理——同一工具、同一文件,有和没有 Aegis 在前面对比:
direct to the server: allowed: TOKEN=proof-env-secret
through aegis proxy: AEGIS DENIED: read_text_file
Reason: path matches deny rule '.env'
Rule: deny_paths
位于你的 AI 编码 agent 和你的机器之间:
cat .env 无法绕过aegis doctor 进行完整性检查,并从沙箱外部使用沙箱无法读取或写入的密钥进行检查点记录初次使用?docs/getting-started.md 是分步指南,包括两个默认答案为“否”的问题。
之前按照说明安装了 aegis-mcp? 那个包不是 Aegis——它是一个不相关的项目,以相同的导入名 aegis 安装。请先移除它:
python3 -m pip uninstall aegis-mcp
如果 aegis-sandbox 已经安装,该卸载操作也会删除它的两个文件,因此之后请重新安装:python3 -m pip install --force-reinstall aegis-sandbox。
python3 -m pip install aegis-sandbox
aegis init # detects Claude Code / Cursor, asks a few questions
aegis doctor # proves the boundary is actually in place
升级? 重新运行 aegis init。你的 policy.json 属于你自己,绝不会在你不知情的情况下被重写,因此新的沙箱域不会自动出现——而且如果没有 OAuth token 端点,沙箱客户端在其 token 过期时会停止工作。aegis init 会提供新的主机;接受只需按一次键。
aegis init 之前登录 Claude Code;如果被包装的客户端未登录,aegis doctor 会失败完整威胁模型:THREAT-MODEL.md
MIT