T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:50- Finding
Overprivileged Automatic Injection of Sensitive Memory and Call Data
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This phone assistant guide is coherent in broad purpose, but it needs Review because it exposes broad personal memory, call history, and optional calendar data through a public voice bridge without clear caller-level controls or retention limits.
Review the actual bridge implementation before installing. Use this only if you are comfortable sending call content and selected local context to external voice and LLM providers, and first add strong authentication, caller-specific data scopes, minimal memory retrieval, transcript retention limits, log protection, and clear handling for secrets and spoken PINs.
SKILL.md:50Overprivileged Automatic Injection of Sensitive Memory and Call Data
The documented voice PIN example uses a static shared secret intended to be spoken aloud over a phone call, which is weak authentication and highly exposed to interception, replay, shoulder surfing, transcript retention, and social engineering. In this skill's context, the PIN is specifically used for unknown callers or high-security actions, making compromise more damaging because it could gate access to sensitive memory or privileged actions.
For unknown callers or high-security actions:
VOICE_PIN = "banana" # Set in .env
Caller must say the PIN to proceed.
The documentation materially misrepresents the trust boundary: it says the skill connects ElevenLabs to OpenClaw, but the implementation instead bypasses OpenClaw and sends conversations to Anthropic directly. That discrepancy can cause operators to expose memory, caller data, and tool-related context to a different external processor than expected, undermining informed consent and safe deployment decisions.
The setup instructions explicitly say OpenClaw chat completions are not needed because the bridge bypasses OpenClaw, contradicting the skill's purpose and concealing the actual architecture. This increases the chance an admin deploys the integration with incorrect assumptions about policy enforcement, logging, and tool controls.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
# Step 1: Store your bridge auth token as a secret
curl -X POST https://api.elevenlabs.io/v1/convai/secrets \
-H "xi-api-key: YOUR_ELEVENLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
# Step 1: Store your bridge auth token as a secret
curl -X POST https://api.elevenlabs.io/v1/convai/secrets \
-H "xi-api-key: YOUR_ELEVENLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
# Step 1: Store your bridge auth token as a secret
curl -X POST https://api.elevenlabs.io/v1/convai/secrets \
-H "xi-api-key: YOUR_ELEVENLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
The skill states that MEMORY.md, USER.md, recent transcripts, and optional live data are injected into prompts sent to Claude, but it does not provide a clear user-facing privacy warning or consent model. This can disclose sensitive personal data, historical conversations, calendar details, or weather/location context to external services and to any caller who can elicit model responses from that context.
The documentation describes transcript and cost logging, including caller numbers, timestamps, duration, and conversation-derived summaries, without clearly warning that this data is retained on disk. Retained call metadata and transcripts create privacy and breach risk, especially for voice interactions that may contain sensitive personal or authentication information.
The sample configuration sets the agent language to "en", which imposes a specific language by default. The file does not indicate that users can choose another language or that English is required for a justified regional/compliance reason.
No suspicious patterns detected.