Capability Composition Analyzer
/install capability-composition-analyzer
\r \r
Your Agent Has 12 Skills. Together, They Can Do Things None of Them Should.\r
\r
Helps identify when individually benign skills compose into dangerous capability\r combinations — the attack surface that per-skill auditing cannot see.\r \r
Problem\r
\r A skill that reads files is benign. A skill that sends HTTP requests is benign.\r An agent that has both can exfiltrate files — and no individual skill audit will\r flag it, because neither skill is doing anything wrong on its own.\r \r This is the capability composition problem. Agent security tooling inherited from\r software security tends to analyze skills in isolation: does this skill request\r excessive permissions? does this skill contain malicious code? These are the right\r questions for individual skills. They are the wrong questions for understanding\r what an agent can do.\r \r What an agent can do is the product of its capability set, not the sum of\r individual skill assessments. An agent with twelve benign skills may have\r emergent capabilities that no skill declared and no auditor reviewed. A poisoned\r skill dropped into that composition inherits everything the agent can already\r reach — and the blast radius is determined by the composition, not the skill.\r \r The attack surface that matters is not what any individual skill can do. It is\r what the agent's combined capability set enables.\r \r
What This Analyzes\r
\r This analyzer examines capability composition risk across five dimensions:\r \r
- Dangerous pairs — Which pairs of capabilities in the agent's skill set create\r risk when combined? read-files + send-HTTP, execute-code + network-access,\r read-environment + write-logs are canonical examples. The analyzer checks for\r known dangerous compositions and flags novel combinations that share structural\r properties with them\r \r
- Emergent capability surface — What capabilities does the agent effectively\r have that no individual skill declared? A skill that can read arbitrary paths\r and a skill that resolves environment variables together create an effective\r "read secrets" capability that neither declared\r \r
- Inheritance amplification — If a poisoned skill is injected into this agent,\r what capabilities does it immediately inherit? The inherited capability set\r determines the potential blast radius of any single skill compromise\r \r
- Permission declaration gaps — Where does the agent's effective capability\r exceed its declared permissions? Gaps indicate either undeclared scope or\r capability composition the publisher did not model\r \r
- Composition change velocity — How often is the agent's skill set changing?\r Rapidly changing compositions create new dangerous combinations faster than\r audits can track them\r \r
How to Use\r
\r Input: Provide one of:\r
- An agent's declared skill list with capability metadata\r
- Two or more skills to analyze for dangerous composition\r
- An agent's permission declarations to check against its effective capability set\r \r Output: A composition risk report containing:\r
- Dangerous pair inventory (known + structurally novel)\r
- Emergent capability surface (undeclared effective capabilities)\r
- Inheritance amplification score for each skill slot\r
- Permission declaration gap assessment\r
- Composition risk level: SAFE / ELEVATED / HIGH / CRITICAL\r \r
Example\r
\r
Input: Analyze capability composition for agent with skills:\r
file-reader, http-requester, env-resolver, log-writer, code-executor\r
\r
🔗 CAPABILITY COMPOSITION ANALYSIS\r
\r
Agent skill set: 5 skills\r
Declared permissions: file-read (scoped), network-outbound (scoped)\r
Audit timestamp: 2025-05-01T09:00:00Z\r
\r
Dangerous pair inventory:\r
file-reader + http-requester: ⚠️ HIGH\r
Effective capability: file exfiltration\r
Neither skill declares exfiltration intent\r
Path: read arbitrary file → send as HTTP body/parameter\r
\r
env-resolver + http-requester: ⚠️ HIGH\r
Effective capability: credential exfiltration\r
Environment variables commonly contain API keys, tokens\r
Path: resolve $API_KEY, $DB_PASSWORD → send outbound\r
\r
code-executor + network-access: 🔴 CRITICAL\r
Effective capability: arbitrary remote code execution staging\r
Path: fetch payload → execute locally\r
\r
log-writer + file-reader: ✅ LOW\r
No dangerous composition identified\r
\r
Emergent capability surface (undeclared):\r
- Secret exfiltration (env + HTTP) — not declared in any skill\r
- Arbitrary file exfiltration (file + HTTP) — scope exceeds declared "scoped"\r
- RCE staging (executor + network) — not declared\r
\r
Permission declaration gaps:\r
Declared: file-read (scoped to /app/data)\r
Effective: file-reader can access any path agent process can read\r
Gap: declared scope not enforced at composition level\r
\r
Inheritance amplification:\r
If any skill slot is compromised, attacker inherits:\r
- File read (all accessible paths)\r
- Outbound HTTP (all accessible endpoints)\r
- Environment variable access\r
- Code execution\r
Combined: full agent compromise with exfiltration path\r
\r
Composition risk level: CRITICAL\r
Five individually-audited skills compose into an effective\r
remote access and exfiltration toolkit. No individual audit\r
would flag this — it is only visible at the composition level.\r
\r
Recommended actions:\r
1. Apply capability isolation: skills that read files should not\r
have access to network-capable skills' output channels\r
2. Scope network-outbound to specific allowlisted endpoints\r
3. Add composition policy: no agent should hold both arbitrary\r
file-read and arbitrary network-outbound simultaneously\r
4. Audit any agent inheriting this skill set for composition drift\r
```\r
\r
## Related Tools\r
\r
- **blast-radius-estimator** — Estimates propagation impact if a skill is\r
compromised; capability-composition-analyzer determines what the compromised\r
skill immediately inherits\r
- **permission-creep-scanner** — Detects individual skills requesting excessive\r
permissions; composition analyzer detects dangerous emergent capabilities\r
across multiple appropriately-scoped skills\r
- **observer-effect-probe** — Tests runtime evasion; a skill exploiting composition\r
risk may only activate the dangerous path after establishing context\r
- **runtime-attestation-probe** — Validates runtime behavior; composition risk\r
manifests at runtime when capabilities are exercised together\r
\r
## Limitations\r
\r
Capability composition analysis requires accurate capability metadata for all\r
skills in the agent's composition. Skills that do not declare capabilities\r
accurately — or that acquire capabilities dynamically at runtime — will produce\r
incomplete composition maps. The dangerous pair inventory covers known\r
composition risks; novel compositions with no prior pattern may not be flagged.\r
Effective capability analysis is necessarily conservative: it identifies what\r
the composition could do, not what it will do. False positives are expected for\r
agents where dangerous capability pairs exist but are operationally isolated by\r
other means. Composition analysis is a complement to per-skill auditing, not a\r
replacement — individual skill integrity remains necessary even when composition\r
risk is low.\r
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install capability-composition-analyzer - 安装完成后,直接呼叫该 Skill 的名称或使用
/capability-composition-analyzer触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Capability Composition Analyzer 是什么?
Helps identify dangerous capability combinations that emerge when agent skills are composed — catching the class of risk where no individual skill is harmful... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 410 次。
如何安装 Capability Composition Analyzer?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install capability-composition-analyzer」即可一键安装,无需额外配置。
Capability Composition Analyzer 是免费的吗?
是的,Capability Composition Analyzer 完全免费(开源免费),可自由下载、安装和使用。
Capability Composition Analyzer 支持哪些平台?
Capability Composition Analyzer 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Capability Composition Analyzer?
由 andyxinweiminicloud(@andyxinweiminicloud)开发并维护,当前版本 v1.0.0。