Back to skill

Security audit

Chat With Anyone

Security checks for vulnerabilities and agentic risk

Overview

This skill is mostly coherent for voice cloning and TTS, but it handles API credentials and user images in a way that needs careful review before installation.

Install only if you understand that the skill may download public speech, create synthetic voice audio, and upload selected images or descriptions to Noiz. Use it only with consent or clearly permissible public-figure/media cases, avoid deception, pin dependencies where possible, and do not use or expose the --base-url option unless you fully trust the endpoint.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/voice_design.py:63
Finding

Credentials and User Images Can Be Sent to an Arbitrary API Endpoint

Content
View full analysis
Remediation
View remediation
`, and rotate any key that may have been sent to an untrusted endpoint. ]]>

T08 · Insecure Dependencies

Warning
Location
SKILL.md:43
Finding

Unpinned Third-Party Package Installation Creates a Mutable Supply-Chain Risk

Content
View full analysis
Remediation
View remediation
" ``` 2. Maintain a lockfile containing exact transitive dependency versions. 3. Require cryptographic hashes for downloaded distributions where the installation workflow supports them. 4. Use an explicitly configured and trusted package index rather than relying on ambient package-manager configuration. 5. Install dependencies in an isolated virtual environment with minimum filesystem and credential access. 6. Establish a controlled update process in which new versions are reviewed, tested, and deliberately promoted. 7. Avoid automatic package installation during normal Skill execution; dependency installation should be a separate, user-approved setup step. ]]>
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (10)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The declared description presents a broad end-user capability: automatically find speech online, derive a voice sample, and generate spoken replies in that person's voice, including from an uploaded image. The supplied code chunk is much narrower. It is a local preprocessing utility that selects a likely good voice-reference segment from an existing audio/video file using SRT subtitles and extracts that segment with ffmpeg. It does not implement chatting, persona interaction, voice cloning/synthesis, reply generation, image analysis, or any network activity. While reference-sample extraction is related to the larger described workflow, this chunk by itself does not accurately represent the declared primary purpose and omits several major advertised capabilities.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The description claims a multi-step conversational voice impersonation workflow: automatically finding speech online, extracting a usable voice sample, and generating spoken replies in that voice, with image-based voice matching as an additional feature. The code shown only implements the image/text-description voice-design portion via a remote API. It accepts an image or voice description, submits them to Noiz, receives preview voices, saves WAV previews, and stores a chosen voice_id. That partially overlaps with the 'supports generating a matching voice from an uploaded image' claim, but it does not implement the core declared functionality around chatting, persona roleplay, online speech discovery, sample extraction, or reply synthesis. Permissions used (network, filesystem) are consistent with the declaration, but the primary purpose is materially narrower and different from the full declared behavior.

Content

No source excerpt is available for this finding.

Lp1

High
Category
MCP Least Privilege
Confidence
75% confidence
Finding

The skill uses 'file_read' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.

Content

No source excerpt is available for this finding.

Lp1

High
Category
MCP Least Privilege
Confidence
75% confidence
Finding

The skill uses 'shell' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.

Content

No source excerpt is available for this finding.

Lp1

High
Category
MCP Least Privilege
Confidence
75% confidence
Finding

The skill uses 'env' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.

Content

No source excerpt is available for this finding.

Lp1

High
Category
MCP Least Privilege
Confidence
75% confidence
Finding

The skill uses 'file_write' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The open-ended trigger phrase 'or similar' makes activation boundaries ambiguous, which can cause the agent to invoke a high-risk voice-cloning/impersonation workflow for loosely related requests. In this context, broad triggering is more dangerous because the skill has network and filesystem permissions and facilitates synthetic voice generation for real people.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The activation guidance is written entirely around Chinese phrases such as "我想跟xxx聊天" and "你来扮演xxx跟我说话" without saying the skill also supports other languages or that Chinese-only activation is intentional. This is a natural-language locale constraint that may violate language-choice policy when not presented as opt-in or region-specific.

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/extract_ref_segment.py (reported line 144)May include surrounding context.

python
"-ac", "1",
        output_path,
    ]
    result = subprocess.run(cmd, capture_output=True, text=True)
    if result.returncode != 0:
        raise RuntimeError(
            f"ffmpeg failed (exit {result.returncode}):\n{result.stderr}"

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

The manifest describes a skill for finding/generating voices and chatting in-character, but this helper script also implements credential discovery by reading NOIZ_API_KEY from the process environment and a dotfile in the home directory. Accessing ambient credentials is not part of the user-facing purpose and is an additional capability beyond straightforward voice-design processing.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.