Back to skill

Security audit

AIOZ Stream Skill

Security checks for vulnerabilities and agentic risk

Overview

This skill is for a real AIOZ Stream API workflow, but it handles powerful account secrets and destructive actions in ways users should review before installing.

Install only if you are comfortable giving the agent access to your AIOZ Stream account. Prefer a least-privileged only_upload key with a short TTL, avoid creating full_access keys unless necessary, rotate keys after use, and require explicit confirmation before uploads, deletes, webhook changes, or API key creation/deletion.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:11
Finding
Insecure Handling and Exposure of High-Privilege API Secrets## Vulnerability Details **File Location**: `SKILL.md`, lines 11–32 and 489–501 **Vulnerability Type**: Sensitive credential exposure through ordinary Agent input, session storage, command-line arguments, and response output **Risk Level**: Medium ### Vulnerable Code Snippets ```markdown ## Credential Collection Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided. Clawbot should prompt the user with two separate open-ended text input fields: 1. **AIOZ Stream Public Key** — Ask: *"Please enter your AIOZ Stream Public Key:"* 2. **AIOZ Stream Secret Key** — Ask: *"Please enter your AIOZ Stream Secret Key:"* Rules: - Use **open-ended text input** (not dropdowns or multiple choice) so the user can type or paste their actual key values. - Do **not** proceed with any API call until both keys have been provided. - Store them in session as `$AIOZ_PUBLIC_KEY` and `$AIOZ_SECRET_KEY` for use in all subsequent requests. - Remind the user: *"Keep your keys safe — treat them like passwords and consider rotating them after this session."* ``` ```bash AIOZ_HEADERS=( -H "stream-public-key: ${AIOZ_PUBLIC_KEY}" -H "stream-secret-key: ${AIOZ_SECRET_KEY}" ) ``` ```bash curl -s -X POST "https://api.aiozstream.network/api/api_keys" \ "${AIOZ_HEADERS[@]}" \ -H "Content-Type: application/json" \ -d '{ "api_key_name": "my key", "ttl": "100000000", "type": "full_access" }' # type: "full_access" or "only_upload" # ttl: seconds, max 2147483647 ``` ```markdown > ⚠️ **The `secret` is shown only once. Clawbot must immediately display it to the user and explicitly warn them it cannot be retrieved again.** ``` ### Technical Analysis The Skill legitimately requires AIOZ credentials to perform its declared API-management functions, and the credentials are sent only to the declared AIOZ API endpoint. No unrelated exfiltration destination was identified. However, its credential-handling procedure ...[truncated 2982 chars]
Remediation
## Remediation Suggestions 1. Replace ordinary open-ended credential prompts with a masked secret-input mechanism that prevents inclusion in conversation transcripts. 2. Store credentials in a dedicated ephemeral secret store rather than general session or conversational state. 3. Scope stored credentials to the current Skill invocation and erase them immediately after completion or session termination. 4. Ensure secrets are excluded from logs, traces, telemetry, debugging output, exception messages, and command previews. 5. Avoid placing credentials directly in visible command-line arguments. Use an execution interface that supports protected secret injection or appropriately permissioned temporary configuration input, with guaranteed cleanup. 6. Redact authentication headers from all tool output and error reporting. 7. Present a newly generated secret through a dedicated one-time secret-display component rather than ordinary chat output. If that is unavailable, clearly obtain user approval before displaying it and prevent transcript retention where supported. 8. Default newly created keys to `only_upload`, the shortest practical TTL, and the minimum permissions needed for the requested operation. 9. Require explicit user confirmation before creating a `full_access` key or selecting a long TTL, and explain the resulting access scope. 10. Add documented key revocation and rotation procedures, including immediate rotation after suspected transcript or log exposure. 11. Require explicit confirmation immediately before destructive operations such as deleting media, API keys, webhooks, player themes, or playlists. 12. Preserve HTTPS-only communication and restrict authenticated requests to the declared AIOZ API origin.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (68)

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### ⚠️ How to Retry
Clawbot will automatically guide you through the following steps:

1. Delete the failed media object       →  `DELETE /media/{media_id}`
2. Re-create the media object           →  `POST /media/create`
3. Check transcode cost before retrying →  `GET /media/cost` (verify `is_enough: true`)
4. Re-upload all chunks                 →  `POST /media/:id/part` (one per chunk with MD5)
Confidence
91% confidence
Finding
The retry guidance instructs the agent to automatically delete the failed media object as step one, creating a parameter-abuse and destructive-action risk if IDs are wrong, stale, or attacker-influenced. In an agent workflow, automatic chaining from failure to deletion reduces the opportunity for the user to verify that the correct object will be removed.

Ssd 3

High
Confidence
99% confidence
Finding
The skill instructs the agent to display a newly created API secret in full in the conversation, which is a direct credential disclosure pattern. Chat transcripts, logs, integrations, or shoulder-surfing can expose the secret beyond the intended recipient, turning one-time credential issuance into long-lived compromise.

Ssd 3

High
Confidence
99% confidence
Finding
The behavior guidelines normalize full secret disclosure as standard operating procedure, increasing the chance that sensitive credentials are exposed repeatedly and automatically. Repetition in policy text makes accidental leakage more likely across implementations and future modifications.

Ssd 3

High
Confidence
99% confidence
Finding
The warnings section again instructs immediate display of secrets, reinforcing insecure handling of credentials. Repeated directives like this materially worsen risk because they encourage implementers to treat secret leakage as required behavior rather than an exception.

External Transmission

Medium
Category
Data Exfiltration
Content
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
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
---
# AIOZ Stream API Skill
Interact with the **AIOZ Stream API** — a Web3 decentralized streaming platform — using the user's API key pair.
**Base URL:** `https://api.aiozstream.network/api`
---
## Credential Collection
Before performing any API action, Clawbot **must** collect the user's API credentials if they have not already been provided.
Confidence
50% 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.