Back to skill

Security audit

journal-monitor-xch

Security checks for vulnerabilities and agentic risk

Overview

This skill appears to be a coherent PubMed journal-monitoring helper, with review notes around automatic report files and an unpinned Python dependency.

Before installing, expect the skill to install Biopython, contact PubMed/NCBI for journal and article lookups, translate article titles into Chinese, and create a Desktop report when many articles are found. Consider pinning Biopython and asking for confirmation before file creation if you need tighter control.

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:8
Finding
Unpinned Third-Party Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, line 8 **Vulnerability Type**: Unpinned third-party dependency / supply-chain risk **Risk Level**: Medium **Complete Code Snippet**: ```yaml metadata: { "openclaw": { "emoji": "🧬", "requires": { "bins": ["python3"], "install": ["uv pip install biopython"] } } } ``` ### Technical Analysis The skill installs `biopython` without specifying an audited version, lockfile, package hash, or explicitly trusted package index. Consequently, installation may resolve to a package release that differs from the one reviewed. Python packages can execute installation-time or runtime code. In this project, `monitor.py` imports `Bio.Entrez`, so installed package code is loaded into the Python process. If the upstream package, distribution infrastructure, configured package index, or dependency chain is compromised, an attacker-controlled release could execute with the permissions of the user running the skill. This finding concerns mutable dependency resolution. The audit found no evidence that the current `biopython` package is malicious. ### Attack Path 1. An attacker compromises the package publication account, package index, distribution channel, or a transitive dependency used during resolution. 2. The attacker publishes or serves a malicious package release that satisfies the unrestricted `biopython` requirement. 3. Skill setup runs `uv pip install biopython`. 4. The installer resolves and installs the attacker-controlled or compromised release. 5. Malicious code executes during installation or when `monitor.py` imports `Bio.Entrez`. 6. The payload operates with the privileges and accessible resources of the account running the skill. ### Impact Assessment Successful exploitation could permit arbitrary code execution under the invoking user's account. Depending on that account's privileges and environment, the payload could read or modify accessibl ...[truncated 382 chars]
Remediation
## Remediation Suggestions 1. Pin `biopython` to a specifically reviewed version rather than resolving the latest available release: ```yaml "install": ["uv pip install biopython==<reviewed-version>"] ``` 2. Maintain a lockfile that records exact direct and transitive dependency versions. 3. Require cryptographic hash verification for downloaded distributions. 4. Configure installation to use an explicitly trusted package index and disable unintended fallback indexes. 5. Periodically audit pinned versions and update them through a controlled review process. 6. Perform installation and execution in a least-privileged, isolated environment without unnecessary credentials or filesystem access.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Natural-Language Policy Violations

High
Confidence
97% confidence
Finding
The skill mandates translation of every article title into Chinese without checking the user's language preference or obtaining consent. Forced transformation of content can cause unauthorized disclosure to third-party translation paths in some agent architectures, produce inaccurate domain-specific translations, and override user intent in a way that may mishandle sensitive or regulated information.

Vague Triggers

Medium
Confidence
85% confidence
Finding
The description 'Precision journal monitor using ISSN lookup. No tool-switching allowed.' does not clearly define when the skill should activate or what exact user requests it is intended to handle. Ambiguous activation increases the chance the skill is invoked in inappropriate contexts, where its restrictive instructions and autonomous behaviors could override safer, more relevant workflows.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
- The script now supports ISSN lookup, so it is highly accurate.

2. **Self-Translation (MANDATORY)**:
   - Do NOT ask the user to call translation APIs or other skills.
   - You have native-level translation capabilities. Use them.
   - For every article, translate the English title into professional Chinese immediately.
Confidence
84% confidence
Finding
The instruction 'Do NOT ask the user to call translation APIs or other skills' pushes the agent toward making unilateral workflow decisions instead of seeking user direction when alternate processing options exist. In context, this reduces transparency and user control, making it easier for the skill to enforce hidden assumptions about language handling and downstream actions.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill directs the agent to write a full report to the user's Desktop automatically once a threshold is met, without requiring prior user consent at the time of file creation. Silent local file creation is risky because it performs a side effect on the user's system, may expose sensitive research data in a predictable location, and can violate user expectations or policy controls.

Static analysis

No suspicious patterns detected.