Back to skill

Security audit

wos-crawler

Security checks for vulnerabilities and agentic risk

Overview

This skill is a WOS paper-download helper, but it stores login cookies automatically and gives broad activation and install guidance without enough safeguards.

Review carefully before installing. Use a dedicated virtual environment, confirm you are comfortable with WOS session cookies being saved locally, check whether the package includes the missing Web UI implementation elsewhere, and consider institutional terms, copyright, and Sci-Hub access implications before using the downloader.

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:59
Finding
Unpinned Third-Party Python Dependencies## Vulnerability Details **File Location**: `SKILL.md`, line 59 **Vulnerability Type**: Unpinned and non-reproducible dependency installation **Risk Level**: Medium ### Vulnerable Code ```markdown - 依赖: `pip install selenium pandas openpyxl flask requests` ``` ### Technical Analysis The installation command retrieves five third-party packages without exact version constraints, integrity hashes, or a reviewed lockfile. Package resolution is therefore mutable: the versions installed depend on what the package index serves at installation time. This creates a supply-chain risk because a newly compromised, malicious, or vulnerable release could be selected automatically. Python packages may execute package-controlled code during installation or when imported by the application. The project does not provide a requirements file, hash verification, or another mechanism to reproduce and authenticate the reviewed dependency set. The audit found no evidence that any named dependency is currently malicious. The vulnerability is the unsafe, unpinned installation process itself. ### Attack Path 1. A user follows the prerequisite documented in `SKILL.md`. 2. The user runs `pip install selenium pandas openpyxl flask requests`. 3. Pip resolves package versions from the configured package index at that moment. 4. A compromised or newly vulnerable package release is selected because no approved version or hash is enforced. 5. Package-controlled code executes during installation or later when the application imports the dependency. 6. That code operates with the privileges and environmental access of the user running pip or the application. ### Impact Assessment Successful exploitation could allow arbitrary code execution with the privileges of the installing or application user. Depending on that user's environment, the affected scope may include local files, browser or application data accessible to the account, environment variables, network credentials, and outbound ...[truncated 455 chars]
Remediation
## Remediation Suggestions 1. Create a dependency manifest containing reviewed, exact package versions. 2. Generate and commit a lockfile with cryptographic hashes for every direct and transitive dependency. 3. Install dependencies with hash enforcement, for example: ```bash python -m pip install --require-hashes -r requirements.txt ``` 4. Use a dedicated virtual environment and avoid installing dependencies as an administrator or root user. 5. Configure pip to use an explicitly trusted package index and prohibit unexpected extra indexes to reduce dependency-confusion exposure. 6. Continuously scan locked dependencies for known vulnerabilities and update them through a reviewed change process. 7. Include the referenced application source code in the project so its imports, cookie handling, network destinations, file operations, and dependency usage can be audited.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger phrases include very broad terms such as '论文下载' and generic paper-download requests, which can cause the skill to activate outside a narrowly intended WOS context. Because the skill facilitates web crawling and multi-source PDF retrieval including Sci-Hub, accidental invocation increases the chance of routing users into high-risk or policy-sensitive behavior without clear intent.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill states that WOS login cookies are automatically persisted for future sessions, but the description does not clearly warn users before credential-adjacent session data is stored. Persistent cookies can enable session hijacking or unintended account reuse if stored insecurely, especially in a local web app that automates authenticated browsing.

Natural-Language Policy Violations

Low
Confidence
83% confidence
Finding
Most of the user-facing instructions and operational guidance are presented in Chinese, which can impose a language requirement on users or agents without an explicit opt-in or alternative locale. The file does not state that the skill is Chinese-only or offer a language choice.

Static analysis

No suspicious patterns detected.