Back to skill

Security audit

zoomeye-ai-search

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent ZoomEye search helper, but it tells users to share an API key in chat and have the agent place it on the command line.

Review before installing. Do not paste a ZoomEye API key into an agent chat. Configure the key yourself using a private, local secret-handling method, preferably in an isolated environment, and pin or review the `zoomeyeai` package before installation. Treat any key already shared this way as exposed and rotate it.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:51
Finding

Unpinned Third-Party Package Installation

Content
View full analysis
Remediation
View remediation
" ``` 2. Record and verify cryptographic hashes through a locked requirements file and `--require-hashes`. 3. Explicitly use an approved package index rather than inheriting an untrusted local mirror configuration. 4. Install the package in a dedicated virtual environment with minimal filesystem and network permissions. 5. Review and lock transitive dependencies using a dependency-locking tool. 6. Validate package provenance and signatures where the package ecosystem supports them. 7. Define a controlled upgrade process in which new versions are reviewed before the pinned version is changed. ]]>

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:54
Finding

API Key Disclosure Through Chat and Command-Line Arguments

Content
View full analysis
To use ZoomEye international search, you need an API-KEY: > 1. Go to https://www.zoomeye.ai/profile and log in > 2. Find your API-KEY in your profile > 3. Send me the key and I'll initialize it for you 2. Once the user provides the key: ```bash zoomeyeai init -apikey "" ``` 3. Verify: ```bash zoomeyeai info ``` ``` ### Technical Analysis The skill explicitly asks the user to send an API key through the conversation and then inserts that secret into a command-line argument. These practices unnecessarily expose the credential through multiple channels: - Conversation transcripts and model-provider logs - Agent execution traces and tool-call records - Shell history, depending on command execution behavior - Process listings or process-monitoring telemetry while the command is running - Debug output, audit logs, or error reports that record complete command arguments Quoting the value does not protect its confidentiality. It only affects shell parsing. The secret remains present in the command argument and may remain in retained conversation or execution records. ### Attack Path 1. The user follows the skill's instruction and submits a valid ZoomEye API key in chat. 2. The key is retained in the conversation transcript or associated agent telemetry. 3. The agent constructs `zoomeyeai init -apikey ""`, placing the same secret in process arguments. 4. A party with access to conversation logs, execution traces, process monitoring, shell history, or diagnostic records obtains the key. 5. The party uses the exposed key to authenticate to ZoomEye. 6. The exposed credential is used to ru ...[truncated 672 chars]
Remediation
View remediation
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 (2)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill explicitly instructs the user to send their ZoomEye API key to the assistant so the assistant can run zoomeyeai init -apikey "<APIKEY>". Asking users to transmit a live credential through the agent unnecessarily exposes a secret to logging, retention, prompt injection, or misuse, especially because the key may grant account access and consume paid quota.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill's authentication flow is designed around the assistant receiving the user's API key directly, which is an unsafe secret-handling pattern. In this context, the skill targets security research and asset search, so credentials may unlock account metadata, quotas, and search capabilities; the surrounding context makes improper credential collection more concerning, not less.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.