Back to skill

Security audit

Problem Mapper

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent problem-analysis framework, but it requests broad shell and file-write authority that the documented workflow does not need.

Install only if you are comfortable with a Chinese-language problem-mapping workflow and review the requested Bash, Read, and Write permissions carefully. The safer version would remove shell access and limit any export/write behavior to explicit user-approved files.

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:8
Finding
Excessive Tool Permissions Violate Least-Privilege Principles## Vulnerability Details **File Location**: `SKILL.md`, line 8 **Vulnerability Type**: Excessive shell and filesystem permissions **Risk Level**: Medium **Vulnerable Code Snippet**: ```yaml allowed-tools: [Bash, Read, Write] ``` ### Technical Analysis The Skill is a text-based framework for clarifying problems, defining success criteria, assessing risks, and preparing action plans. None of the reviewed workflows require arbitrary shell-command execution or unrestricted filesystem access. Nevertheless, the Skill declares access to `Bash`, `Read`, and `Write`. In particular, `Bash` can provide broad command-execution capabilities, while `Read` and `Write` may expose or modify files available to the hosting Agent. This unnecessarily expands the Skill's authority and violates the principle of least privilege. No instructions that deliberately invoke these tools, execute malicious commands, or access sensitive files were found. The risk arises from making powerful capabilities available when they are not necessary for the documented task. Exploitation would therefore depend on the hosting platform permitting a malicious or prompt-injected input to influence tool invocation. ### Attack Path 1. The hosting Agent loads the Skill and grants the tools declared in `allowed-tools`. 2. An attacker supplies adversarial problem text containing prompt-injection instructions. 3. The injected content attempts to induce the Agent to invoke `Bash`, `Read`, or `Write` outside the legitimate problem-mapping workflow. 4. If the host does not independently enforce tool authorization, path restrictions, and command validation, the Agent may execute commands, read accessible files, or modify filesystem content. 5. The resulting access remains limited by the operating-system privileges and sandbox controls applied to the Agent process. This is a conditional exploitation path. The audited project itself contains no command payload, persistence m ...[truncated 789 chars]
Remediation
## Remediation Suggestions 1. Remove `Bash`, `Read`, and `Write` from `allowed-tools` because the documented analysis workflow does not require them. 2. If Markdown export is implemented later, grant only a narrowly scoped write capability limited to a dedicated export directory. 3. Avoid granting shell access for document generation or export. Use a purpose-built file-output API instead. 4. Apply explicit path allowlists, deny symbolic-link traversal, reject absolute paths, and prevent overwriting existing files unless the user confirms the action. 5. Require user confirmation before any filesystem operation and clearly display the destination path. 6. Enforce platform-level sandboxing and per-invocation authorization independently of Skill instructions. 7. Add automated checks that reject unused high-risk tool declarations during package review.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (12)

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
The skill title and core description are presented in Chinese, and the usage examples throughout the README assume Chinese-language interaction. There is no indication that users may choose another language or that the skill is intentionally restricted to a Chinese-only regulatory or regional context.

Vague Triggers

Medium
Confidence
97% confidence
Finding
The trigger text is broad enough to match common requests such as 'help me analyze this problem', which can cause the skill to activate in many ordinary conversations without clear user intent to invoke this specific workflow. Over-broad activation increases the chance of unintended prompt takeover, context hijacking, or inappropriate use of the skill’s instructions and tools in situations where the user only wanted generic assistance.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The manifest description at L03 is entirely in Chinese, which imposes a language constraint on users without any visible opt-in or justification. Under the policy rule, forcing a specific language without user choice or documented region-specific scope is a natural-language policy concern.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The entire skill example file is written in Chinese and presents prompts, outputs, and usage guidance only in Chinese. There is no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking or region-specific context, which can violate language/locale policy requirements.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
This markdown file contains user-facing instructional content exclusively in Chinese, and there is no indication that the skill is region-specific or that users can opt into this language. Under the natural-language policy rules, forcing a specific language without user choice is a locale-policy concern.

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
This markdown file is entirely written in Chinese and does not indicate that language selection is optional or that the content is intentionally limited to a Chinese-speaking or region-specific audience. Under the policy rule for natural-language violations, forcing a specific language without user opt-in is reportable.

Natural-Language Policy Violations

Medium
Confidence
98% confidence
Finding
The entire prompt template, examples, and required output instructions are written to operate in Chinese, and there is no note allowing the user to choose another language or indicating that Chinese is an optional locale. This creates a natural-language policy issue because the skill implicitly enforces a specific language for all users without documented opt-in or justification.

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
The file presents the template and usage instructions entirely in Chinese, beginning with the title and setup guidance, with no indication that users may choose another language. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is clearly justified.

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
The file title and all embedded prompt/output instructions are written to enforce a Chinese-language interaction by default, but nowhere offers the user a language or locale choice. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Natural-Language Policy Violations

Low
Confidence
93% confidence
Finding
该 markdown 文件属于所有文件类型都适用的自然语言策略检查范围。文档从标题到全部说明均仅以中文提供,未声明可选语言、未征求用户语言偏好,也未给出该语言限制的明确业务理由,因此构成潜在的语言/locale 策略违反。

Scope Creep

Low
Category
Excessive Agency
Content
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
Confidence
70% confidence
Finding
Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Natural-Language Policy Violations

Low
Confidence
91% confidence
Finding
The manifest description is entirely Chinese and the examples/instructions throughout the file assume Chinese-language interaction, but there is no indication that users may choose another language. This can constitute a language-policy issue when a skill effectively forces one language without explicit opt-in or documented regional justification.

Static analysis

No suspicious patterns detected.