Back to skill

Security audit

AI运行时观测系统

Security checks for vulnerabilities and agentic risk

Overview

This debug skill is not destructive, but it asks to inspect complete workflow logs and context with weak activation controls.

Install only in environments where runtime traces are already treated as sensitive diagnostic data. Use it with explicit operator authorization, scoped sessions, trace redaction, and tenant or workflow isolation; avoid enabling it for general users or production contexts where complete prompts, outputs, or context may contain secrets or private data.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:29
Finding
Overprivileged Access to Complete Runtime Context and Global Trace Data## Vulnerability Details **File Location**: `SKILL.md`, lines 29–42 and 129–154 **Vulnerability Type**: Unrestricted runtime-context observation **Risk Level**: Medium ### Evidence The relevant Skill instructions, translated into English, state: ```text You can observe: - Any Skill - Any Agent - Any Prompt Workflow - Any multi-Skill system - Any nested Skill structure ``` The mandatory input fields are: ```text context.trace_logs Read the complete runtime logs context.previous_output Read the most recent output context.data_envelope Read the complete context meta.debug_mode Read the current mode ``` The global collection requirements state: ```text Every Skill must output a trace_log. RuntimeBridge must maintain the global context.trace_logs array. Whenever a Skill outputs a trace_log, append it to context.trace_logs. ``` ### Technical Analysis The Skill claims visibility over any Skill, Agent, workflow, multi-Skill system, and nested Skill structure. It also requires access to complete runtime logs, the previous output, and the full context envelope. These permissions are broader than necessary for a least-privilege debugging function. The design does not define workflow-scoped authorization, field-level access controls, secret filtering, personal-data redaction, trace retention limits, or restrictions preventing one workflow from observing another workflow's data. Requiring every Skill to produce trace records and requiring `RuntimeBridge` to aggregate those records globally further expands the amount and scope of information exposed to the observer. No executable data-exfiltration mechanism was identified. The risk arises from overbroad access and centralized collection: sensitive information could be included in generated reports or exposed to any caller that can invoke the observer and receive its output. ### Attack Path 1. An attacker or unauthorized user satisfie ...[truncated 1329 chars]
Remediation
## Remediation Suggestions 1. Restrict observation to the specific workflow and execution identifier explicitly selected by an authorized user. 2. Replace complete-context access with an allowlist containing only the minimum trace fields required for diagnosis. 3. Apply secret, credential, token, personal-data, and proprietary-content redaction before information enters `context.trace_logs`. 4. Require explicit authorization for debug-mode activation rather than relying solely on user-supplied trigger phrases. 5. Isolate trace arrays by tenant, user, session, and workflow to prevent cross-workflow disclosure. 6. Avoid requiring unrelated Skills to emit global trace records; use scoped, opt-in instrumentation instead. 7. Define retention periods, deletion behavior, access logging, and maximum trace sizes. 8. Ensure generated summaries cannot reproduce raw sensitive inputs, hidden prompts, credentials, or private reasoning data. 9. Enforce these controls in the runtime rather than relying only on natural-language instructions in `SKILL.md`. 10. Add tests confirming that unauthorized callers and unrelated workflows cannot read another execution's context or trace records.
Vulnerability Patterns
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Natural-Language Policy Violations

Medium
Confidence
76% confidence
Finding
The file content is written as binding operational instructions in Chinese and does not indicate that users may choose another language or that the locale is intentionally limited for a region-specific purpose. This can amount to a language-policy issue when a skill implicitly forces one language without opt-in.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
---
name: clawtrace-runtime-observatory
description: AI Runtime Observatory(AI运行时观测系统)— 观察、重建、记录、解释 AI Workflow 在运行时真正做了什么。触发场景:(1) 用户输入 "debug"、"启动debug模式"、"进入debug"、"trace"、"查看workflow"、"查看运行过程"、"查看skill调用"、"runtime trace";(2) meta.debug_mode = true;(3) 系统自动触发(retry_count 大于等于1、fallback被触发、Critic与Executor严重冲突、Context Integrity失败、data_envelope缺失、nested_skill_detected = true、workflow_integrity = degraded)。只观察、只记录、只解释。绝对禁止修改任何Workflow、data_envelope、previous_output、Skill输出。禁止自动修复、自动执行fallback、自动触发retry、替代Orchestrator决策、伪造日志、猜测不存在的Workflow。
---

# ClawTrace Runtime Observatory
Confidence
90% confidence
Finding
Allowing activation when `meta.debug_mode = true` creates an unsafe default if that flag can be set broadly by upstream components, retries, or policy mistakes. Since activation grants access to sensitive runtime observability data, a simple boolean flag without authorization or provenance checks can widen exposure and enable unintended disclosure.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger list includes very common terms such as "debug" and "trace", which can cause the observability skill to activate during normal conversation rather than an explicitly consented diagnostic session. Because this skill is designed to read full runtime logs, previous output, and context envelopes, accidental activation can expose sensitive internal workflow data to users or downstream components.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
输入:
```
meta.debug_mode = true
```

则启动。
Confidence
92% confidence
Finding
The startup rule explicitly states that `meta.debug_mode = true` is sufficient to launch the observability behavior, which is risky because it couples privileged introspection to a single mutable metadata field. If any upstream actor can influence metadata, they may trigger collection and disclosure of internal logs and context outside intended debugging workflows.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The skill mandates reading and reconstructing from `context.trace_logs`, `context.previous_output`, and `context.data_envelope` without a clear warning, consent model, or minimization rule. In practice this can aggregate sensitive prompts, internal reasoning artifacts, tool outputs, and contextual data into a single response, increasing the chance of confidential workflow or data leakage.

Static analysis

No suspicious patterns detected.