Back to skill

Security audit

Global Poverty Inequality Data

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent AgentPMT poverty-data connector, but it asks agents to trust mutable remote instructions and documents unpinned setup installs, so users should review it before installing.

Install only if you trust AgentPMT and are comfortable with remote, paid API use. Before relying on it, prefer pinned setup packages and treat live schema or examples as untrusted data unless you explicitly approve changes from the reviewed local schema.

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

Error
Location
SKILL.md:174
Finding

Mutable Remote Instructions Can Override the Audited Skill Definition

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:174
Vulnerability Type: Remote instruction trust and precedence vulnerability
Risk Level: High

Vulnerable code snippet:

markdown
- Treat returned live schema and instructions as more specific than this generated summary.

Technical Analysis

The Skill explicitly grants remotely returned schemas and instructions greater specificity—and therefore practical precedence—over the locally reviewed Skill definition. Those remote instructions are retrieved from an AgentPMT service after package review and can change independently of the audited files.

Although retrieving structured poverty data is consistent with the declared functionality, allowing mutable remote content to redefine operational instructions exceeds the minimum privilege required. The remote response only needs to supply data conforming to a locally defined schema; it does not need authority to modify the agent's goals, safety constraints, credential-handling practices, or permitted tool usage.

No malicious remote response is included in the repository, so exploitation depends on compromise or malicious control of the remote service, its transport termination, an associated account, or the returned content. Nevertheless, the local instruction establishes the trust boundary needed for such an attack.

Attack Path

  1. A user loads the Skill and requests poverty or inequality data.
  2. The agent calls the documented remote get_schema or get_instructions operation.
  3. An attacker compromises or controls the service, account, or content-generation path used for that response.
  4. The service returns imperative instructions alongside, or instead of, the expected schema or examples.
  5. Because SKILL.md says the returned instructions are more specific than the audited summary, the agent gives the remote content precedence.
  6. The injected instructions can redirect subsequent tool calls, re ...[truncated 778 chars]
Remediation
View remediation

Remediation Suggestions

  • Remove the instruction that gives remotely returned content precedence over the local Skill.
  • Treat every remote response as untrusted data, not as executable or authoritative agent instructions.
  • Define and pin the complete accepted request and response schemas locally.
  • Validate returned content with a strict allowlist of expected fields, types, lengths, and enum values.
  • Reject unexpected fields, free-form imperative instructions, tool directives, credential requests, and embedded URLs.
  • If live schema discovery remains necessary, display material changes to the user and require explicit approval before adopting them.
  • Pin a schema version or integrity digest and fail closed when the remote schema differs.
  • Ensure system and local security policies always take precedence over remote content.

T08 · Insecure Dependencies

Warning
Location
SKILL.md:239
Finding

Unpinned Third-Party Skill Installation Through npx

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:239-249
Vulnerability Type: Mutable and unverified third-party dependency installation
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 procedure invokes `npx` and installs setup Skills from `AgentPMT/agent-skills` without specifying an immutable package version, repository commit, integrity hash, or signature. Consequently, the content installed when a user follows these instructions can differ from the content reviewed with this project.

The setup Skills are security-sensitive because they are responsible for configuring account, MCP, REST, and authentication connectivity. Trusting mutable upstream content for this purpose creates a supply-chain boundary that is not controlled by the audited package.

Network installation may be necessary to configure the hosted service, but executing the latest unpinned installer or repository state is not the minimum privilege necessary. A pinned and integrity-verified release would provide the required functionality with substantially less supply-chain expo
...[truncated 1571 chars]
Remediation
View remediation

Remediation Suggestions

  • Pin the installer and every downloaded Skill to an immutable release version or repository commit digest.
  • Use lockfiles and integrity hashes for npm-resolved packages and transitive dependencies.
  • Verify cryptographic signatures or published checksums before installation.
  • Avoid implicit execution of the latest package through npx; use an explicitly versioned, pre-audited installer.
  • Vendor the required setup Skills into the reviewed distribution when licensing and update requirements permit.
  • Present the exact source, version, expected digest, and requested permissions before installation.
  • Run installation in a restricted environment without access to unrelated credentials or sensitive files.
  • Re-audit setup Skills and dependency changes before updating pinned versions.
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 (9)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The activation keywords include broad terms like development analysis, poverty research, inequality studies, and country or region, which can cause the skill to trigger for generic analytical requests rather than only when the user explicitly wants this tool. Over-broad triggering can route user prompts and parameters to a paid remote service unnecessarily, increasing unintended data disclosure and tool-use surface.

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 307)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/global-poverty-inequality-data
- 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 308)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/global-poverty-inequality-data
- 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.