Back to skill

Security audit

Prompt Refiner

Security checks for vulnerabilities and agentic risk

Overview

This skill is a prompt-formatting helper with broad examples, but its packaged code does not access accounts, run system commands, persist, or transmit data.

Install only if you are comfortable with a prompt-refinement skill that may help structure prompts for sensitive workflows such as email, service restarts, and Slack posts. Review generated prompts before letting an agent use them for account access, posting externally, deleting, deploying, or restarting services; the publisher should replace the real-looking email address and local path with placeholders.

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

Note
Location
references/examples.md:14
Finding

Plaintext Personal and Local Environment Identifiers in Published Documentation

Content
View full analysis
"Are we checking your personal Gmail (jamesxu81@gmail.com) or work email?" ``` `references/examples.md:21`: ```text Account: jamesxu81@gmail.com ``` `references/examples.md:55`: ```text File: /Users/luckbot/Projects/mission-control/src/auth/validate.js ``` ### Technical Analysis The distributed documentation embeds a concrete email address, geographic timezone indicator, local operating-system username, and workstation project path. Reusable examples should use clearly fictional values or placeholders rather than identifiers that appear to refer to an actual person or development environment. The disclosed values do not constitute executable code or authentication credentials, and the reviewed CLI does not transmit them. Nevertheless, publishing them provides reconnaissance information that can correlate an email identity with a probable timezone, local username, operating system, and internal project naming. An attacker does not need to invoke the Skill to exploit the disclosure. Merely obtaining and inspecting the package is sufficient. ### Attack Path 1. An attacker downloads or otherwise obtains the published Skill package. 2. The attacker searches its Markdown files for email addresses, absolute filesystem paths, account names, and environment details. 3. The attacker extracts `jamesxu81@gmail.com`, the `NZ` or `Pacific/Auckland` timezone context, the local username `luckbot`, and the ...[truncated 863 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (10)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The examples broaden the skill from prompt refinement into concrete operational actions such as checking Gmail, restarting services, and posting to Slack. In an agent setting, these examples can normalize or encourage downstream use of the skill to generate prompts that trigger access to external systems or perform actions beyond the declared scope, increasing the chance of unsafe capability expansion.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The documentation embeds a specific personal Gmail address in both clarification and refined prompt context, which is unnecessary sensitive/account-specific data in example content. This can expose real personal information, encourage prompts targeting a concrete account, and make the skill more dangerous by implicitly anchoring tasks to an identifiable mailbox.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The service-restart example introduces system administration and service-control instructions, including process termination, port inspection, and health checks, which materially exceed a prompt-refinement skill's stated purpose. In context, this is dangerous because it can be repurposed to generate operational prompts that enable disruptive or unauthorized admin actions on local infrastructure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The Slack-posting example directs outbound transmission of generated content to an external channel without any warning, sensitivity review, or confirmation step. This is risky because a prompt-refinement skill may help package and route potentially sensitive business data for exfiltration or accidental disclosure through third-party messaging platforms.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The file explicitly recommends prompting for full step-by-step reasoning disclosure using phrases like 'Think step by step' and 'Explain your reasoning at each step.' In a prompt-refinement skill, this can cause the downstream model to elicit hidden reasoning or produce unnecessarily verbose internal-style deliberation, which is discouraged and can increase prompt-injection surface, leakage of sensitive intermediate analysis, or policy non-compliance.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The script detects whether input is Chinese, English, or mixed, but the generated human-readable output is always in English, including all headings, prompts, and next-step instructions. This imposes a language preference without opt-in or documented justification, which matches the language/locale policy violation category.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

The markdown states the skill is for 'mixed-language requests (English + Chinese)', which introduces a specific language pairing as part of the skill behavior. Because the file does not explicitly frame this as user-selected or optional, it can be read as a locale/language constraint without opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The refined prompt hard-codes the timezone as Pacific/Auckland even though the raw user request does not specify a locale or timezone preference. This imposes a locale setting without user opt-in or documented justification, which matches the policy concern for language/locale constraints.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The manifest says the skill applies prompt engineering best practices, but Example 2 specifically injects an explicit 'Think step by step' reasoning instruction for downstream code/security debugging. That moves beyond merely refining ambiguous input and into prescribing hidden reasoning style for substantive technical analysis tasks, which broadens the documented behavior of the skill.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.