Back to skill

Security audit

Pub Clawddocs

Security checks for vulnerabilities and agentic risk

Overview

This is not clearly malicious, but a docs-branded skill gives broad authenticated API instructions, including email/SMS sending and sensitive uploads, without enough user-control or privacy guidance.

Review this before installing if you expected a read-only documentation helper. Use it only with a limited SKILLBOSS_API_KEY, avoid sending secrets or private documents/media/audio, and require explicit user approval before any email, SMS, document upload, media upload, or file download command is run.

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:75
Finding
Unvalidated Remote Response URL Download<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 75-80 **Vulnerability Type**: Unvalidated remote URL retrieval and unsafe local file write **Risk Level**: Medium ### Vulnerable Code ```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 extracted from the remote API response is passed directly to `curl`. The command follows redirects with `-L` and does not validate the URL scheme, destination hostname, resolved IP address, response size, or content type. Shell-command injection is mitigated by quoting `"$URL"`, and the downloaded file is not automatically executed. Nevertheless, the API response remains a remote trust boundary. If the API account, service, upstream model provider, or response-processing infrastructure is compromised, an attacker can cause the agent to issue a GET request to an attacker-selected or internal destination. The downloaded response is then written to a predictable path, `sunset.png`, in the current directory without checking whether that path already exists or is a symbolic link. ### Attack Path 1. An attacker compromises or manipulates the API response or one of its upstream providers. 2. The response supplies a malicious `image_url`, `result.image_url`, or `data[0]` value. 3. The Skill extracts that value without validation. 4. `curl -L` follows the supplied URL and any subsequent redirects. 5. The request can reach an attacker-controlled host or, where network access permits, a private or loopback address. 6. The returned data is written to `sunset.png`; an existing file or symbolic-link target accessible to the agent may be overwritten. ### Impact Assessment The vulnerability can provide an attacker w ...[truncated 499 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Parse and validate the response before using any returned URL. 2. Permit only `https` URLs and reject embedded credentials, nonstandard schemes, and malformed values. 3. Restrict downloads to an explicit allowlist of trusted media-delivery domains. 4. Resolve the hostname and reject loopback, link-local, private, reserved, and cloud metadata address ranges before connecting and after every redirect. 5. Disable unrestricted redirects or validate every redirect destination. 6. Apply connection, total-time, and maximum-download-size limits. 7. Validate the response status and expected media MIME type before retaining the file. 8. Create the destination securely in an approved output directory, reject symbolic links, and avoid overwriting existing files unless the user explicitly approves it. 9. Prefer a service-generated immutable object identifier over an arbitrary response URL where the API supports one. ]]>

T07 · Tool Hijacking and Spoofing

Warning
Location
chat-models.md:31
Finding
Unqualified and Unbundled run.mjs Helper Can Be Spoofed Through PATH<![CDATA[ ## Vulnerability Details **File Locations**: - `chat-models.md`, lines 31-32 - `image-models.md`, lines 23-24 - `video-models.md`, lines 10-11 - `audio-models.md`, lines 30-32 **Vulnerability Type**: Local tool hijacking through an unqualified executable name **Risk Level**: Medium ### Vulnerable Code `chat-models.md`, lines 31-32: ```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 23-24: ```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 10-11: ```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 ``` `audio-models.md`, lines 30-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 ``` ### Technical Analysis The project does not include `run.mjs`, identify its trusted installation location, pin a version, or provide an integrity check. Invoking it using only the bare name delegates executable resolution to the shell's `PATH`. Consequently, the documented command does not establish which implementation will execute. A malicious executable or script named `run.mjs` in a higher-priority `PATH` directory can impersonate the expected helper. This is especially risky when the agent runs commands from an attacker-influenced working directory or uses a `PATH` containing writable directories. The spoofed helper receives all command-line arguments and executes with the same operating-system identity and environment as the agent. ...[truncated 1223 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Bundle the reviewed helper with the Skill or declare it as a verified dependency from a trusted source. 2. Invoke it through a canonical absolute path rather than relying on `PATH`. 3. Pin its exact version and publish a cryptographic checksum or signature verification procedure. 4. Refuse to use a helper located in the current directory or another user-writable directory. 5. Run the helper with a minimal environment and expose only the credentials required for the selected operation. 6. Apply least-privilege filesystem and network sandboxing to the helper process. 7. If the helper is not required, replace these examples with the explicit authenticated HTTPS requests already documented in `SKILL.md`. 8. Document the helper's provenance, installation process, expected permissions, and integrity-verification steps. ]]>
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 (35)

Context-Inappropriate Capability

High
Confidence
99% confidence
Finding
Including email and SMS verification/sending capabilities inside a documentation-focused skill creates unjustified outbound communication capability. If invoked by an agent or user expecting read-only documentation help, this can be abused for spam, phishing, unwanted OTP workflows, or unauthorized contact with third parties.

Description-Behavior Mismatch

Medium
Confidence
98% confidence
Finding
The skill is presented as a narrow 'documentation expert' but actually exposes a broad general-purpose API broker with chat, media generation, search, document parsing, email, and SMS features. This scope mismatch is dangerous because users and orchestrators may grant trust or invoke the skill under false assumptions, enabling unexpected external actions and data flows far beyond documentation lookup.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill repeatedly instructs sending prompts, documents, audio, phone numbers, and other content to an external aggregator service and downstream providers, but it does not warn users about these transmissions. This omission can lead to inadvertent disclosure of sensitive user data, credentials, documents, or communications metadata to third parties.

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
80% confidence
Finding
The base URL and authentication guidance establish that the skill is designed around remote API use with bearer credentials. This is not inherently malicious, but in context it signals broad third-party data transmission and credential use that are under-disclosed for a skill advertised as documentation-focused.

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
84% confidence
Finding
This models-listing call reaches an external API with authentication, exposing usage metadata and relying on third-party network access. The risk is contextual: it contributes to a broad live-integration surface hidden behind a docs-oriented label.

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
84% confidence
Finding
This models-listing call reaches an external API with authentication, exposing usage metadata and relying on third-party network access. The risk is contextual: it contributes to a broad live-integration surface hidden behind a docs-oriented label.

External Transmission

Medium
Category
Data Exfiltration
Content
Filter by type:

```bash
curl -s "https://api.heybossai.com/v1/models?types=image" \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY"
```
Confidence
83% confidence
Finding
This filtered model query is another authenticated external request. While routine, it still expands the live network surface of a skill that is described too narrowly, creating potential for unexpected data egress and trust confusion.

External Transmission

Medium
Category
Data Exfiltration
Content
Get full docs for specific models:

```bash
curl -s "https://api.heybossai.com/v1/models?ids=mm/img,bedrock/claude-4-5-sonnet" \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY"
```
Confidence
83% confidence
Finding
Fetching full docs for specific models involves external API interaction and may reveal model interests or planned usage. In isolation this is mild, but combined with the misleading skill identity it contributes to an under-disclosed third-party integration risk.

External Transmission

Medium
Category
Data Exfiltration
Content
## Chat

```bash
curl -s -X POST https://api.heybossai.com/v1/chat/completions \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
88% confidence
Finding
The chat completion example transmits message content to an external service and likely onward to downstream providers. This can expose sensitive prompts or conversational data, and the lack of strong warnings makes the risk more significant in this context.

Context-Inappropriate Capability

Medium
Confidence
92% confidence
Finding
The media-generation sections add image, video, audio, and background-removal capabilities that are unrelated to a documentation expert role. This broadens the attack surface and increases the chance that user prompts, files, or URLs are sent to external services unexpectedly under a misleading skill identity.

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
90% confidence
Finding
This generation request sends prompt content to an external endpoint and may incur downstream provider processing. Because the skill is not transparently marketed as a generation/integration skill, the external transmission is more dangerous than a typical API example.

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
90% confidence
Finding
This generation request sends prompt content to an external endpoint and may incur downstream provider processing. Because the skill is not transparently marketed as a generation/integration skill, the external transmission is more dangerous than a typical API example.

External Transmission

Medium
Category
Data Exfiltration
Content
Save to file:

```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"}}' \
Confidence
92% confidence
Finding
This example both performs an external API call and fetches a returned URL to save content locally. That combines remote transmission with follow-on retrieval from a possibly different host, increasing risk of unexpected downloads, local file creation, and handling of untrusted remote content.

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
90% confidence
Finding
The video generation request sends prompt data externally for processing. In this skill, such non-docs capability broadening makes the transmission more problematic because it may bypass user expectations about what the skill will do.

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
90% confidence
Finding
The video generation request sends prompt data externally for processing. In this skill, such non-docs capability broadening makes the transmission more problematic because it may bypass user expectations about what the skill will do.

External Transmission

Medium
Category
Data Exfiltration
Content
Image-to-video:

```bash
curl -s -X POST https://api.heybossai.com/v1/run \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
93% confidence
Finding
The image-to-video example sends both prompt text and an image URL to an external service, which may expose sensitive media or internal resources referenced by URL. This is a meaningful data-egress concern, especially given the mismatch between declared purpose and actual behavior.

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
91% confidence
Finding
The TTS request transmits user text to a remote provider chain for synthesis. Sensitive text may be exposed, and the transmission is insufficiently disclosed for a skill that users may assume is primarily informational/documentary.

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
91% confidence
Finding
The TTS request transmits user text to a remote provider chain for synthesis. Sensitive text may be exposed, and the transmission is insufficiently disclosed for a skill that users may assume is primarily informational/documentary.

External Transmission

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

```bash
curl -s -X POST https://api.heybossai.com/v1/run \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
95% confidence
Finding
Uploading audio data to a remote endpoint can disclose confidential speech, biometrics, or personal information. The risk is elevated because the skill's framing does not prepare users for high-sensitivity media upload to third parties.

External Transmission

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

```bash
curl -s -X POST https://api.heybossai.com/v1/run \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
95% confidence
Finding
Uploading audio data to a remote endpoint can disclose confidential speech, biometrics, or personal information. The risk is elevated because the skill's framing does not prepare users for high-sensitivity media upload to third parties.

External Transmission

Medium
Category
Data Exfiltration
Content
## Music 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
88% confidence
Finding
The music-generation request sends user prompts externally and triggers creative model execution unrelated to documentation assistance. This broad capability increases data-sharing and cost exposure under a misleading trust boundary.

External Transmission

Medium
Category
Data Exfiltration
Content
## Background Removal

```bash
curl -s -X POST https://api.heybossai.com/v1/run \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
86% confidence
Finding
This image-processing call transmits image inputs or references to an external service. That may reveal sensitive visuals or accessible URLs, which is not clearly signposted by the skill's stated purpose.

External Transmission

Medium
Category
Data Exfiltration
Content
## Background Removal

```bash
curl -s -X POST https://api.heybossai.com/v1/run \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
86% confidence
Finding
This image-processing call transmits image inputs or references to an external service. That may reveal sensitive visuals or accessible URLs, which is not clearly signposted by the skill's stated purpose.

External Transmission

Medium
Category
Data Exfiltration
Content
## Document Processing

```bash
curl -s -X POST https://api.heybossai.com/v1/run \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
94% confidence
Finding
The document-processing example uploads or references documents for remote parsing/extraction, potentially exposing sensitive files and their contents to a third party. For a docs-related skill this might seem more contextually plausible, but the absence of privacy warnings still makes it dangerous.

External Transmission

Medium
Category
Data Exfiltration
Content
## Web Search

```bash
curl -s -X POST https://api.heybossai.com/v1/run \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
91% confidence
Finding
External web-search requests can disclose search intent and sensitive research topics to a third-party provider. Because this is part of a much broader hidden integration layer, users may not realize their queries are leaving the environment.

Static analysis

No suspicious patterns detected.