Back to skill

Security audit

Diagnose a rejected e-invoice

Security checks for vulnerabilities and agentic risk

Overview

This skill is a narrowly scoped invoice-validation helper that uses a disclosed external MCP service, with supply-chain and privacy cautions but no artifact-backed malicious behavior.

Before installing, consider pinning or otherwise verifying the skill source and installer, and only submit public, synthetic, or properly redacted invoice XML because validation requests go to the disclosed PowMCP service. Do not use it as proof of legal, tax, factual, or platform acceptance.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:35
Finding
Unpinned Third-Party Package and Remote Skill Installation## Vulnerability Details **File Location**: `SKILL.md:35-38` **Vulnerability Type**: Unpinned third-party dependency and mutable remote skill source **Risk Level**: Medium ### Vulnerable Code Snippet ```markdown ## Connect once ``` npx skills add powmcp/skills --skill diagnose-rejected-invoice-before-resubmission ``` ``` ### Technical Analysis The documented installation command invokes `npx` without pinning the `skills` npm package to a specific version. It also identifies the remote `powmcp/skills` source without an immutable commit hash or equivalent integrity constraint. Consequently, the components retrieved when a user runs this command may differ from those reviewed during this audit. Compromise of the npm package, its maintainer account, the remote repository, or the dependency resolution process could cause attacker-controlled code or modified Skill content to be downloaded and installed. This behavior is not required for the invoice-validation operation itself. Installation may legitimately be documented, but executing mutable upstream content exceeds the minimum supply-chain trust necessary when immutable versions and integrity verification could be used instead. ### Attack Path 1. An attacker compromises the unpinned npm package, its publishing account, the remote skill repository, or another relevant upstream distribution channel. 2. The attacker publishes a malicious package version or modifies the remote Skill content. 3. A user follows the documented `npx skills add powmcp/skills` command. 4. `npx` resolves the package available at execution time, and the installer retrieves the mutable remote Skill source. 5. Malicious installation behavior or Skill instructions execute or become available under the invoking user's environment. 6. The payload can act with the permissions granted to the installer or later to the installed Skill and its configured tools. ### Impact Assessment Exploitation co ...[truncated 567 chars]
Remediation
## Remediation Suggestions 1. Pin the `skills` npm package to an explicitly reviewed version, for example by using an exact version rather than the latest package selected by `npx`. 2. Pin `powmcp/skills` to a verified immutable commit hash or signed release instead of a mutable repository reference. 3. Publish and verify cryptographic checksums or signatures for the package and Skill artifact before installation. 4. Use lockfiles and integrity metadata for all transitive dependencies where the installation mechanism supports them. 5. Prefer a download-and-review workflow over directly executing newly retrieved installer code. 6. Run installation with minimum privileges in a sandbox or restricted environment, and require user confirmation before granting filesystem, command-execution, credential, or network access. 7. Document the expected package version, source revision, checksum, publisher identity, and verification procedure alongside the command.
Vulnerability Patterns
  • 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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding
The skill instructs users to install and run remote skill content via `npx skills add powmcp/skills --skill ...` without pinning a specific immutable version. Because `npx` resolves the latest published package by default, a compromised upstream package, malicious update, or supply-chain takeover could cause users to fetch and execute unintended code or altered skill definitions.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The skill enables implicit invocation without any narrowing triggers, examples, or user-confirmation guardrails, which can cause the agent to call an external MCP service in situations the user did not clearly intend. Because the tool sends invoice-related content to a third-party endpoint, over-broad auto-invocation increases the risk of unintended data disclosure, unnecessary external requests, and user-confusion-driven misuse.

Static analysis

No suspicious patterns detected.