Back to skill

Security audit

Free Resource Finder Free

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its stated purpose, but it relies on an unpinned external CLI and can persistently change model/API configuration, so users should review it carefully before installing.

Install only if you are comfortable running the external free-finder package and letting it modify persistent model/API settings. Use a virtual environment, pin or verify the package source if possible, keep API keys in environment variables, and review any switch, import, or reset command before execution.

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

Warning
Location
SKILL.md:339
Finding

Unpinned and Unverified Third-Party CLI Dependency

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 339
Vulnerability Type: Insecure third-party dependency
Risk Level: Medium

Complete Code Snippet:

markdown
| free-finder | CLI工具 | 必需 | `pip install free-finder` |

Technical Analysis

The Skill directs the agent or user to install free-finder from the default Python package index without specifying an exact version, cryptographic hashes, a verified publisher, or a source repository. The package is therefore mutable external code whose implementation was not included in the audited project.

The documented workflow grants this CLI access to command execution, network communication, user configuration files, and the OpenRouter API credential. Consequently, compromise of the package, its publisher account, or its distribution path could introduce arbitrary code into the environment. The package's actual behavior and side effects cannot be verified from the single Markdown file supplied for audit.

Attack Path

  1. An agent loads the Skill and follows its dependency-installation instructions.
  2. The command pip install free-finder resolves the current package release from the configured package index.
  3. A compromised, malicious, or unexpectedly changed release is downloaded.
  4. Package installation hooks or subsequently invoked CLI code execute with the privileges of the user running the agent.
  5. The package can access files available to that user, read configured credentials such as OPENROUTER_API_KEY, alter ~/.free-finder/config.json, and initiate network requests.

This is a supply-chain exposure rather than evidence that the current external package is malicious.

Impact Assessment

Successful exploitation could provide arbitrary code execution with the invoking user's privileges. The accessible scope could include the user's files, environment variables, OpenRouter API credential, Free Finder configuration, and outbound ne ...[truncated 175 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin free-finder to a specifically reviewed version rather than installing the latest available release.
  2. Require cryptographic hashes, such as through a hash-locked requirements file using pip --require-hashes.
  3. Provide a verified official source repository and document package publisher ownership and release provenance.
  4. Include the relevant source code in the project, or otherwise make it available for security review before execution.
  5. Use a lockfile and a controlled package index or allowlist to reduce dependency-confusion and account-compromise risks.
  6. Install and execute the CLI in an isolated virtual environment or sandbox with minimal filesystem and network permissions.
  7. Prevent installation scripts from receiving API credentials. Expose credentials only at runtime and only to the component that requires them.
  8. Document integrity-verification and dependency-update review procedures.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The documentation instructs the agent to perform model switching and notes use of input parameters for create/query/export operations, but it does not prominently warn that these commands modify local configuration. In a skill with write and exec tools, unclear disclosure can lead users to trigger persistent config changes unintentionally, affecting later sessions or redirecting model traffic.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill declares an extremely broad set of activation/scope keywords, many of which are fragmented and generic. In agent ecosystems, overbroad triggers can cause the skill to activate in unrelated contexts and then suggest or perform configuration-changing or exec-backed actions, increasing the risk of unintended execution and unsafe tool use.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill provides API key setup and directs users to configure a third-party API endpoint, but it does not clearly warn about privacy implications, secret handling, or that prompts and metadata may be sent to external services. In the context of an agent skill with exec/network usage, this omission can lead to accidental disclosure of credentials or sensitive user data to external providers.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The manifest positions this as a free edition focused on basic discovery, switching, and single-model checks, and the limitations section explicitly says batch model comparison is not supported. However, the examples document free-finder compare qwen3-coder deepseek-coder llama3.3-70b, which is a concrete multi-model comparison workflow with tabular results. That is a direct mismatch between the described free-tier scope and the documented behavior.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The example section presents free-finder compare with three models and a comparison table, implying batch comparison is available. But the limitations section later states '不支持批量模型对比测试(单次仅支持1个模型ping)'. These statements are directly inconsistent and misrepresent the skill's intended behavior.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The stated purpose is narrowly framed around discovering free models, switching the primary model, and checking status/troubleshooting. The later '配置管理' section adds broader configuration lifecycle capabilities such as export, import, reset, and diff, which go beyond the manifest's core '发现-切换-验证' workflow and are not clearly declared in the summary. This expands the advertised operational scope beyond the manifest's primary intent.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.