T08 · Insecure Dependencies
- Location
SETUP.md:37- Finding
Unpinned Global Installation of Third-Party Packages and Binaries
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This voice-email skill is mostly coherent, but it can send Gmail messages from voice transcription without a documented pre-send confirmation step and uses under-scoped credential and install guidance.
Review this before installing. Use a dedicated Gmail account and low-quota provider keys, avoid the unpinned global install path where possible, protect openclaw.json and backups, and do not use it for sensitive email unless the workflow is changed to show the parsed recipient, subject, and body and require explicit confirmation before sending.
SETUP.md:37Unpinned Global Installation of Third-Party Packages and Binaries
SETUP.md:69API Credentials Stored in Plaintext OpenClaw Configuration
SKILL.md:90Email Is Sent Without a Documented Pre-Send Recipient Confirmation Gate
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
security:
requires:
- network
- file_access
credentials:
- deepgram_api_key
- telegram_bot_token
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
credentials:
- deepgram_api_key
- telegram_bot_token
- gmail_oauth # via gogcli, stored in system keyring
optional_credentials:
- elevenlabs_api_key # optional, for voice responses
permissions:
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.
### Recommended: Use Test Accounts
For testing, create dedicated accounts:
- **Gmail**: Create a test Gmail account for development
- **Deepgram**: Use free tier with limited quota
- **Telegram**: Use a dedicated bot token
The setup instructs users to transmit audio content and an API-authenticated request to Deepgram, which sends potentially sensitive voice data to a third-party external service. In an accessibility-focused email skill, spoken messages may contain email addresses, subjects, body content, or other private information, so external transcription increases confidentiality and privacy risk.
export DEEPGRAM_API_KEY="YOUR_KEY"
# Test with a sample audio file
curl -X POST "https://api.deepgram.com/v1/listen" \
-H "Authorization: Token $DEEPGRAM_API_KEY" \
-H "Content-Type: audio/ogg" \
--data-binary @test.ogg
The setup instructs users to transmit audio content and an API-authenticated request to Deepgram, which sends potentially sensitive voice data to a third-party external service. In an accessibility-focused email skill, spoken messages may contain email addresses, subjects, body content, or other private information, so external transcription increases confidentiality and privacy risk.
export DEEPGRAM_API_KEY="YOUR_KEY"
# Test with a sample audio file
curl -X POST "https://api.deepgram.com/v1/listen" \
-H "Authorization: Token $DEEPGRAM_API_KEY" \
-H "Content-Type: audio/ogg" \
--data-binary @test.ogg
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
If voice messages fail to download:
- Check DNS: `resolvectl status`
- Try Cloudflare DNS: `sudo resolvectl dns tailscale0 1.1.1.1 1.0.0.1`
- Restart gateway: `openclaw gateway restart`
## Cost
Skill grants unrestricted tool access without appropriate constraints. An agent with unfettered tool access can perform arbitrary actions including file modification, network requests, and code execution.
## What This Skill CANNOT Do
- ❌ Execute arbitrary code
- ❌ Access files outside of logging/debugging
- ❌ Modify system files
- ❌ Access other accounts without explicit OAuth
Skill grants unrestricted tool access without appropriate constraints. An agent with unfettered tool access can perform arbitrary actions including file modification, network requests, and code execution.
## What This Skill CANNOT Do
- ❌ Execute arbitrary code
- ❌ Access files outside of logging/debugging
- ❌ Modify system files
- ❌ Access other accounts without explicit OAuth
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- ❌ Execute arbitrary code
- ❌ Access files outside of logging/debugging
- ❌ Modify system files
- ❌ Access other accounts without explicit OAuth
- ❌ Send emails to unknown recipients without user confirmation
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.
## Best Practices for Production
1. **Use test accounts**: Create dedicated Gmail account for testing
2. **Limit Gmail OAuth**: Use app-specific passwords if needed
3. **Scope Deepgram**: Use minimal quota for testing
4. **Review logs**: Check `/tmp/openclaw-*.log` for unexpected activity
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -X POST "https://api.deepgram.com/v1/listen" \
-H "Authorization: Token $DEEPGRAM_API_KEY" \
-H "Content-Type: audio/ogg" \
--data-binary @sample.ogg
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -X POST "https://api.deepgram.com/v1/listen" \
-H "Authorization: Token $DEEPGRAM_API_KEY" \
-H "Content-Type: audio/ogg" \
--data-binary @sample.ogg
The manifest describes a voice-email accessibility skill, and most documented behavior aligns with that purpose. However, the setup guide states the skill requires access to Telegram, introducing a messaging-platform dependency that is not reflected in the manifest description.
No suspicious patterns detected.