X To Notebooklm

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill mostly matches its stated purpose, but its script builds shell commands from user-controlled inputs, which could let a crafted URL or option run local commands.

Review before installing. If you use it anyway, only pass simple trusted URLs and notebook values, verify the NotebookLM CLI dependency and authenticated account, and delete temporary files after use. The safest path is to wait for a version that removes shell-string execution and uses safe argument handling.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A crafted URL, notebook name, notebook ID, or related environment value could run arbitrary commands on the user's machine when the skill is invoked.

Why it was flagged

The script executes shell command strings and inserts values derived from command-line or environment inputs. Quoting with double quotes is not sufficient protection against shell metacharacters or command substitution.

Skill content
const output = execSync(command, { ... });
const result = execCommand(`curl -s "${jinaUrl}"`, timeout);
`node "${NOTEBOOKLM_CLI_PATH}" create "${notebookName}" --json`
Recommendation

Replace execSync(command string) with fetch for web requests and execFile/spawn argument arrays for CLI calls; validate URLs and notebook identifiers; reject shell metacharacters; avoid running this version on untrusted input.

What this means

The skill can add notebooks and sources to the Google/NotebookLM account currently authenticated in the NotebookLM CLI.

Why it was flagged

The skill relies on an authenticated NotebookLM account and performs account mutations by creating notebooks and uploading sources. This is purpose-aligned and disclosed, but it is still delegated account authority.

Skill content
NotebookLM CLI - Installed and authenticated (run `notebooklm login` to authenticate) ... Create Notebook - Automatically create a new NotebookLM Notebook ... Upload Article
Recommendation

Use the intended NotebookLM account, prefer an explicit existing notebook ID when possible, and review the content before uploading.

What this means

The behavior also depends on whatever local NotebookLM CLI file exists at that path or is supplied through the environment.

Why it was flagged

The script executes a separate local NotebookLM CLI skill that is not included in this package or installed by an install spec. The dependency is disclosed, but its provenance and version are outside this artifact set.

Skill content
const NOTEBOOKLM_CLI_PATH = process.env.NOTEBOOKLM_CLI_PATH || `${process.env.HOME}/.openclaw/skills/tiangong-notebooklm-cli/scripts/notebooklm.mjs`;
Recommendation

Verify and install the NotebookLM CLI from a trusted source, pin or declare the dependency, and avoid overriding NOTEBOOKLM_CLI_PATH unless you trust the target file.

What this means

Uploaded article text may remain on the local system until manually deleted or cleaned by the operating system.

Why it was flagged

Fetched article content is written to a temporary file, and the shown success path returns after logging the path while cleanup appears only in the error path.

Skill content
writeFileSync(filepath, content, 'utf-8'); ... console.log(`📄 临时文件:${tempFile}`); return { sourceId, tempFile }; } catch (error) { ... unlinkSync(tempFile); }
Recommendation

Do not use sensitive/private content unless you are comfortable with a local temporary copy, and update the script to delete the temp file after successful upload.