Back to skill

Security audit

Auto File Organizer Free

Security checks for vulnerabilities and agentic risk

Overview

This skill is mostly a local file organizer, but its activation scope and data-flow claims are too broad and inconsistent for a tool that can move user files.

Review this before installing. Use it only for explicit file-organization tasks, run preview first, and avoid pointing it at important project or business directories until you have backups. Treat callback_url as a possible data-sharing path unless the publisher clarifies what is sent, and do not install optional dependencies outside an isolated environment.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Note
Location
SKILL.md:407
Finding

Unpinned Third-Party Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:407
Vulnerability Type: Unpinned third-party package installation
Risk Level: Low

Complete Code Snippet:

markdown
| PyYAML | Python library | Optional | `pip install pyyaml` (required for custom rules) |

Technical Analysis

The skill instructs users or agents to install PyYAML without specifying an exact version or verifying an integrity hash. Consequently, installation results can change over time and may introduce a release that was never assessed with this skill.

The package name shown is the legitimate PyYAML package rather than an evident typosquat, and no malicious dependency behavior was observed. The risk arises from mutable dependency resolution and the absence of package-integrity controls.

Attack Path

  1. A user enables the documented custom-rules feature.
  2. The user or agent runs pip install pyyaml as instructed.
  3. pip resolves whichever compatible package release the configured package index currently serves.
  4. If that release or the package-distribution channel has been compromised, unreviewed code may enter the environment.
  5. Malicious package code could run during installation or when the organizer imports the dependency.

Exploitation therefore requires compromise of the upstream package, release process, configured package index, or package-delivery path; the repository itself contains no demonstrated malicious package.

Impact Assessment

Malicious dependency code would generally execute with the privileges of the account running pip or importing the package. It could access files, environment variables, credentials, and network resources available to that account. If installation is performed with administrative privileges, the potential scope may extend system-wide.

The issue is rated Low because PyYAML is optional, exploitation depends on an external supply-chain compromise, and the audited project doe ...[truncated 53 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin PyYAML to an explicitly reviewed version:
    text
    PyYAML==<reviewed-version>
    
  2. Store dependencies in a requirements or lock file with SHA-256 hashes and install them using:
    bash
    python3 -m pip install --require-hashes -r requirements.txt
    
  3. Document and enforce a trusted package index instead of relying on an arbitrary environment configuration.
  4. Reassess and update the pinned version through a controlled dependency-review process.
  5. Install into an isolated virtual environment with minimum privileges and never recommend administrative installation.
  6. Include the claimed organizer.py implementation in the package so its dependency usage and file-handling behavior can be audited.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger conditions advertise unrelated capabilities such as document conversion, format conversion, and content extraction, expanding the apparent invocation scope well beyond file organization. In an agent environment, overly broad capability claims can cause the skill to be selected for tasks it was not designed to handle, increasing the chance of unsafe exec/write actions on unintended user data.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger conditions are so broad that the skill may auto-activate for many common file-related requests unrelated to organization. Because the skill has read/write/exec capabilities, accidental invocation could lead to unintended file moves, log generation, or command execution in contexts where the user only asked for analysis or conversion.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill makes a privacy/security assurance that operation is fully local and does not upload file data, yet elsewhere declares an LLM API dependency and supports a callback URL. That contradiction can mislead users and integrators into exposing file names, paths, metadata, or results to external services under a false expectation of locality.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

L425-L426 明确写到“完全中文化表达,适配中文用户文件分类习惯”,表现出默认且固定的语言/本地化方向,但文档未说明用户可选择其他语言或区域设置。按规则,这类强制语言/locale 倾向若未提供 opt-in 或选择机制,属于自然语言层面的组织策略风险。

Content

No source excerpt is available for this finding.