Back to skill

Security audit

Real Estate Sales Leasing And Valuations

Security checks for vulnerabilities and agentic risk

Overview

This real-estate skill is mostly coherent, but it asks agents to defer to mutable remote instructions while handling precise property/location data and paid AgentPMT calls.

Review before installing. Use this only when you are comfortable sending property addresses, coordinates, record IDs, and related search criteria to AgentPMT and spending account credits per call. Prefer pinned install paths for setup skills, and do not let remote live instructions override system, user, or local skill boundaries without explicit confirmation.

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:144
Finding

Remote Instructions Override the Locally Audited Skill Definition

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 144–149
Vulnerability Type: Remote instruction redirection
Risk Level: High

Vulnerable Code Snippet:

text
## 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: "real-estate-sales-leasing-and-valuations"`.
- Detailed examples: call `agentpmt-tool-search-and-execution` with `action: "get_instructions"` and `tool_id: "real-estate-sales-leasing-and-valuations"`, 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 explicitly instructs the agent to retrieve mutable instructions from a remote AgentPMT service and treat those instructions as more specific than the locally installed and audited Skill definition. This creates an instruction-authority boundary in which remote, post-installation content can modify the agent's effective behavior without requiring any update to the reviewed package.

Remote schemas can be useful when handled as structured, validated data. However, the get_instructions response contains behavioral instructions, and the Skill grants those instructions precedence over its local summary. If the remote service, its account, or its delivery infrastructure is compromised, an attacker could return prompt-injection content disguised as product instructions.

No evidence establishes that the current AgentPMT endpoint is malicious. The vulnerability is the unconditional delegation of instruction authority to mutable remote content.

Attack Path

  1. The agent loads the locally reviewed Skill.

...[truncated 1185 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove the instruction that gives remotely returned instructions precedence over the local Skill.
  2. Do not retrieve free-form behavioral instructions during normal tool execution.
  3. Retrieve only versioned, machine-readable schemas and validate them against a locally defined allowlist of actions, fields, types, and limits.
  4. Pin the expected schema version or cryptographic digest and reject unexpected changes.
  5. Treat all remote descriptions, examples, warnings, and error messages as untrusted data rather than executable agent instructions.
  6. Prevent remote responses from changing tool permissions, requesting credentials, initiating unrelated actions, or overriding system and user instructions.
  7. Require explicit user confirmation before transmitting precise residential addresses or performing additional paid calls prompted by a remote response.
  8. Apply strict response parsing so only expected JSON fields are consumed and free-form instruction text cannot enter the agent's control context.

T08 · Insecure Dependencies

Warning
Location
SKILL.md:211
Finding

Unpinned External Skill Installation Creates a Supply-Chain Risk

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 211–224
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: Medium

Vulnerable Code Snippet:

text
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 setup procedure invokes `npx` and installs external Skill content without pinning the `skills` package version, repository commit, release version, or integrity digest. Consequently, the content executed or installed at setup time can differ from the content that existed when this Skill was audited.

Dynamic package resolution and mutable repository references expand trust to the package registry, repository owner, release process, and all relevant transitive dependencies. Compromise of any of these components could substitute unreviewed or malicious content.

The audit found no evidence that the referenced dependencies are currently malicious. The confirmed issue is that their identity and integrity are not fixed or verified before installation.

### Attack Path

1. A user follows the documented setup procedure.
2. `npx` dynamically resolves the current `skills` package, and the ins
...[truncated 1038 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the skills package used by npx to a reviewed, immutable version.
  2. Pin AgentPMT/agent-skills to a specific commit hash or signed release rather than a mutable repository reference.
  3. Publish expected cryptographic hashes and verify them before executing or installing downloaded content.
  4. Use lockfiles and integrity metadata for all package and transitive dependency resolution.
  5. Require explicit user approval before installation and display the exact package version, repository commit, and requested permissions.
  6. Prefer a trusted installer configured not to execute arbitrary lifecycle scripts, or perform installation inside a restricted sandbox.
  7. Independently audit the two setup Skills and their dependencies before recommending them as prerequisites.
  8. Document a secure update process that verifies signatures and requires review before advancing pinned versions.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (10)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill explicitly sends user-supplied property search data such as addresses, coordinates, and potentially owner-related lookup inputs to a third-party AgentPMT-hosted service, yet the description does not clearly warn users that these inputs leave the local environment. In a real-estate context, addresses and related search criteria can be sensitive personal or business information, so the omission undermines informed consent and increases privacy and compliance risk.

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
89% confidence
Finding

The skill is designed to transmit user inputs to external endpoints at api.agentpmt.com, including property addresses, coordinates, search criteria, and potentially returned owner information. External transmission is expected for a hosted data service, but it is still security-relevant because it creates privacy, data-governance, and third-party trust exposure, especially when the skill encourages broad property and market queries without a strong consent warning.

Content

Scanner excerpt · SKILL.md (reported line 278)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/real-estate-sales-leasing-and-valuations
- 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
89% confidence
Finding

This endpoint reference indicates use of an external REST invoke path for product purchases/calls, meaning user queries and possibly billing-linked metadata are sent off-platform. In context, the behavior is intentional and core to the product, but the combination of remote transmission and real-estate data makes the privacy and compliance implications materially important rather than a harmless false positive.

Content

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

md
- 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/real-estate-sales-leasing-and-valuations
- AgentPMT main MCP server: https://api.agentpmt.com/mcp/
- AgentPMT REST invoke endpoint: https://api.agentpmt.com/products/purchase

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The schema exposes collection of precise location and property-identifying inputs such as full addresses, ZIP codes, coordinates, and record IDs without any visible privacy notice, minimization guidance, or sensitivity labeling. In a real-estate context this can lead agents to request or transmit unnecessarily specific location data, increasing privacy and data-handling risk even if the underlying tool is legitimate.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.