Back to skill

Security audit

Tmp.2hu3fUVT39

Security checks for vulnerabilities and agentic risk

Overview

The skill is transparently about Zillow access, but it asks users to run mutable third-party code and a browser extension against a signed-in Zillow session.

Review before installing. Use a dedicated Chrome profile for Zillow, pin the MCP package and fetchproxy source to reviewed versions or commits, and avoid staying signed in unless you intend the agent to access saved Zillow homes or searches.

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

Unpinned Third-Party MCP Server and Browser Extension

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 19-39
Vulnerability Type: Unpinned and automatically executed third-party dependencies
Risk Level: Medium

Vulnerable Code

markdown
`.mcp.json` (project) or `~/.claude/mcp.json` (global):

```json
{
  "mcpServers": {
    "zillow": {
      "command": "npx",
      "args": ["-y", "zillow-mcp"]
    }
  }
}

2. Install the fetchproxy extension (one-time, shared across all fetchproxy-based MCPs)

bash
git clone https://github.com/chrischall/fetchproxy
cd fetchproxy
npm ci
npm --workspace=@fetchproxy/extension-chrome run build

Then in Chrome: chrome://extensions → Developer mode → Load unpacked → pick packages/extension-chrome/dist/.

text

### Technical Analysis

The MCP configuration invokes `npx -y zillow-mcp` without specifying an exact package version or integrity value. The `-y` option automatically accepts package installation, while the absence of a version causes npm to resolve the package available at execution time. The code executed by future users can therefore differ from the version that was originally reviewed.

The extension installation similarly clones the mutable default branch of a remote Git repository rather than an immutable, reviewed commit or verified release. The instructions then build that source and load it into Chrome as an unpacked extension. Because the extension routes requests through a signed-in Zillow browser tab, compromise of its source or dependencies could expose authenticated Zillow data within the permissions available to the extension.

No evidence establishes that the current npm package or repository is malicious. The vulnerability is the mutable and insufficiently verified supply-chain trust model.

The reference to `.mcp.json` and `~/.claude/mcp.json` is configuration guidance, not an instruction to extract credentials. It is therefore not, by itself, a confirmed crede
...[truncated 1682 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin zillow-mcp to an audited exact version instead of resolving the latest package:

    json
    {
      "mcpServers": {
        "zillow": {
          "command": "npx",
          "args": ["--yes", "zillow-mcp@0.1.0"]
        }
      }
    }
    

    Replace the example version with a release that has actually been reviewed.

  2. Prefer a lockfile-backed local installation over automatic runtime installation. Verify npm registry integrity metadata and retain the reviewed lockfile.

  3. Pin the extension source to an immutable reviewed commit or signed release:

    bash
    git clone https://github.com/chrischall/fetchproxy
    cd fetchproxy
    git checkout <reviewed-commit-sha>
    npm ci
    npm --workspace=@fetchproxy/extension-chrome run build
    
  4. Publish and verify checksums or signatures for the expected package and extension artifacts before execution or loading.

  5. Document the extension's required host and browser permissions, and remove any permissions not essential to Zillow request proxying.

  6. Advise users to remain signed out for public Zillow queries and authenticate only when invoking saved-home or saved-search functionality. Use a dedicated browser profile to limit exposure of unrelated sessions and browser data.

  7. Establish a dependency-review and update process so version changes are explicitly reviewed rather than silently adopted.

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 (3)

MCP Config Access

High
Category
Agent Snooping
Confidence
95% confidence
Finding

Skill accesses MCP server configuration files (mcp.json). MCP configs contain server URLs, authentication tokens, and tool definitions — reading them allows the skill to discover and potentially abuse other tool integrations.

Content

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

1. Install zillow-mcp

.mcp.json (project) or ~/.claude/mcp.json (global):

json
{

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger description is broad enough to activate on generic real-estate questions, not just clearly intentional Zillow requests. In this skill, that matters because activation can route user queries into a tool that accesses Zillow data, including potentially signed-in account context, increasing the chance of unintended data access or disclosure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill can access privacy-sensitive signed-in Zillow data such as saved searches and favorited homes, but the top-level description and triggers do not prominently warn that account data may be read. This creates a risk of users invoking the skill without understanding that personal Zillow activity could be surfaced from an authenticated browser session.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.