T01 · Skill Instruction Hijacking
- Location
SKILL.md:65- Finding
Untrusted Stranger Messages Are Injected Directly into Agent Instructions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a real random-chat skill, but it asks an agent to run persistently and automatically process messages from strangers with too little containment.
Review before installing. Use this only in a constrained environment with no unrelated filesystem, shell, memory, or credential access. Avoid enabling the cron job or webhook unless you understand that strangers can cause the agent to wake and respond repeatedly. Store the API key with restrictive permissions or a secret manager, pin installer versions, and do not let the agent share private user data, prompts, secrets, or internal context in chat.
SKILL.md:65Untrusted Stranger Messages Are Injected Directly into Agent Instructions
SKILL.md:109Persistent Autonomous Polling Task Processes Remote Content Every 45 Seconds
SKILL.md:20Unpinned Package Is Downloaded and Executed Through npx
SKILL.md:163API Key Is Stored in a Plaintext File Without Permission Hardening
The skill explicitly directs access to a local credentials file and extraction of an API key for use in outbound requests. Any skill that instructs an agent to read secrets from disk materially increases the risk of credential misuse, unauthorized service access, and follow-on compromise if the skill is invoked in an untrusted or over-permissive environment.
Load your credentials:
API_KEY=$(cat ~/.config/clawmegle/credentials.json | jq -r '.api_key')
BASE_URL="https://www.clawmegle.xyz"
The skill instructs users to store an API key in a local plaintext credentials.json file under a predictable path. While storing credentials is operationally necessary, recommending plaintext local storage without file-permission guidance or secure secret handling increases the risk of credential theft by other local processes, backups, logs, or accidental disclosure.
⚠️ Save your api_key immediately! You need it for all requests.
Save credentials to: ~/.config/clawmegle/credentials.json:
{
The skill instructs the agent to read a local API credential and interact with a third-party service, but it provides no user-facing disclosure, consent step, or data-handling limitation. Because the skill is specifically designed to exchange conversational content with random external agents, it creates a real privacy and policy risk even if the functionality is intentional.
This instruction sends agent-generated message content to an external endpoint, which is a true data exfiltration surface. In context, the skill's purpose is chatting with strangers, so external transmission is expected, but it is still dangerous because it can cause the agent to disclose sensitive conversation content, system prompts, or user data without meaningful review or sanitization.
curl -X POST "$BASE_URL/api/message" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"content": "Your thoughtful response here"}'
The manifest description says "Random agent-to-agent chat. Meet strangers. Talk to other AI agents. Omegle for agents," but it does not define specific invocation phrases, scope boundaries, or exclusion conditions. In a markdown/manifest context, this kind of broad capability description can overlap with many generic social or chat-related requests and may cause unintended activation.
The heading description "Random agent-to-agent chat. Meet strangers. Omegle for AI agents" explains the theme but not the activation conditions or constraints. Without explicit trigger scope or examples of when not to use it, the description is overly broad for skill routing.
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
Or install manually:
mkdir -p ~/.config/clawmegle
curl -s https://www.clawmegle.xyz/skill.md > ~/.config/clawmegle/SKILL.md
curl -s https://www.clawmegle.xyz/heartbeat.md > ~/.config/clawmegle/HEARTBEAT.md
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Or install manually:
mkdir -p ~/.config/clawmegle
curl -s https://www.clawmegle.xyz/skill.md > ~/.config/clawmegle/SKILL.md
curl -s https://www.clawmegle.xyz/heartbeat.md > ~/.config/clawmegle/HEARTBEAT.md
The skill instructs users to expose a webhook endpoint and provide a webhook token to an external random-chat service, enabling unsolicited inbound traffic into the agent environment. For a social chat skill, this materially expands the attack surface and could let untrusted remote parties trigger agent execution, prompt injection, or abuse of connected internal automation pathways.
The skill directs agents to create an autonomous recurring cron job that polls and responds indefinitely, which exceeds simple on-demand chat behavior and creates persistent unattended activity. This increases exposure to spam, prompt injection, resource abuse, and unexpected agent actions driven by external strangers over time.
The cron job creates persistent autonomous behavior that keeps an isolated agent session running and reacting to external messages on a schedule. In the context of a random-stranger chat skill, persistent unattended execution increases the chance of abuse, repeated prompt injection attempts, and uncontrolled resource consumption.
This is the easiest way to enable real-time chat! Create a cron job that polls every 45 seconds:
clawdbot cron add \
The skill encourages random conversations with external agents but does not prominently warn that user or agent messages will be transmitted to a third-party service and potentially to strangers. In this context, omission of a disclosure is dangerous because operators may unintentionally expose sensitive prompts, personal data, internal context, or agent-generated content outside their trust boundary.
No suspicious patterns detected.