Codex CLI 沙箱实战:安全地让 AI 执行 Shell 命令

Codex CLI 沙箱实战:安全地让 AI 执行 Shell 命令

本系列基于 Codex CLI 源码分析,本文聚焦沙箱的实战使用与安全配置。
全网唯一从 Rust 源码层面拆解 Codex CLI 的系列

一、为什么要学沙箱?

AI 代理需要执行 cargo buildnpm installgit push 等命令。如果不加限制,一个错误的 prompt 可能导致灾难性后果。Codex CLI 的沙箱系统提供多层防护

二、codex sandbox 命令

bash 复制代码
# 在沙箱中执行单条命令
codex sandbox -- ls -la

# 在沙箱中执行脚本
codex sandbox -- bash -c "cargo build && cargo test"

# 指定沙箱类型
codex sandbox --type landlock -- ls -la

# 查看沙箱状态
codex sandbox --status

三、权限配置实战

场景一:个人项目(推荐配置)

toml 复制代码
# ~/.codex/config.toml
[sandbox]
linux = "landlock"
macos = "seatbelt"
windows = "restricted"

[permissions]
permission_profile = "workspace"
allow = [
    "./target",      # Rust 构建输出
    "./node_modules", # Node 依赖
    "/tmp",
    "~/.cargo",      # Rust 工具链
    "~/.npm",        # Node 缓存
]
deny = [
    "./.env",
    "./secrets",
    "~/.ssh",
    "~/.aws",
]

场景二:CI/CD 环境

toml 复制代码
[approvals]
approval_policy = "never"   # CI 中不需要交互

[sandbox]
linux = "bubblewrap"        # 更严格的隔离

[permissions]
permission_profile = "workspace"
allow = [
    "./src",
    "./tests",
    "./target",
    "/tmp",
    "~/.cargo/registry",
]
deny = [
    "./.git/config",
    "/etc",
    "/home",
]

[network]
[[network.domain_permissions]]
host = "crates.io"
action = "allow"
[[network.domain_permissions]]
host = "github.com"
action = "allow"

场景三:学习/实验环境

toml 复制代码
[approvals]
approval_policy = "always"  # 每次操作都确认

[sandbox]
linux = "landlock"

[permissions]
permission_profile = "workspace"
# 不添加任何额外 allow,最严格

四、审批流程

当 AI 尝试执行被限制的操作时:

复制代码
AI 尝试: rm -rf /important/data
    │
    ▼
┌──────────────────────┐
│  Sandbox 拦截         │
│  → 路径不在 allowlist │
└──────┬───────────────┘
       │
       ▼
┌──────────────────────┐
│  Guardian 风险评估    │
│  → 危险等级: HIGH    │
└──────┬───────────────┘
       │
       ▼
┌──────────────────────┐
│  ExecApprovalRequest  │
│  → 弹窗: "AI 尝试    │
│     删除重要数据,    │
│     是否允许?"       │
└──────┬───────────────┘
       │
       ├── Allow ──→ 执行(沙箱内)
       │
       └── Deny ──→ 拒绝,记录违规

五、总结

  • 沙箱是 AI 编程代理的安全底线
  • 根据场景选择合适的安全等级
  • 审批策略提供了人机协作的安全闭环
  • 永远不要在生产环境禁用沙箱

讨论:你遇到过 AI 误删文件的情况吗?欢迎分享你的经历。

相关推荐
回眸&啤酒鸭1 天前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智1 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
AI的探索之旅1 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein1 天前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu1 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
美狐美颜SDK开放平台1 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
wukangjupingbb1 天前
智能网联汽车安全能力框架
人工智能
龙亘川1 天前
明月照湾区,智启新赛道:从顶流文旅IP盛会看智慧文旅升级路径
人工智能·智慧城市·开源软件·数据可视化
飞猫的边缘AI1 天前
边缘AI应用:家用AI摄像头怎么做数据训练?
人工智能·边缘计算·ai算法·边缘ai