Back to skill

Security audit

维修工

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent household repair assistant, but it needs Review because it can give detailed safety-critical DIY repair steps and generate unescaped HTML reports.

Review before installing. Use it as general guidance only, keep hazardous work such as mains electrical, gas, microwave high-voltage, and brake-related repairs to qualified professionals unless you are properly trained, and prefer plain-text reports or sanitized HTML for any saved repair report.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
references/repair-template.md:189
Finding

Unescaped User-Controlled Content in Generated HTML Reports

Content
View full analysis
Fault symptom{description} Diagnostic conclusion{conclusion} Confidence{high/medium/low} SeverityP{N} ``` ```html

Safety Information

{safety warning content}
``` The associated report-generation instructions state, in substance: ```text 1. Replace the placeholders in the template with actual diagnostic content. 2. Delete an unneeded report card where applicable. 3. The safety-warning card may be deleted when there is no P0/P1 risk. 4. Save the generated HTML file to the working directory for the user to save or print. ``` Other affected interpolation points include the HTML title and heading at lines 106 and 180, and repair-step placeholders at lines 207 and 224. ### Technical Analysis The report template places dynamic diagnostic values directly into HTML element content. These values may be derived from user-controlled fields such as the device name and fault description. The generation instructions require direct placeholder replacement but do not require HTML escaping, sanitization, validation, or use of a template engine with automatic contextual encoding. An attacker can provide input containing HTML elements or event-handler attributes. If that input is inserted verbatim, it becomes active markup rather than inert report text. For example, an image element with an error event handler could execute J ...[truncated 1840 chars]
Remediation
View remediation
``` 6. Do not permit remote scripts, remote stylesheets, embedded frames, forms, or external resource loading in generated reports. 7. Add security tests using payloads containing angle brackets, event handlers, script elements, encoded markup, malformed tags, and attribute-breaking characters. 8. Prefer plain-text or safely generated PDF reports when secure HTML rendering cannot be guaranteed. 9. Update the report-generation instructions to state explicitly that every placeholder value must be contextually encoded before insertion. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (13)

YARA rule 'agent_skill_mcp_tool_poisoning_metadata': MCP/tool metadata poisoning indicators in tool schemas or skill manifests [agent_skills]

High
Category
YARA Match
Confidence
80% confidence
Finding

YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).

Content

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

md
---
name: repairman
version: 1.0.1
description: "General household repairman assistant. Diagnose faults in appliances, electronics, plumbing, electrical circuits, furniture, and vehicles (excluding PC/phone which have dedicated skills). Provides interactive fault diagnosis, step-by-step repair guides, tools/materials checklists, safety warnings, DIY vs professional recommendations, and cost estimates. Trigger keywords: repair, fix, broken, malfunction, leaking, not working, how to fix, noisy, tripped circuit, clogged, stuck, flickering, replace part, maintenance."
description_zh: "通用家庭维修助手。诊断家电、电�

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The vehicle section includes DIY advice for brake repairs such as adjusting brake cables and replacing brake pads, but does not clearly prohibit user-performed work on this safety-critical system. Incorrect brake repair can directly cause loss of stopping ability, crashes, and serious injury or death, especially because the surrounding content is framed as routine self-service fixes.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The manifest includes very broad trigger keywords such as 'fix', 'broken', 'not working', and 'how to fix', which overlap heavily with normal conversation and many unrelated domains. This can cause unintended invocation of the repair skill, leading users into incorrect workflows, unwanted tool use, or unsafe repair guidance when another specialized skill or general assistant behavior would be more appropriate.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The body of the skill is written entirely in Chinese and the output template is Chinese-only, with no instruction to preserve or detect the user's preferred language. This can degrade clarity of safety-critical warnings and repair steps for non-Chinese-speaking users, increasing the chance of misunderstanding during hazardous troubleshooting.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The activation conditions are phrased broadly enough that many ordinary help requests could match, for example vague statements like 'XX坏了怎么办' or '帮我看看XX'. In a safety-sensitive skill that may discuss electricity, gas, plumbing, and vehicles, ambiguous routing increases the chance of inappropriate activation and unsafe or irrelevant guidance.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file provides numerous DIY troubleshooting and repair steps for mains-powered and hazardous appliances, including replacing capacitors, opening devices, and inspecting electrical components, but it lacks a prominent general warning to disconnect power, account for stored charge, and defer dangerous work to qualified technicians. In the context of a repair skill, users are likely to treat these steps as actionable instructions, increasing the risk of electric shock, burns, fire, gas-related harm, or damage to safety-critical systems.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This section gives step-by-step lock and door hardware repair guidance, including disassembly and replacement, without clear safety boundaries or escalation criteria. While not as severe as electrical or brake work, users could damage egress/security hardware, get locked out, or compromise home security by performing incorrect repairs.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The file gives step-by-step instructions for replacing switches and outlets, which is hazardous electrical work for lay users. Although there are some nearby safety notes about cutting power and using a tester, the content still operationalizes mains electrical repair and does not clearly frame the procedure as professional-only or prominently warn about electrocution and fire risk for non-professionals at the point of action.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The file is entirely written for Chinese output and the HTML template explicitly sets lang="zh-CN", but it does not state that the skill is region-specific or ask the user to opt into Chinese-language output. This can violate language/locale policy when users have not chosen that locale.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The activation examples "保存下来" and "可视化" are generic phrases a user could say in many contexts, making it unclear when this specific template should be invoked. The file does not provide constraints, scope limits, or negative examples to distinguish repair-report generation from ordinary conversation.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The file's natural-language content is fully in Chinese and does not indicate that the skill is intentionally region-specific or provide any user opt-in for language preference. Under the stated policy, forcing a specific language without user choice can be a locale-policy issue unless the constraint is explicitly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

A language or locale policy violation applies across all file types when a skill forces a specific language without user opt-in. This file presents all guidance only in Chinese and does not indicate that the skill is region-specific or that users may choose another language.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.