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

Content
View full analysis

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
View 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
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.

Content

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

md
### ⚠️ 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)

Ssd 3

High
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
---
# 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.