Back to skill

Security audit

magnet-searcher

Security checks for vulnerabilities and agentic risk

Overview

This skill is coherent, but it should be reviewed because it is designed to find torrent/magnet download links for movies and asks users to install unpinned global browser tooling.

Install only if you are comfortable with a skill that helps locate torrent/magnet links and with the legal and security risk of visiting torrent-related sites. Use it only for content you are authorized to download, consider pinning and verifying agent-browser before installing it, and run any browser automation in a low-privilege or 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

Warning
Location
SKILL.md:16
Finding
Unpinned Global Installation of a Third-Party npm Package## Vulnerability Details **File Location**: `SKILL.md`, lines 16-20 **Vulnerability Type**: Unpinned and globally installed third-party dependency **Risk Level**: Medium ### Vulnerable Code ```markdown ### 1. Install agent-browser ```bash npm install -g agent-browser ``` ``` ### Technical Analysis The skill instructs users or agents to install `agent-browser` globally from npm without specifying an exact version, lockfile, integrity hash, or verified package provenance. Consequently, the installed artifact is determined by the mutable package version resolved by npm at installation time rather than by the reviewed skill package. npm package installation may execute package lifecycle scripts. A compromised maintainer account, malicious future release, registry compromise, or unexpected upstream change could therefore cause attacker-controlled code to run during installation. Global installation also increases exposure by placing the package in a shared system- or user-level tool location rather than isolating it within the project. This finding concerns dependency installation security. The reviewed files do not demonstrate that the current `agent-browser` package is malicious. ### Attack Path 1. An attacker compromises the upstream package, its maintainer account, or its distribution channel and publishes a malicious release. 2. A user or agent follows the prerequisite command in `SKILL.md`. 3. Because no exact version or integrity value is specified, npm resolves and downloads the attacker-controlled release. 4. Malicious lifecycle scripts may execute during installation, or malicious package behavior may execute when the subsequently installed command is invoked. 5. The payload operates with the privileges of the account running npm and may modify resources accessible to that account. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the privileges of the installing ...[truncated 588 chars]
Remediation
## Remediation Suggestions - Pin `agent-browser` to a reviewed, exact version rather than resolving the latest release. - Use a project-local dependency with a committed lockfile instead of global installation. - Verify package provenance, registry source, publisher identity, and integrity metadata before installation. - Where compatible, disable npm lifecycle scripts during installation and explicitly review any scripts that must be enabled. - Execute browser automation in a restricted container or low-privilege account with limited filesystem, credential, and network access. - Establish a dependency-update process that reviews and tests each version before changing the pin. - Document the expected package name, version, registry, and integrity digest so unexpected substitutions fail closed.
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (4)

Vague Triggers

High
Confidence
98% confidence
Finding
The skill is explicitly designed to trigger on requests for movie downloads, torrent links, and magnet links, then automate discovery of download sources. In context, the broad triggers are dangerous because they increase the chance the agent will facilitate piracy or retrieve untrusted links from high-risk sites without meaningful user-intent verification.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
# Try the default install command
agent-browser install
# If that fails (no ARM64 build), use system package manager:
# Fedora: sudo dnf install chromium
# Then use: agent-browser --executable-path /usr/bin/chromium
```
Confidence
70% confidence
Finding
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
This JSON eval file contains English user prompts at L12 but requires Chinese responses in the expected_output fields at L07, L13, and L19. That imposes a language preference without any visible user opt-in or documented justification, which is a natural-language policy concern under the locale/language rule.

Natural-Language Policy Violations

Low
Confidence
72% confidence
Finding
Line L003 includes both English and Chinese trigger phrasing, and later guidance in L168 prescribes Chinese terms/sites for Chinese content, but the document does not state that this is optional or based on user preference. This can amount to an implicit language/locale behavior without clear opt-in.

Static analysis

No suspicious patterns detected.