Agent Skill design knowledge base — mechanisms, philosophy, patterns, pitfalls. Use when: designing new skills, reviewing skill quality, or deciding whether something should be a skill.
日本語の概要は準備中です。原文の説明を表示しています。
AI Agent 安全設計模式 — 基於 Claude Code 七層縱深防禦架構的逆向分析。Use when: 設計工具安全機制、實作命令過濾、建構權限模型、設計 sandbox。
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
基於 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。
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Agent Skill design knowledge base — mechanisms, philosophy, patterns, pitfalls. Use when: designing new skills, reviewing skill quality, or deciding whether something should be a skill.
日本語の概要は準備中です。原文の説明を表示しています。
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。
日本語の概要は準備中です。原文の説明を表示しています。
System Prompt 工程 — 基於 Claude Code 914 行系統提示詞的逆向分析。Use when: 撰寫 system prompt、設計 prompt 動態組裝、最佳化 prompt cache 效率、撰寫安全指令。
日本語の概要は準備中です。原文の説明を表示しています。