Back to skill

Security audit

Pub Web Search

Security checks for vulnerabilities and agentic risk

Overview

This skill is a broad third-party model and action gateway published under a web-search name, including email and SMS capabilities without clear safeguards.

Review this as a broad SkillBoss API gateway, not just a web-search skill. Only install it if you intend to let an agent use your SKILLBOSS_API_KEY for third-party model calls and potentially externally visible actions such as sending email or SMS; restrict when it may be invoked and require explicit user approval for recipients, phone numbers, file submissions, and downloads.

Vulnerability Patterns
  • Tool Hijacking and SpoofingModifies or replaces tools so legitimate-looking calls execute attacker logic
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:74
Finding
Unvalidated Remote URL Download Enables SSRF and Unsafe File Write## Vulnerability Details **File Location**: `SKILL.md`, lines 74-80 **Vulnerability Type**: Unvalidated remote URL consumption and unsafe file download **Risk Level**: Medium ```bash URL=$(curl -s -X POST https://api.heybossai.com/v1/run \ -H "Authorization: Bearer $SKILLBOSS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model": "mm/img", "inputs": {"prompt": "A sunset over mountains"}}' \ | jq -r '.image_url // .result.image_url // .data[0]') curl -sL "$URL" -o sunset.png ``` ### Technical Analysis The URL returned by the external API is passed directly to `curl -L` without validating its scheme, hostname, resolved IP address, redirect destinations, content type, or response size. Quoting `"$URL"` prevents shell metacharacters from being interpreted as additional shell syntax, but it does not prevent server-side request forgery or malicious redirects. If the API, an upstream provider, or its response path is compromised, the returned URL could point to a loopback address, link-local service, private network host, or attacker-controlled endpoint. The `-L` option follows redirects without validating each destination. The response is then written to a predictable filename, `sunset.png`, without checking whether that file already exists. ### Attack Path 1. An attacker compromises or influences the API response used for image generation. 2. The response supplies an `image_url`, `result.image_url`, or `data[0]` value that references an internal address or redirects to one. 3. The documented command extracts that value and passes it directly to `curl -L`. 4. The Agent requests the attacker-selected resource from its own network context. 5. The resulting content is written to `sunset.png`, potentially replacing an existing file in the working directory. ### Impact Assessment Exploitation could cause the Agent to access services reachable only from its local or private network, including loopback, link ...[truncated 412 chars]
Remediation
## Remediation Suggestions - Permit only `https` URLs. - Restrict downloads to an explicit allowlist of documented media-delivery domains. - Resolve the destination and reject loopback, link-local, private, multicast, and otherwise reserved IP ranges. - Disable redirects or validate the scheme, hostname, and resolved address of every redirect destination. - Apply connection, transfer, and overall timeouts. - Enforce maximum response sizes and verify the response content type before saving it. - Create output files safely with restrictive permissions and refuse to overwrite existing files unless the user explicitly approves. - Use a dedicated download directory and generate a unique filename rather than writing to a predictable path. - Treat all API-returned URLs as untrusted data, including URLs returned by upstream model providers.

T07 · Tool Hijacking and Spoofing

Warning
Location
.
Finding
Undefined run.mjs Executable Can Be Hijacked Through PATH Resolution## Vulnerability Details **File Location**: `audio-models.md`, lines 29-32; `chat-models.md`, lines 31-34; `image-models.md`, lines 22-25; `video-models.md`, lines 9-12 **Vulnerability Type**: Untrusted executable resolution through the process PATH **Risk Level**: Medium `audio-models.md`, lines 29-32: ```bash run.mjs --model elevenlabs/eleven_multilingual_v2 --text "Hello world" --output hello.mp3 run.mjs --model openai/whisper-1 --file recording.m4a run.mjs --model replicate/meta/musicgen --prompt "upbeat electronic" --duration 30 --output track.mp3 ``` `chat-models.md`, lines 31-34: ```bash run.mjs --model bedrock/claude-4-5-sonnet --prompt "Explain quantum computing" run.mjs --model openai/gpt-4o-mini --prompt "Summarize this" --context "Be concise" ``` `image-models.md`, lines 22-25: ```bash run.mjs --model mm/img --prompt "A sunset over mountains" --output sunset.png run.mjs --model vertex/gemini-3-pro-image-preview --prompt "A cat" --output cat.png ``` `video-models.md`, lines 9-12: ```bash run.mjs --model mm/t2v --prompt "A cat playing" --output video.mp4 run.mjs --model mm/i2v --prompt "Zoom in slowly" --image "https://example.com/photo.jpg" --output video.mp4 ``` ### Technical Analysis The documentation repeatedly invokes `run.mjs` as a bare command. The audited project does not contain that executable and provides no trusted installation source, package identity, checksum, signature, or absolute path. A shell resolves a bare command by searching directories in the caller's `PATH` in order. If an attacker can place a malicious executable named `run.mjs` in an earlier PATH directory, the legitimate-looking examples execute the attacker's program instead of an intended tool. In a clean environment where no such command exists, the examples simply fail, which may also encourage users to install an unverified package with a matching name. ### Attack Path 1. An attacker gains write acce ...[truncated 1041 chars]
Remediation
## Remediation Suggestions - Include the intended script in the reviewed project and invoke it through an explicit project-relative or absolute path, such as `node ./scripts/run.mjs`. - Do not rely on a globally installed executable selected through an uncontrolled `PATH`. - Document the tool's authoritative package name, publisher, version, installation source, and integrity hash. - Pin the dependency to a reviewed version and verify its checksum or signature before execution. - Configure a minimal trusted `PATH` when executing subprocesses. - Verify that the resolved executable path belongs to the expected installation directory before running it. - Run the tool with least privilege and expose only the environment variables required for the selected operation. - Avoid inheriting unrelated credentials or sensitive environment variables into the subprocess.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (42)

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
The skill is advertised as a web-search/news lookup tool, but the manifest and body expose a broad proxy API for unrelated capabilities including chat, image/video generation, document handling, email, and SMS. This scope mismatch is dangerous because users and orchestrators may grant or invoke the skill under a narrow trust assumption while it can actually trigger far more sensitive third-party actions.

Context-Inappropriate Capability

High
Confidence
99% confidence
Finding
Outbound email sending is unrelated to web search and introduces an active external-action capability that could be abused for spam, phishing, data exfiltration, or unauthorized communications. Because the skill framing does not prepare users for this behavior, the mismatch increases the chance of accidental or deceptive misuse.

Context-Inappropriate Capability

High
Confidence
99% confidence
Finding
SMS verification/OTP operations are unrelated to web search and can trigger real-world actions against phone numbers, including unsolicited messages or abuse of verification flows. Such features are particularly sensitive because they can incur cost, harass users, or support account-targeting workflows.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
One API key, 50+ models across providers (Bedrock, OpenAI, Vertex, ElevenLabs, Replicate, Minimax, and more). Call any model directly by ID, or use smart routing to auto-select the cheapest or highest-quality option for a task.

**Base URL:** `https://api.heybossai.com/v1`
**Auth:** `-H "Authorization: Bearer $SKILLBOSS_API_KEY"`

## List Models
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
## List Models

```bash
curl -s https://api.heybossai.com/v1/models \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY"
```
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Context-Inappropriate Capability

Medium
Confidence
93% confidence
Finding
Generic chat/model-routing capabilities exceed a web-search skill's stated purpose and effectively turn the skill into a general LLM gateway. This broadens both operational scope and data exposure, making it easier to misuse the skill for unrelated tasks under misleading branding.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
Image and video generation capabilities materially exceed the declared web-search purpose and expand the skill into generic content generation. While not inherently malicious, this hidden expansion increases attack surface, routing sensitive prompts to third parties and undermining least-privilege expectations for the skill.

External Transmission

Medium
Category
Data Exfiltration
Content
## Image Generation

```bash
curl -s -X POST https://api.heybossai.com/v1/run \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
## Video Generation

```bash
curl -s -X POST https://api.heybossai.com/v1/run \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
Audio features such as TTS, STT, and music generation are outside the stated web-search scope and create additional channels for transmitting user content to external providers. This is risky because users may not expect audio or speech data to be handled by a third-party multimodel broker when invoking a search skill.

External Transmission

Medium
Category
Data Exfiltration
Content
## Text-to-Speech

```bash
curl -s -X POST https://api.heybossai.com/v1/run \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Static analysis

No suspicious patterns detected.