Back to skill

Security audit

Color Adjustment

Security checks for vulnerabilities and agentic risk

Overview

This is a legitimate color tool, but it uses remote, billable AgentPMT calls and gives mutable remote instructions too much authority over reviewed local instructions.

Review this before installing if you are not comfortable sending color inputs to AgentPMT or spending AgentPMT credits. Use narrow, explicit color-conversion requests, avoid sending secrets or private project context, and prefer pinned or platform-managed setup paths over unpinned `npx` commands. Treat any remotely returned schema or examples as data for this color tool, not as authority to change agent behavior outside the reviewed skill.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (2)

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:280
Finding

Mutable Remote Instructions Are Treated as Authoritative

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 280-285
Vulnerability Type: T01: Skill Instruction Hijacking
Risk Level: Medium

Vulnerable Code Snippet:

markdown
## Live Schema And Examples
Use the compact schema above for ordinary calls. Before a new production integration, or whenever parameters, enum values, nested objects, outputs, or examples are unclear, fetch live details first.

- Exact schema: call `agentpmt-tool-search-and-execution` with `action: "get_schema"`, and `tool_id: "color-adjustment"`.
- Detailed examples: call `agentpmt-tool-search-and-execution` with `action: "get_instructions"` and `tool_id: "color-adjustment"`, or call this product with `action: "get_instructions"` when the product tool is already selected.
- Treat returned live schema and instructions as more specific than this generated summary.

Technical Analysis

The Skill delegates authority to mutable instructions retrieved from an external AgentPMT service. In particular, it tells the agent to treat returned live instructions as more specific than the locally reviewed Skill definition.

The text does not require the agent to:

  • Treat remote instructions as untrusted data.
  • Restrict remote responses to declarative schema fields.
  • Reject instructions unrelated to color processing.
  • Validate responses against a pinned local schema.
  • Preserve local security constraints when remote instructions conflict with them.
  • Verify a version, signature, or content hash.

Consequently, the effective behavior can change after the local Skill has been audited. A compromised, malicious, or incorrectly configured remote service could return instruction-like content that attempts to redirect the agent's behavior.

Attack Path

  1. An attacker compromises the AgentPMT service, its response pipeline, or an upstream account capable of modifying the returned tool instructions.
  2. The agent invokes `get_instr ...[truncated 992 chars]
Remediation
View remediation

Remediation Suggestions

  • Treat all remotely returned schemas, examples, and instructions as untrusted data rather than authoritative agent directives.
  • Replace the precedence statement with an explicit rule that local platform policies, safety constraints, and the reviewed Skill definition always take priority.
  • Parse remote schema responses into a strict allowlisted data structure containing only expected action names, parameter types, bounds, and descriptions.
  • Reject responses containing executable commands, requests for credentials, unrelated tool calls, new endpoints, or behavioral instructions outside color processing.
  • Pin remote documentation to an approved version or verify a publisher signature or content digest before use.
  • Require explicit user approval before honoring any remote change that expands data transmission, permissions, endpoints, payment behavior, or tool scope.
  • Prefer the bundled schema.md for normal operation and use remote lookup only when the user explicitly requests updated schema information.

T08 · Insecure Dependencies

Warning
Location
SKILL.md:345
Finding

Unpinned Package Runner and Mutable Skill Source in Setup Instructions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 345-360
Vulnerability Type: T08: Insecure Dependencies
Risk Level: Medium

Vulnerable Code Snippet:

markdown
Core AgentPMT setup skills:
- What AgentPMT is: ../what-is-agentpmt
  - ClawHub page: https://clawhub.ai/agentpmt/what-is-agentpmt
  - OpenClaw install: `openclaw skills install what-is-agentpmt`
  - skills.sh install: `npx skills add AgentPMT/agent-skills --skill what-is-agentpmt`
- AgentPMT account MCP/REST setup: ../agentpmt-account-mcp-rest-api-setup
  - ClawHub page: https://clawhub.ai/agentpmt/agentpmt-account-mcp-rest-api-setup
  - OpenClaw install: `openclaw skills install agentpmt-account-mcp-rest-api-setup`
  - skills.sh install: `npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup`

skills.sh install script:

```bash
npx skills add AgentPMT/agent-skills --skill what-is-agentpmt
npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup
text

### Technical Analysis

The documented setup commands invoke `npx skills` without pinning a package version. They also retrieve Skill content from `AgentPMT/agent-skills` without specifying an immutable commit, release identifier, signature, or checksum.

This creates two mutable supply-chain dependencies:

1. The package selected and executed by `npx`.
2. The repository content downloaded by that package.

Because both components may change after this Skill has been reviewed, future installations can execute or install content different from what the auditor examined. The instructions do not require inspection, integrity verification, or a trusted lockfile before activation.

### Attack Path

1. An attacker compromises the npm package used by `npx`, its publisher account, the referenced repository, or an associated release pipeline.
2. The attacker publishes a malicious package version or modifies the repository's def
...[truncated 884 chars]
Remediation
View remediation

Remediation Suggestions

  • Pin the npm package to a reviewed exact version, for example by using an explicit package@version reference rather than an unversioned npx invocation.
  • Pin the downloaded repository to an immutable commit hash or signed release tag.
  • Publish and verify cryptographic checksums or signatures for downloaded Skill files.
  • Use a lockfile and an approved internal registry or verified package mirror where possible.
  • Avoid automatic execution of newly downloaded content; download it first, inspect the resulting files, and activate them only after validation.
  • Run installation in a restricted environment without access to production credentials, sensitive files, or elevated operating-system privileges.
  • Configure CI or security tooling to detect unexpected changes in the pinned package, repository commit, and downloaded file digests.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (10)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill mentions AgentPMT-hosted remote tool calls but does not clearly and prominently disclose that user-provided inputs may be sent to an external third-party service. This can lead to inadvertent sharing of sensitive prompt content when the agent invokes the tool under the assumption that it is local or low-risk.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Including the generic trigger term color makes accidental invocation more likely during ordinary user conversations, which can cause unnecessary remote tool calls and unintended data transmission to the external AgentPMT service. In this skill, the risk is amplified because the tool is remotely hosted and billable, so false activations can create both privacy and cost impact.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
- What AgentPMT is: ../what-is-agentpmt (ClawHub: `what-is-agentpmt`, page: https://clawhub.ai/agentpmt/what-is-agentpmt; skills.sh: `npx skills add AgentPMT/agent-skills --skill what-is-agentpmt`)
- AgentPMT account MCP/REST setup: ../agentpmt-account-mcp-rest-api-setup (ClawHub: `agentpmt-account-mcp-rest-api-setup`, page: https://clawhub.ai/agentpmt/agentpmt-account-mcp-rest-api-setup; skills.sh: `npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup`)
- Marketplace product: https://www.agentpmt.com/marketplace/color-adjustment
- AgentPMT main MCP server: https://api.agentpmt.com/mcp/
- AgentPMT REST invoke endpoint: https://api.agentpmt.com/products/purchase

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
- What AgentPMT is: ../what-is-agentpmt (ClawHub: `what-is-agentpmt`, page: https://clawhub.ai/agentpmt/what-is-agentpmt; skills.sh: `npx skills add AgentPMT/agent-skills --skill what-is-agentpmt`)
- AgentPMT account MCP/REST setup: ../agentpmt-account-mcp-rest-api-setup (ClawHub: `agentpmt-account-mcp-rest-api-setup`, page: https://clawhub.ai/agentpmt/agentpmt-account-mcp-rest-api-setup; skills.sh: `npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup`)
- Marketplace product: https://www.agentpmt.com/marketplace/color-adjustment
- AgentPMT main MCP server: https://api.agentpmt.com/mcp/
- AgentPMT REST invoke endpoint: https://api.agentpmt.com/products/purchase

Static analysis

No suspicious patterns detected.