Back to skill

Security audit

Self Health Monitor

Security checks for vulnerabilities and agentic risk

Overview

This self-monitoring skill is not malicious, but it asks the agent to automatically inspect sensitive internal state and perform undefined self-repair without clear limits.

Install only if you are comfortable with an agent periodically reviewing its own memory metadata, task/sub-agent status, and skill inventory. Before use, require the skill to limit reports to aggregate telemetry, avoid reading memory contents or task payloads, define alert recipients, and require explicit approval for any repair action.

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:23
Finding
Overbroad Inspection and Reporting of Sensitive Agent State## Vulnerability Details **File Location**: `SKILL.md`, lines 23-31 **Vulnerability Type**: T05: Unauthorized Access and Privilege Escalation **Risk Level**: Medium ### Relevant Source Excerpt The following is an English translation of the relevant documentation: ```markdown ### 2. Memory Usage - Memory file size - Most recently updated files - Whether important information has been omitted ### 3. Sub-Agent Activity - Number of currently running sub-Agents - Recently completed tasks - Whether any tasks are stuck ``` Additional monitoring of installed capabilities is specified at `SKILL.md`, lines 38-41: ```markdown ### 5. Capability Tree Status - Number of skills - Newly added skills - Skill health status (whether they can be loaded) ``` ### Technical Analysis The Skill directs the Agent to inspect memory files, recent tasks, sub-Agent activity, and installed skills. These sources may contain sensitive operational state, user context, task payloads, internal paths, identifiers, or details about available capabilities. In particular, determining whether “important information has been omitted” is not limited to collecting health metrics. It may require reading and interpreting memory contents. Likewise, reporting recently completed or stuck tasks may expose task details rather than aggregate availability information. This exceeds the least privilege required for a basic health monitor, which would ordinarily need only non-content metrics such as counts, timestamps, status codes, and durations. The package contains no executable scripts, so it does not itself implement a permission bypass or remote exfiltration channel. The risk arises when a capable Agent follows these instructions using its existing access to memory, task records, and skill inventories. ### Attack Path 1. The Agent loads the `self-health-monitor` Skill. 2. The documented workflow schedules monitoring every 30 minutes, as speci ...[truncated 1382 chars]
Remediation
## Remediation Suggestions 1. Restrict monitoring to aggregate, non-content metrics, such as file counts, total storage usage, timestamps, task counts, status codes, and response durations. 2. Explicitly prohibit reading memory contents or task payloads as part of routine health checks. 3. Remove or narrowly redefine the requirement to determine whether important information has been omitted. 4. Require explicit authorization before inspecting task history, memory contents, or installed capability inventories. 5. Apply least-privilege access controls so the monitor can access only dedicated health telemetry interfaces. 6. Redact file paths, task descriptions, user content, Agent identifiers, and skill names from reports unless specifically required. 7. Define approved report recipients and prevent proactive alerts from being sent to untrusted channels. 8. Establish retention limits and access controls for generated reports and monitoring logs. 9. Document failure behavior so unavailable metrics are reported as unavailable rather than triggering broader filesystem or state inspection.
Vulnerability Patterns
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Natural-Language Policy Violations

Medium
Confidence
88% confidence
Finding
The natural-language content of the skill is entirely in Chinese, including the description, workflow, and output format, with no indication that users may choose another language. Under the policy, forcing a specific language without user opt-in is a locale/language policy violation unless clearly justified as region-specific.

Intent-Code Divergence

Medium
Confidence
95% confidence
Finding
The skill is presented as a monitoring/reporting capability, but it also states it will 'repair itself immediately' when issues are found. That expands scope from passive observation to autonomous action, which can trigger unreviewed state changes, interfere with other agents, or hide failures without operator approval. In a self-monitoring skill, this mismatch is more dangerous because it targets the agent's own execution, memory, and sub-agent activity.

Natural-Language Policy Violations

Low
Confidence
89% confidence
Finding
The skill description is written entirely in Chinese and provides no indication that users can choose another language or locale. Under the policy, language constraints should be optional or clearly justified; here the file gives no user opt-in or justification for a Chinese-only interaction.

Static analysis

No suspicious patterns detected.