Back to skill

Security audit

Minimax Feishu Voice

Security checks for vulnerabilities and agentic risk

Overview

The skill does what it claims, but it can send externally generated voice messages through Feishu and its activation/consent boundaries are too broad for that authority.

Review before installing. Use it only if you want an agent to send Feishu voice-bubble messages using your configured Feishu app and MiniMax account, and avoid sending secrets or regulated/private content unless that third-party processing is acceptable. Require confirmation before any actual send.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
Findings (7)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/send_feishu_voice.py (reported line 47)May include surrounding context.

python
}

def get_tenant_token(app_id: str, app_secret: str) -> str:
    """Get Feishu tenant access token."""
    import urllib.request
    
    url = "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal"

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The activation text includes broad phrases like 'send voice message' and 'send audio to Feishu', which can match routine user requests and cause the skill to activate outside a narrowly scoped intent. Because this skill sends content to external services and can transmit messages on a user's behalf, overbroad triggering increases the chance of unintended data sharing or unintended outbound actions.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

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.

Content

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

1. Configure voice_config.json

Create ~/.openclaw/workspace/skills/minimax-feishu-voice/voice_config.json:

json
{

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The documentation states that user text is sent to MiniMax for TTS and the resulting audio is uploaded to Feishu, but it does not include an explicit privacy warning or user-consent guidance. This is risky because sensitive message content and associated credentials/configured integrations are involved in third-party processing and transmission, which may surprise users or violate privacy expectations.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/send_feishu_voice.py (reported line 130)May include surrounding context.

python
'-v', 'error',
            pcm_path
        ]
        result = subprocess.run(cmd_decode, capture_output=True, timeout=30)
        if result.returncode != 0:
            raise ValueError(f"MP3 decode failed: {result.stderr.decode()}")

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/send_feishu_voice.py (reported line 151)May include surrounding context.

python
'-f', 'ogg',
            opus_path
        ]
        result = subprocess.run(cmd_encode, capture_output=True, timeout=30)
        if result.returncode != 0:
            raise ValueError(f"OGG encode failed: {result.stderr.decode()}")

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The value female-yujie-jingpin appears to select a specific voice associated with a particular language/locale, and the file provides no indication that users can choose or opt into that setting. This can violate the policy against forcing a specific language or locale without user choice.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.