بنقرة واحدة
cc-security-patterns
AI Agent 安全設計模式 — 基於 Claude Code 七層縱深防禦架構的逆向分析。Use when: 設計工具安全機制、實作命令過濾、建構權限模型、設計 sandbox。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
AI Agent 安全設計模式 — 基於 Claude Code 七層縱深防禦架構的逆向分析。Use when: 設計工具安全機制、實作命令過濾、建構權限模型、設計 sandbox。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when writing, reviewing, or deciding what to post on Threads. Also triggers when planning post-viral strategy or checking posting timing. Runs pre-publish checks based on Meta algorithm patents.
Use when predicting Threads post performance, analyzing post history patterns, estimating engagement ceiling for a draft, or deciding what content type to write next. Works with or without personal data — uses darkseoking benchmark as fallback.
Claude Code 專案配置審計。觸發:review/優化 CLAUDE.md、skills、settings、定期清洗累積內容、新專案上線前檢查。
Agent 配置設計指南 — 基於 Claude Code 6 個 built-in agent 的逆向分析。Use when: 設計新 agent、優化現有 agent prompt、決定工具/模型配置、撰寫 dispatch prompt。
AI Agent 成本工程 — 基於 Claude Code 的成本追蹤、prompt cache 最佳化、token 預算控制逆向分析。Use when: 優化 token 消耗、設計成本控制機制、分析 cache 效率、選擇模型配置。
Harness Engineering 設計模式 — 基於 Claude Code 原始碼逆向分析的 12 條可遷移原則。Use when: 設計 agent 系統架構、實作 tool orchestration、設計 context 管理策略、建構 agent loop。
| name | cc-security-patterns |
| description | AI Agent 安全設計模式 — 基於 Claude Code 七層縱深防禦架構的逆向分析。Use when: 設計工具安全機制、實作命令過濾、建構權限模型、設計 sandbox。 |
| version | 202603 |
| context | fork |
基於 Claude Code v2.1.88 的安全機制逆向分析(bashSecurity 2592 行 + bashPermissions 2621 行 + 3 份 readOnlyValidation)。
[1] Schema Validation (Zod) — 型別正確嗎
[2] Custom validateInput() — 業務邏輯合理嗎
[3] Input Sanitization — 有危險字元嗎
[4] PreToolUse Hooks — 外部規則要攔嗎
[5] Permission Resolution — 使用者授權了嗎
[6] Actual Execution — 最後才執行
[7] PostToolUse Hooks — 執行後通知/記錄
原則:每層只問「能否拒絕」。拒絕即停。執行邏輯永遠在最後一層。
Claude Code 安全系統最重要的威脅模型:harness 的 parser 和實際執行環境的 parser 對同一個字串有不同理解。
shell-quote 解析: FOO=bar rm -rf / → 三個 token
bash 實際執行: FOO=bar rm -rf / → 設定環境變數後執行 rm
23 個 Bash validator 中超過一半是針對這種差異。
防禦原則:
TREE_SITTER_BASH feature flag)取代字串解析Claude Code 的 Bash 安全:
例:git 命令的 -S 旗標
-S 在 git log 中是安全的(搜尋 diff)
-S 在 git diff 中可能不安全(接受程式碼作為引數)
→ 旗標白名單需要 per-command 定義
// Allow 路徑:只剝除非白名單的 env vars
const sanitized = stripNonWhitelistedEnvVars(command, SAFE_ENV_VARS)
// Deny 路徑:剝除所有 env vars(更激進)
const sanitized = stripAllEnvVars(command)
原因:FOO=bar denied_cmd 可以繞過基於命令名稱的 deny 檢查。Deny 時全部剝除,再檢查剝除後的命令。
| 層 | 檔案 | 行數 | 覆蓋 |
|---|---|---|---|
| Bash | readOnlyValidation.ts | 1990 | Unix shell 命令 |
| Shell 共用庫 | readOnlyCommandValidation.ts | 1893 | 跨 shell 通用邏輯 |
| PowerShell | readOnlyValidation.ts | 1823 | Windows PS 命令 |
每份都獨立維護一套白名單,因為不同 shell 的命令語義差異太大。
| 平台 | 技術 | 特點 |
|---|---|---|
| Linux | bubblewrap (bwrap) | namespace 隔離、唯讀 bind mount |
| macOS | sandbox-exec | seatbelt profile,Apple 原生 |
兩套路徑語義差異(已知問題 #30067):
~/project/**)/home/user/project)裸 repo 逃脫防護:偵測 .git 是檔案(非目錄)時,追蹤 gitdir: 指向的實際 repo 路徑。
// 5 個並發決策源,ResolveOnce 保護
const decision = await ResolveOnce.race([
classifierDecision, // AI 分類器
hookDecision, // 使用者 hook
ruleDecision, // 預設規則
channelDecision, // 手機批准
interactiveDecision, // 終端 UI
])
第一個回應的決策源贏,其餘取消。
cyberRiskInstruction.ts 的設計:
詳見 references/validator-rules.md 和 references/threat-model.md。