Back to skill

Security audit

Worldbook

Security checks for vulnerabilities and agentic risk

Overview

This skill is openly a CLI knowledge tool, but it tells agents to treat remote worldbook text as instructions and act on it, which needs review before installation.

Review before installing. Use this only if you are comfortable with an agent fetching third-party worldbook text, and configure the agent to treat that text as untrusted reference material, not binding instructions. Avoid automatic command execution from retrieved worldbooks, require explicit approval for consequential actions, and prefer pinned or isolated CLI installation.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (2)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:58
Finding

Untrusted Remote Instructions Injected into the Agent Context

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:58-66
Vulnerability Type: Prompt injection through remotely retrieved instructions
Risk Level: High

Vulnerable Code

markdown
### Get Worldbook

Fetch a worldbook's content (instructions for AI):

```bash
worldbook get github

The content is returned as text - inject it into your context to learn how to use the service.

text

The same unsafe workflow is reinforced in `SKILL.md:96-103`:

```markdown
### As an AI Agent

When a user asks about a service:

```bash
# User: "How do I use GitHub CLI?"
worldbook get github
# → Returns instructions, inject into context

Technical Analysis

The skill explicitly directs an agent to retrieve externally maintained text and inject it into its active context as instructions. No trust boundary, source verification, content validation, instruction hierarchy, or isolation mechanism is specified.

Retrieved worldbook content is therefore able to influence the agent in the same context as the user's legitimate request. If a worldbook is malicious or its publishing infrastructure is compromised, it can contain prompt-injection directives that attempt to override the current task, solicit sensitive information, or induce dangerous tool calls.

The risk is not caused merely by reading remote documentation. It arises because the retrieved material is explicitly characterized as instructions for the AI and is incorporated into the operational context without being treated as untrusted data.

Attack Path

  1. An attacker publishes, modifies, or compromises a worldbook associated with a service or keyword likely to be requested.
  2. A user asks the agent for help with that service.
  3. Following the skill, the agent executes worldbook get <name>.
  4. The CLI returns attacker-controlled text containing deceptive instructions.
  5. The agent injects that text into its active context as directe ...[truncated 898 chars]
Remediation
View remediation

Remediation Suggestions

  1. Treat all worldbook output as untrusted reference data rather than authoritative agent instructions.
  2. Place retrieved content in a clearly delimited data block and explicitly prohibit it from overriding system, developer, user, or skill-level instructions.
  3. Do not automatically execute commands, access secrets, or invoke external tools based solely on retrieved content.
  4. Validate publisher identity, content provenance, signatures, and expected document schema before use.
  5. Scan retrieved material for prompt-injection indicators, requests for credentials, unrelated tool calls, encoded payloads, and attempts to change instruction priority.
  6. Present proposed consequential actions to the user and require explicit confirmation before execution.
  7. Apply least-privilege controls to any agent consuming worldbook content, including restricted filesystem, network, credential, and command access.
  8. Prefer a workflow in which remote content is summarized as documentation while commands are independently validated against trusted sources.

T08 · Insecure Dependencies

Warning
Location
SKILL.md:24
Finding

Unpinned Third-Party Package and Mutable Source Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:24-38
Vulnerability Type: Unpinned dependencies and installation from a mutable repository branch
Risk Level: Medium

Vulnerable Code

bash
# Python
pip install worldbook

# or Node.js
npm i -g worldbook

Or install from source:

bash
git clone https://github.com/femto/worldbook-cli
cd worldbook-cli
pip install -e .

Technical Analysis

Both registry installation commands omit an exact reviewed version and integrity verification. Consequently, the package resolved at installation time may differ from the version that was previously audited or expected.

The source installation clones the mutable default branch and immediately invokes pip install -e .. Python package installation can execute build-backend or setup logic, so a compromised or malicious upstream revision could run code during installation. The global npm installation broadens exposure by installing the package into the user's global environment and may affect other sessions or projects.

No lockfile, package hash, signed release verification, immutable commit identifier, sandbox, or least-privilege installation guidance is provided.

Attack Path

  1. An attacker compromises the package publisher account, package registry entry, source repository, or an upstream release process.
  2. The attacker publishes a malicious version or modifies the repository's default branch.
  3. A user or agent follows the documented installation command.
  4. The package manager resolves the attacker-controlled current version or the clone retrieves the modified branch.
  5. Installation hooks, build logic, or package code execute with the invoking user's permissions.
  6. The malicious package can then access resources available to that user and may persist in the Python environment or global Node.js installation.

Impact Assessment

Successful exploitation can execute arbitrary ...[truncated 551 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin registry packages to exact, reviewed versions rather than installing the latest available release.
  2. Use lockfiles and verified package hashes, such as pip hash checking, for reproducible installation.
  3. For source installation, check out a reviewed immutable commit hash or signed release tag before invoking the package manager.
  4. Verify package signatures, release provenance, repository ownership, and checksums through a trusted channel.
  5. Avoid global npm installation where possible; use a project-local dependency or isolated execution environment.
  6. Install Python packages in a dedicated virtual environment or container under a non-privileged account.
  7. Review package manifests, build backends, lifecycle hooks, and transitive dependencies before installation.
  8. Configure automated dependency scanning and controlled update review so pinned versions receive timely security updates.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill explicitly instructs agents to fetch worldbook content and inject it into context as operational guidance, treating external text as trusted instructions. This creates a direct prompt-injection path where malicious or compromised worldbooks can alter agent behavior, exfiltrate data, or induce unsafe tool usage.

Content

No source excerpt is available for this finding.

Ssd 1

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

Presenting untrusted worldbook content as instructions to inject directly into the agent’s context is a textbook trust-boundary failure. In this skill, the fetched content is specifically framed as guidance for agents, making prompt injection and instruction hijacking particularly likely and impactful.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The workflow shows the agent retrieving instructions, reading them, and then executing commands derived from that content without any verification or consent checkpoint. This normalizes an unsafe execution chain from untrusted content to real-world action, which is especially dangerous for a CLI-oriented agent.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The top-level description is broad enough to trigger this skill for many generic knowledge or search requests, which can unnecessarily route agents toward an external CLI and remote content source. In this skill’s context, overbroad invocation increases exposure to untrusted worldbook content and expands the chance of instruction injection chains.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The 'Use this skill when the user' section encourages invocation across a wide range of knowledge-related tasks without scope boundaries or negative examples. Because this skill retrieves third-party instruction text for agents, vague routing guidance makes unsafe use materially more likely.

Content

No source excerpt is available for this finding.

Ssd 4

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The documented multi-step pattern of retrieve → read instructions → act on them establishes an unsafe agentic chain even if each individual step seems ordinary. In this context, the skill is purpose-built to distribute instructions for service usage, so the chain materially increases the likelihood of acting on malicious or manipulated content.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.