Back to skill

Security audit

Skill Registry | 技能注册表

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed local skill registry, but it persistently changes agent routing and can auto-load other skills from broad trigger words without strong user control.

Install only in a workspace where you are comfortable exposing the list of installed skills and allowing persistent trigger-based routing. Prefer explicit commands such as /skills, require confirmation before executing matched skills, and avoid broad triggers for any skill that can read private files, use credentials, access the network, or change state.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Rogue AgentSelf-Modification, Session Persistence
  • 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 (15)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The trigger phrases include very generic requests like 'what skills' and '你会什么', which can easily overlap with normal conversation and cause unintended activation of the registry skill. This is primarily a routing integrity issue: it can expose available capabilities or divert user requests into skill enumeration when the user did not explicitly intend that.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The listed triggers such as 'example, demo' are vague and may match incidental user language rather than a deliberate invocation. In a trigger-word routing system, overly broad keywords increase accidental execution and can make downstream skill selection unreliable or manipulable.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The registry skill is configured with broad generic terms like 'skills' and '技能' without additional constraints, so ordinary discussion about skills may trigger disclosure of the registry. This can facilitate unnecessary capability discovery and weaken routing precision across the workspace.

Content

No source excerpt is available for this finding.

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
84% confidence
Finding

The file explicitly instructs the agent to list skills by category and read specific skills/XX/SKILL.md files on request, which enables structured skill enumeration. In environments where skills may contain sensitive operational details, exposing the registry and file paths can help an attacker map available capabilities and target higher-risk skills.

Content

Scanner excerpt · REGISTRY.template.md (reported line 48)May include surrounding context.

md
When user asks about skills:
1. "All skills" → List by category (brief)
2. Specific domain (e.g., "video skills") → Return that category only
3. "How to use XX" → Read `skills/XX/SKILL.md`

用户询问技能时:
1. "所有技能" → 按分类简要列出

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
84% confidence
Finding

The Chinese-language instructions mirror the same enumeration behavior, allowing skill discovery and direct lookup of skills/XX/SKILL.md. Because the behavior is duplicated across languages, the attack surface is broader and easier to trigger through multilingual prompts.

Content

Scanner excerpt · REGISTRY.template.md (reported line 53)May include surrounding context.

md
用户询问技能时:
1. "所有技能" → 按分类简要列出
2. 特定领域(如"视频技能")→ 只返回相关类别
3. "XX怎么用" → 读取 `skills/XX/SKILL.md`

---

Session Persistence

Medium
Category
Rogue Agent
Confidence
80% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · REGISTRY.template.md (reported line 61)May include surrounding context.

md
1. Create skill directory under `skills/`
2. Write `SKILL.md` (refer to existing skills)
3. Add entry to this file under appropriate category
4. Add triggers to RULES routing table (if auto-routing needed)

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · RULES.snippet.md (reported line 11)May include surrounding context.

md
|-----------|--------|
| "what skills" / "有什么技能" / "/skills" | Read REGISTRY.md, list by category |
| "XX related skills" / "/skills XX" | Return related category only |
| "How to use XX skill" | Read `skills/XX/SKILL.md` |

**Trigger-word Routing Table | 触发词路由表:**

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · SKILL.md (reported line 100)May include surrounding context.

md
|-----------|--------|
| "what skills" / "有什么技能" / "/skills" | Read REGISTRY.md, list by category |
| "XX related skills" / "/skills XX" | Return related category only |
| "How to use XX skill" | Read `skills/XX/SKILL.md` |

**Trigger-word Routing Table | 触发词路由表:**

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The task-execution flow activates skills by scanning a request and matching triggers before reading and executing the referenced SKILL.md. Because the matching criteria are not bounded by explicit confirmation, priority, or exclusion rules, ordinary user phrasing can unintentionally route execution into a skill workflow, which may cause the agent to follow the wrong instructions or expose skill-specific behavior unexpectedly.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The example shows a generic phrase like 'Help me do XX' leading directly to trigger-based skill selection. Broad, everyday language patterns increase the chance that normal conversation will accidentally invoke a skill, causing unintended workflow execution or disclosure of skill-specific capabilities.

Content

No source excerpt is available for this finding.

Shadow Command Trigger

Medium
Category
Trigger Abuse
Confidence
70% confidence
Finding

Shadow Command Trigger: 'list skills' conflicts with built-in command 'list'

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The trigger "你会什么" is a very general conversational phrase meaning roughly "what can you do," which can easily appear in ordinary chat outside the narrow intent of listing workspace skills. Because the file presents it as a direct trigger without exclusions or scope limits, it could cause unintended invocation of this registry skill.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill promotes keyword-based auto-routing but does not define safeguards such as exact matching, confirmation for ambiguous matches, or priority rules. In a workspace with many skills, this can cause unintended activation of unrelated or more sensitive skills based on incidental words in a user request.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The auto-routing flow states that a matched trigger leads directly to reading another skill and executing it, but it does not warn users or require consent. This creates a confused-deputy risk where a harmless-looking request can implicitly invoke another skill with broader capabilities than the user expected.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The routing table is only a loose mapping of trigger words to skills and does not define validation, conflict resolution, exclusions, or trust boundaries for overlapping triggers. This under-specification makes misrouting and accidental activation more likely, especially as more skills are added to the registry.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.