Back to skill

Security audit

Book Review Skill

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local book-review helper with no evidence of hidden data access, network use, persistence, or destructive behavior.

Installers should treat this as a benign local writing helper. For stronger supply-chain hygiene, prefer a release that pins dependency versions and includes a lockfile, and be aware that broad book-review trigger phrases may invoke the skill for general reading-note requests.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (9)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file includes example user utterances like "帮我整理成书评", "之前读的那本书讲了什么来着", and "把这段话展开" as activation-style descriptions. These are common conversational phrases and the file does not clearly limit them to explicit slash commands or provide exclusion conditions, which could cause unintended invocation overlap.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The only invocation example is written in Chinese and the README does not state that other languages are supported or that Chinese is optional. This can be read as a language-specific usage expectation without explicit user opt-in, which may conflict with a language/locale choice policy.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The document presents core onboarding and sample usage in Chinese, including the first-success path and multiple example inputs, without stating that the user may choose their preferred language. This can amount to a language/locale policy issue because the skill implicitly steers interaction into a specific language rather than explicitly offering opt-in or multilingual support.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
94% confidence
Finding

The runtime dependency openclaw is specified with a caret range, which permits installation of newer releases than the one the author tested. That weakens supply-chain reproducibility and can silently introduce a vulnerable or malicious version, especially notable here because the dependency already has multiple published advisories and this skill executes under the OpenClaw runtime.

Content

Scanner excerpt · package.json (reported line 33)May include surrounding context.

json
},
  "homepage": "https://github.com/harrylabs0913/openclaw-skill-book-review#readme",
  "dependencies": {
    "openclaw": "^2026.3.0"
  },
  "devDependencies": {
    "@types/node": "^20.10.0",

Unverifiable Dependency: openclaw has 16 known advisory(ies) (CVE-2026-53846 (OpenClaw: Workspace .env npm_execpath could influence bundled runtime dependency); CVE-2026-32064 (OpenClaw's andbox browser noVNC observer lacked VNC authentication); CVE-2026-32006 (OpenClaw has a BlueBubbles group allowlist mismatch via DM pairing-store fallbac) +13 more), but the manifest does not pin a version, so it is unknown whether the installed release is affected

Low
Category
Supply Chain
Confidence
95% confidence
Finding

The manifest references openclaw with a floating version even though the package has numerous known advisories, making it impossible to determine from this file whether the installed version is affected. Because openclaw is the core runtime dependency for the skill, any unresolved vulnerability there could directly affect execution, isolation, or handling of user data.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
78% confidence
Finding

@types/node is unpinned, which reduces build reproducibility, but it is a development-only type package and does not ship as runtime code. The security impact is therefore limited, though it can still destabilize builds or pull in unexpected transitive content during development.

Content

Scanner excerpt · package.json (reported line 36)May include surrounding context.

json
"openclaw": "^2026.3.0"
  },
  "devDependencies": {
    "@types/node": "^20.10.0",
    "esbuild": "^0.19.8",
    "typescript": "^5.3.2"
  },

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
86% confidence
Finding

esbuild is a development dependency specified with a caret range, allowing unreviewed updates in the build toolchain. While this skill claims local-only processing, a compromised or vulnerable build dependency can still affect maintainers or CI systems during build and packaging.

Content

Scanner excerpt · package.json (reported line 37)May include surrounding context.

json
},
  "devDependencies": {
    "@types/node": "^20.10.0",
    "esbuild": "^0.19.8",
    "typescript": "^5.3.2"
  },
  "engines": {

Unverifiable Dependency: esbuild has 2 known advisory(ies) (GHSA-67mh-4wv8-2f99 (esbuild enables any website to send any requests to the development server and r); GHSA-g7r4-m6w7-qqqr (esbuild allows arbitrary file read when running the development server on Window)), but the manifest does not pin a version, so it is unknown whether the installed release is affected

Low
Category
Supply Chain
Confidence
84% confidence
Finding

esbuild has known advisories and the version is not pinned, so the actual exposure cannot be verified from the manifest alone. In this package it is a dev dependency, which lowers end-user risk, but it still matters for developers and CI because vulnerable build tooling can expose local files or permit unintended network interactions in development contexts.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
76% confidence
Finding

typescript is unpinned, which creates non-reproducible builds and opens a minor supply-chain risk through the developer toolchain. Because it is not a runtime dependency, the direct impact on users of the skill is lower than for production packages.

Content

Scanner excerpt · package.json (reported line 38)May include surrounding context.

json
"devDependencies": {
    "@types/node": "^20.10.0",
    "esbuild": "^0.19.8",
    "typescript": "^5.3.2"
  },
  "engines": {
    "node": ">=18.0.0"

Static analysis

No suspicious patterns detected.