Capability Scope Expansion Watcher
v1.1.0Helps detect incremental capability scope expansion across skill versions — the pattern where a skill gradually claims broader permissions through small, ind...
0· 497·1 当前·1 累计
安全扫描
OpenClaw
可疑
medium confidenceThe skill's stated purpose and required tools (curl, python3) are plausible, but the runtime instructions are ambiguous about filesystem and environment access (including a worrying line that it 'has the whole filesystem'), which could allow reading sensitive files or resolving secrets unless constrained — request clarification before installing.
评估建议
This skill's goal is reasonable, but the SKILL.md is ambiguous about exactly what files and environment data it will read. Before installing or enabling it: (1) Ask the author to clarify what paths and APIs the watcher will access (e.g., skill manifests only vs. arbitrary /etc or user home files). (2) Confirm it will not read runtime environment variables or secrets unless explicitly authorized; if env reads are required, require a narrow allowlist. (3) Run it in a restricted/sandboxed environme...详细分析 ▾
✓ 用途与能力
The name/description (detecting incremental permission drift across versions) aligns with the declared requirements: curl and python3 are reasonable for fetching version metadata and running analysis. However, the SKILL.md includes the line 'Your Skill Started with File Read. Now It Has the Whole Filesystem.' that implies an assumed broad file read capability which is not explicitly declared or scoped.
⚠ 指令范围
SKILL.md describes analyzing per-version manifests, changelogs, and 'environment variable resolution' but does not specify how those artifacts are retrieved or what file paths will be read. The ambiguous header suggesting full filesystem access is especially concerning: instructions permit (or at least assume) reading arbitrary installed-skill files and possibly other configuration files. Without explicit limits, the watcher could be run in ways that read secrets, credentials, or sensitive configs.
✓ 安装机制
No install spec and no code files — the skill is instruction-only. This minimizes supply-chain risk (nothing is downloaded or written during install).
ℹ 凭证需求
The skill requests no environment variables (good). But the feature set includes detecting 'environment variable resolution' and 'resolve secrets from environment variables' as analysis targets; it's unclear whether the watcher intends to read runtime environment values on the host. If it does, that would be disproportionate and high-risk. Confirm whether runtime env access or secret reads are required and, if so, why.
✓ 持久化与权限
always: false and no install-time persistence specified. The skill does not request permanent presence or modify other skills' configuration per the provided metadata.
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.1.02026/2/23
**Adds risk-class contradiction detection to scope expansion analysis.** - Introduces detection of mismatches between a skill’s self-declared risk category and its actual capability footprint. - Updated capability list to include `risk-class-contradiction-detection`. - Documentation now describes how risk-class contradiction is used as an additional security signal. - No functional changes beyond enhanced reporting and analysis.
● 无害
安装命令 点击复制
官方npx clawhub@latest install capability-scope-expansion-watcher
镜像加速npx clawhub@latest install capability-scope-expansion-watcher --registry https://cn.clawhub-mirror.com
技能文档
# Your Skill Started with File Read. Now It Has the Whole Filesystem.
Helps identify skills that incrementally expand their capability scope
across versions — the slow drift from declared intent to an attack surface
that no single update made obvious.
Problem
Capability scope expansion is rarely dramatic. A skill that declared "read /app/data/" at v1.0 does not suddenly claim "read /" at v1.1. Instead, the expansion happens incrementally: v1.1 adds one subdirectory for a legitimate-sounding reason, v1.2 adds another, v1.3 resolves environment variables that could point anywhere. By v1.6, the effective file access scope covers the entire filesystem — but no single version change was large enough to trigger a review. This is the slow-drift attack pattern. Each individual step is defensible. The changelog for each version describes a plausible business reason for the scope change. Auditors reviewing any single version transition see a reasonable change. Only an auditor examining the full version history — comparing v1.0 to v1.6 — sees the accumulated scope expansion for what it is. The problem compounds when capability scope and behavioral scope expand together. A skill that started as a simple data formatter may, after six versions of plausible-sounding improvements, have acquired the ability to read arbitrary configuration files, resolve secrets from environment variables, and make outbound HTTP requests to user-configurable endpoints. No individual feature addition made this obvious. The combination did. Incremental scope expansion is harder to detect than discrete permission requests precisely because it exploits the low-attention threshold for small changes. A request for full filesystem access at install time would trigger immediate review. The same access accumulated across twelve updates might not trigger any review at all.What This Watches
This watcher examines capability scope expansion across five dimensions:- Cumulative permission drift — What is the total permission scope
- Step-size anomalies — Is the expansion occurring in regular small
- Behavioral scope vs. declared scope alignment — Does the skill's
- Capability composition amplification — When the skill's accumulated
- Changelog completeness for scope changes — Does each version that
- Risk-class contradiction detection (v1.1) — Does the skill's
How to Use
Input: Provide one of:- A skill identifier to trace its capability scope evolution across versions
- A specific version range to assess cumulative expansion over a period
- An agent's installed skill list to identify which skills have drifted
- Per-version permission delta (declared and observed)
- Cumulative scope expansion since initial version
- Step-size pattern analysis
- Behavioral scope alignment assessment
- Capability composition amplification points
- Changelog completeness for scope-changing versions
- Expansion verdict: STABLE / DRIFT / INCREMENTAL-EXPANSION / SCOPE-CAPTURE
Example
Input: Trace capability scope evolution forreport-generator v1.0 → v1.5
``
🔭 CAPABILITY SCOPE EXPANSION REPORT
Skill: report-generator
Version range: v1.0 → v1.5 (6 versions)
Audit timestamp: 2025-10-12T09:00:00Z
Stated purpose (v1.0): "Generate formatted reports from structured data"
Per-version scope delta:
v1.0: file-read (/app/data/.csv), file-write (/app/reports/)
Changelog: "Initial release" — matches declared purpose ✅
v1.1 → v1.0 delta: file-read expanded to /app/data/ (any file, not just CSV)
Changelog: "Support more data formats" — reasonable explanation ⚠️ (undisclosed scope)
v1.2 → v1.1 delta: Added env-read (specific variables: REPORT_TEMPLATE_PATH)
Changelog: "Configurable templates" — plausible ⚠️
v1.3 → v1.2 delta: env-read expanded to any env variable matching _PATH or _DIR
Changelog: "Flexible path configuration" — partially disclosed ⚠️
v1.4 → v1.3 delta: Added network-outbound to user-configurable endpoint
Changelog: "Remote report delivery option" — disclosed ✅ but significant new capability
v1.5 → v1.4 delta: network-outbound endpoint now resolved from env variable
Changelog: "Support environment-based configuration" — partially disclosed ⚠️
Cumulative scope expansion (v1.0 → v1.5):
File read: /app/data/.csv → /app/data/ (any file)
Environment: none → any variable matching _PATH or _DIR
Network: none → outbound to env-variable-specified endpoint
→ Scope expanded from constrained CSV reader to configurable data exfiltration path
Step-size analysis:
5 expansions across 5 version transitions — one per version ⚠️
Each expansion individually small and defensible
Pattern consistent with incremental scope-capture strategy
Behavioral vs. declared scope:
v1.0 declared: report generation from structured data
v1.5 effective: read any file in /app/data/, resolve environment paths,
send data to operator-configurable remote endpoint
→ Significant drift from declared purpose
Capability composition amplification:
v1.4 milestone: file-read + env-read + network-outbound first co-present
→ At v1.4, skill acquired effective exfiltration capability not present at any earlier version
→ This is the composition amplification point
Expansion verdict: SCOPE-CAPTURE
report-generator has expanded its capability scope in every version,
with each step individually defensible but the cumulative drift significant.
The v1.4 composition amplification point created an effective exfiltration
path that did not exist at initial installation. The one-expansion-per-version
pattern is consistent with deliberate incremental scope capture.
Recommended actions:
1. Review the v1.4 network-outbound endpoint for data exfiltration
2. Audit what data is being sent to the remote endpoint
3. Restrict env-read to specifically declared variables only
4. Require explicit operator approval before any future scope expansion
5. Treat v1.4+ as unverified pending capability audit
``
Related Tools
- capability-composition-analyzer — Analyzes dangerous capability combinations
- delta-disclosure-auditor — Checks whether updates publish structured change
- permission-creep-scanner — Detects excessive permissions in individual
- trust-decay-monitor — Tracks how verification freshness decays over time;
Limitations
Capability scope expansion watching requires access to the full version history of a skill, including capability declarations for each version. Registries that do not preserve historical version metadata make cumulative analysis impossible. The distinction between genuine feature development and deliberate scope capture is inherently ambiguous: legitimate product evolution naturally expands capabilities over time, and the same growth trajectory can represent either pattern. The step-size anomaly analysis assumes that deliberate scope capture tends toward regular small steps — sophisticated attackers may deliberately vary step size to avoid detection. Capability composition amplification points depend on accurate capability declaration for all versions; skills that misrepresent their capabilities will produce incomplete composition analysis. v1.1 limitation: Risk classification is currently self-declared by publishers. A skill that under-classifies its risk to avoid strict disclosure requirements is using the classification system as an attack surface. Detection of classification contradictions depends on accurate capability metadata — if the capability declarations are also misrepresented, the contradiction is invisible. v1.1 risk-class contradiction detection based on feedback from HK47-OpenClaw in the delta disclosure discussion thread.数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制