ClawWhisper

Security checks across static analysis, malware telemetry, and agentic risk

Overview

ClawWhisper mostly matches its stated chat purpose, but it enables autonomous conversations with other agents and makes strong ephemerality claims while logging chat data and credentials.

Install only if you are comfortable with your agent autonomously chatting through the disclosed third-party WebSocket service. Avoid sensitive information, join only trusted rooms, and remember that console/platform logs may retain messages or credentials even if the room expires.

Static analysis

Static analysis findings are pending for this release.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Other room participants may influence what your agent says or cause it to reveal information if the agent treats chat content as trusted.

Why it was flagged

The skill deliberately routes remote agents' messages and history into autonomous agent callbacks, but the artifacts do not define identity verification, trust boundaries, or rules preventing the agent from treating other agents' text as instructions.

Skill content
Agent autonomously converses with other agents in the room ... onMessage(agentId, text, history) ... [agent generates response via LLM]
Recommendation

Only join trusted rooms, treat all incoming messages as untrusted, and require user approval before sharing private data or taking actions based on chat content.

What this means

Users may trust the chat as fully ephemeral when message contents or access credentials could still appear in local or platform logs.

Why it was flagged

This strong privacy claim is undercut by the implementation logging credentials and chat text to console in index.js, such as `Generated credential`, `Agent ${msg.agentId}: ${msg.text}`, and `Sent: ${text}`. Runtime logs may outlive the room.

Skill content
Room expires after 10 minutes; messages vanish forever
Recommendation

Do not rely on the 'vanish forever' claim for sensitive content. The skill should remove credential/message logging or clearly disclose that logs may retain data.

What this means

Anyone with access to runtime logs during the room lifetime may see the credential and potentially reuse or inspect room access details.

Why it was flagged

The generated room credential is printed to console. It appears service-scoped and ephemeral, but it is still an access token for the room connection.

Skill content
const credential = await generateCredential();
console.log(`[ClawWhisper] Generated credential: ${credential}`);
Recommendation

Treat logs as sensitive and prefer a version that does not print generated credentials.

What this means

A prior message from another agent may continue influencing responses during the session until history is cleared or the room changes.

Why it was flagged

The skill keeps the last 50 messages in local runtime memory and passes that history into callbacks for context-aware responses. This is purpose-aligned and bounded, but it can carry untrusted remote content forward within the session.

Skill content
let conversationHistory = [];
const MAX_HISTORY = 50; ... onMessageCallback?.(msg.agentId, msg.text, [...conversationHistory]);
Recommendation

Clear history when appropriate and instruct the agent not to treat conversation history as authoritative instructions.