shift-camouflage
关于
This skill enables systems to dynamically present different API interfaces and behaviors to different consumers, similar to cuttlefish camouflage. It's used for attack surface reduction, context-aware feature flags, and progressive rollouts by exposing only what each observer needs. The implementation covers environmental assessment, dynamic interface generation, and behavioral polymorphism without core system changes.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/shift-camouflage在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
變形偽裝
實現適應性表面變換——多形介面、上下文感知行為與動態呈現——靈感取自烏賊之色素細胞。系統表面隨環境調適而核心保持穩定,藉此縮減攻擊面並優化與多樣觀察者之互動。
適用時機
- 系統須對不同消費者呈現不同介面(API 版本控管、多租戶、角色分權)
- 透過僅暴露每位觀察者所需以縮減攻擊面
- 於介面層實現功能旗標、漸進式發布或 A/B 測試
- 系統須隨環境上下文調整行為而不更動核心
- 保護內部架構免於外部耦合(觀察者耦合於表面而非結構)
- 補充
adapt-architecture:當表面變更已足夠而深度變換非必要
輸入
- 必要:表面需調適之系統
- 必要:觀察者/消費者及其各自之介面需求
- 選擇性:當前介面設計及其限制
- 選擇性:威脅模型(何者應對哪些觀察者隱藏?)
- 選擇性:功能旗標系統或漸進式發布基礎設施
- 選擇性:效能限制(動態表面生成有開銷)
步驟
步驟一:繪製觀察者全景
辨識誰與系統互動及每位觀察者所需所見。
- 編列所有觀察者:
- 外部用戶(終端用戶、API 消費者、合作夥伴)
- 內部服務(微服務、背景作業、管理工具)
- 對手(攻擊者、爬蟲、競爭對手)
- 監管者(稽核員、合規檢查)
- 為每位觀察者定義:
- 所需所見(必要介面表面)
- 不應所見(隱藏表面)
- 預期所見(相容性表面——可能與所需有別)
- 互動方式(協定、頻率、敏感性)
- 建立觀察者-表面矩陣:
Observer-Surface Matrix:
┌──────────────┬────────────────────────┬─────────────────┬──────────────┐
│ Observer │ Required Surface │ Hidden Surface │ Threat Level │
├──────────────┼────────────────────────┼─────────────────┼──────────────┤
│ End users │ Public API v2, UI │ Internal APIs, │ Low │
│ │ │ admin endpoints │ │
├──────────────┼────────────────────────┼─────────────────┼──────────────┤
│ Partner API │ Partner API, webhooks │ Internal logic, │ Medium │
│ │ │ user data │ │
├──────────────┼────────────────────────┼─────────────────┼──────────────┤
│ Admin tools │ Full API, debug │ Raw data store │ Low │
│ │ endpoints │ access │ │
├──────────────┼────────────────────────┼─────────────────┼──────────────┤
│ Adversaries │ Nothing (minimal) │ Everything │ High │
│ │ │ possible │ │
└──────────────┴────────────────────────┴─────────────────┴──────────────┘
預期: 完整之觀察者全景,含每位觀察者之表面需求。此驅動所有後續偽裝設計。
失敗時: 若觀察者識別不完整,從兩極端開始:最具特權之觀察者(管理員)與最受限者(對手)。為此二者設計表面,再為其間之觀察者插值推斷。
步驟二:設計色素細胞映射
建立觀察者上下文與表面呈現之間之映射——即「色素細胞」層。
- 定義上下文訊號:
- 認證身份 → 決定特權等級
- 請求來源 → 地理、網路或應用上下文
- 功能旗標 → 啟/停特定表面元素
- 時間/階段 → 部署階段、營業時間、維護窗口
- 負載/健康 → 降級模式可能呈現縮減表面
- 設計表面生成規則:
- 對每組上下文訊號之組合,定義各表面元素為:
- 可見:納入回應/介面
- 隱藏:完全排除(連錯誤訊息亦不洩露其存在)
- 變換:存在但為此觀察者修改(不同綱要、簡化資料)
- 誘餌:對抗性上下文中刻意誤導之表面元素
- 對每組上下文訊號之組合,定義各表面元素為:
- 實作色素細胞層:
- 一薄層中介軟體/代理,置於核心系統與觀察者之間
- 每次請求皆評估上下文訊號
- 套用適當之表面配置
- 永不修改核心行為——僅過濾並變換表面
Chromatophore Architecture:
┌──────────────────────────────────────────────────────┐
│ Observer Request │
│ │ │
│ ↓ │
│ ┌─────────────────┐ │
│ │ Context Extract │ ← Auth, origin, flags, time │
│ └────────┬────────┘ │
│ ↓ │
│ ┌─────────────────┐ │
│ │ Surface Select │ ← Observer-surface matrix lookup │
│ └────────┬────────┘ │
│ ↓ │
│ ┌─────────────────┐ │
│ │ Core System │ ← Processes request normally │
│ └────────┬────────┘ │
│ ↓ │
│ ┌─────────────────┐ │
│ │ Surface Filter │ ← Remove/transform/add elements │
│ └────────┬────────┘ │
│ ↓ │
│ Observer Response (adapted surface) │
└──────────────────────────────────────────────────────┘
預期: 色素細胞映射可將觀察者上下文翻譯為表面配置。映射明確、可審計,並與核心邏輯分離。
失敗時: 若映射過於複雜(上下文組合過多),簡化為角色制表面:定義 3-5 種表面組態(公開、合作夥伴、管理員、內部、最小),將每位觀察者映射至其一。
步驟三:實作行為多形性
使系統行為隨上下文調適,非僅其表面外觀。
- 識別上下文相關行為:
- 回應細節等級(管理員詳盡,公開最小)
- 速率限制(合作夥伴寬鬆,未知呼叫者嚴格)
- 錯誤訊息(內部詳細,外部通用)
- 資料新鮮度(高級用戶即時,標準用戶快取)
- 功能可用性(測試者完整,一般用戶僅穩定版)
- 實作行為變體:
- 每變體為完整、經測試之行為路徑
- 上下文決定哪一變體執行
- 變體共享核心邏輯但於呈現與政策上有別
- 功能旗標整合:
- 功能旗標控制哪些行為變體啟用
- 漸進式發布:對部分觀察者開放新行為,逐漸擴大
- 斷路器:若新變體致錯則自動回退至安全行為
預期: 系統行為隨觀察者上下文調適——同一核心邏輯為不同對象產生合適回應。功能旗標支援新行為之漸進式發布。
失敗時: 若行為多形性產生過多代碼路徑,整合為流水線模型:核心邏輯 → 政策層 → 呈現層。多形性僅存於政策與呈現層,核心邏輯保持單一。
步驟四:縮減攻擊面
將對手所能觀察與互動者降至最低。
- 套用最小表面原則:
- 每位觀察者僅見其所需——不多
- 未認證觀察者見到最小可能表面
- 錯誤訊息絕不洩露內部結構(無堆疊追蹤、無內部路徑、無版本號)
- 實作主動表面縮減:
- 移除暴露技術堆疊之預設頁面、標頭與端點
- 隨機化非必要之回應特徵(時序抖動、標頭順序)
- 完全停用未用之 API 端點(非僅隱藏——實際關閉)
- 部署模式擾亂:
- 變化回應特徵以擊敗指紋識別
- 於非功能面引入受控之不可預測性
- 確保功能行為保持確定,而表面特徵變化
- 監測偵察活動:
- 偵測探測隱藏表面之請求模式(列舉攻擊)
- 對重複存取不存在端點告警(路徑模糊測試)
- 跨會話追蹤並關聯偵察模式(見
defend-colony)
預期: 最小化之攻擊面,使對手難以判斷系統技術堆疊、內部結構或隱藏能力。偵察嘗試可被偵測並追蹤。
失敗時: 若表面縮減破壞合法消費者,則觀察者-表面矩陣不完整——合法需求被隱藏。重審步驟一並更新矩陣。若隨機化致問題,將隨機化縮限至非功能面(時序、標頭),並使功能回應保持確定。
步驟五:維持表面一致性
確保動態表面保持一致、可除錯、可維護。
- 表面測試:
- 明確測試每一觀察者組態(管理員是否見到管理員表面?公開是否見到公開表面?)
- 測試表面轉換(會話中觀察者上下文變化時將如何?)
- 測試表面失敗模式(色素細胞層失敗時呈現何種表面?)
- 表面文件:
- 為每一觀察者組態及其表面配置撰寫文件
- 記錄上下文訊號及其對表面選擇之影響
- 使文件與實際行為同步(以實際驗證文件)
- 除錯支援:
- 管理/除錯模式揭示哪一表面組態啟用及原因
- 日誌記錄每次請求所套用之表面配置
- 能透過特定表面組態重播請求以供除錯
- 表面演化:
- 新增表面元素:加至適當組態、測試、部署
- 移除表面元素:棄用警告期,再行移除
- 變更表面行為:以功能旗標控制,漸進式發布
預期: 可維護、可測試、文件完備之表面調適系統。動態本質不犧牲除錯、文件化或演化介面之能力。
失敗時: 若色素細胞層成除錯夢魘,加入透明度:每回應含追蹤標頭(僅管理/除錯組態可見),標明套用之表面組態及決定它之上下文訊號。
驗證
- 已繪製觀察者全景含每位觀察者之表面需求
- 色素細胞映射可將上下文翻譯為表面配置
- 行為多形性使回應隨觀察者上下文調適
- 對抗性觀察者之攻擊面已最小化
- 每一觀察者組態皆明確測試
- 表面失敗模式呈現安全預設(最小表面)
- 除錯/管理模式可檢視當前表面配置
- 表面文件與實際行為相符
常見陷阱
- 表面複雜性爆炸:觀察者組態與變化過多。整合至最多 3-5 組態。多數觀察者可歸入較大類別
- 核心污染:讓表面調適邏輯滲入核心業務邏輯。色素細胞層必須分離——若於核心代碼中加入關於觀察者類型之 if 判斷,架構即錯
- 僅靠隱晦求安全:表面縮減為深度防禦之一層,非取代正規安全控制。隱藏端點仍需認證與授權
- 不一致之表面:觀察者 A 見回應第 1 版,觀察者 B 見第 2 版——但本應見相同。明確測試表面,並使觀察者-表面矩陣為權威來源
- 遺忘失敗表面:色素細胞層自身失敗時,觀察者見到何種表面?預設必為安全(最小表面)非開放(完整表面)
相關技能
assess-form— 表面調適或可解決形態評估識別之壓力,無需深度變換adapt-architecture— 表面調適不足時之深度結構變更repair-damage— 表面調適可於修復期間遮蔽損傷(須謹慎——勿隱藏真實問題)defend-colony— 攻擊面縮減為防禦之一層;偵察偵測饋入防禦coordinate-swarm— 分散式系統中之上下文感知行為需協調之表面調適configure-api-gateway— API 閘道在實務上實現許多色素細胞層功能deploy-to-kubernetes— Kubernetes 服務與入口可實現網路層之表面控制
GitHub 仓库
相关推荐技能
content-collections
元Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
polymarket
元这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
creating-opencode-plugins
元该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
sglang
元SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
