Back to skill

Security audit

audio-quality-check

Security checks for vulnerabilities and agentic risk

Overview

The skill appears purpose-aligned, but it analyzes sensitive call recordings and can leave decoded audio in temporary storage while also printing recording metadata.

Review before installing if your recordings contain confidential calls. Run it only on recordings you intend to expose to the agent and terminal output, prefer an isolated Python environment, consider pinned dependencies, and manually check or clear audio_analysis_* temporary directories after use, especially after --echo mode or failed runs.

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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:34
Finding

Unpinned Third-Party Python Dependencies Create a Supply-Chain Risk

Content
View full analysis
Remediation
View remediation
soundfile== scipy== pyloudnorm== pesq== pystoi== librosa== ``` 2. Generate cryptographic hashes for every direct and transitive package. 3. Require hash validation during installation: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` 4. Use a dependency lock or constraints file so transitive dependency resolution is reproducible. 5. Document the trusted package index and avoid implicitly using arbitrary mirrors or additional indexes. 6. Run dependency vulnerability and provenance checks in continuous integration. 7. Review and update pinned packages through a controlled process rather than allowing automatic installation of newly published releases. ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/analyze_recording.py:367
Finding

Decoded Recording Data Can Remain in Temporary Storage

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (8)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding

The skill instructs the agent to run shell commands and read user-supplied recording paths, but it does not declare any explicit tool scope such as allowed tools or permissions. This creates an overbroad execution surface where an agent may invoke shell/file capabilities without policy constraints, increasing the risk of unintended access to arbitrary local files or unsafe command execution patterns if the path or invocation is mishandled.

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

python
def probe_tracks(audio_path):
    """Get track info via ffprobe. Returns list of stream dicts."""
    result = subprocess.run(
        [
            "ffprobe", "-v", "quiet", "-print_format", "json",
            "-show_streams", str(audio_path)

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

python
def extract_track(audio_path, track_index, output_path, target_sr=16000):
    """Extract a single track to mono WAV at target sample rate."""
    subprocess.run(
        [
            "ffmpeg", "-y", "-v", "quiet",
            "-i", str(audio_path),

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The script prints recording metadata such as title, app name, creation time, and speaker names directly to stdout without any consent prompt, redaction, or warning. In this skill context, the tool explicitly analyzes call recordings, so exposing metadata and derived audio-quality details can leak sensitive personal or call-related information into logs, terminal history, shared output, or downstream agent traces.

Content

No source excerpt is available for this finding.

Scope Creep

Low
Category
Excessive Agency
Confidence
70% confidence
Finding

Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Content

Scanner excerpt · LICENSE.txt (reported line 27)May include surrounding context.

text
permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation source, and
configuration files.

"Object" form shall mean any form resulting from mechanical transformation or

Scope Creep

Low
Category
Excessive Agency
Confidence
70% confidence
Finding

Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Content

Scanner excerpt · LICENSE.txt (reported line 31)May include surrounding context.

text
permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation source, and
configuration files.

"Object" form shall mean any form resulting from mechanical transformation or

Scope Creep

Low
Category
Excessive Agency
Confidence
70% confidence
Finding

Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Content

Scanner excerpt · LICENSE.txt (reported line 54)May include surrounding context.

text
permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation source, and
configuration files.

"Object" form shall mean any form resulting from mechanical transformation or

Scope Creep

Low
Category
Excessive Agency
Confidence
70% confidence
Finding

Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Content

Scanner excerpt · LICENSE.txt (reported line 147)May include surrounding context.

text
permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation source, and
configuration files.

"Object" form shall mean any form resulting from mechanical transformation or

Static analysis

No suspicious patterns detected.