T01 · Skill Instruction Hijacking
- Location
scripts/ask_question.py:25- Finding
Mandatory Agent behavior and output hijacking through appended instructions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a real NotebookLM integration, but it asks for sensitive browser-session authority and contains under-scoped automation behaviors that users should review carefully before installing.
Install only if you are comfortable giving this skill persistent access to your Google NotebookLM session and, if used, Z-Library session. Prefer a dedicated Google account, avoid shared machines, review file permissions under the skill data directory, be cautious with delete/sync commands, and do not let untrusted input choose run.py script names or trigger repeated follow-up queries automatically.
scripts/ask_question.py:25Mandatory Agent behavior and output hijacking through appended instructions
scripts/config.py:33Predictable unauthenticated Unix socket permits browser-daemon spoofing and cookie interception
scripts/auth_manager.py:610Plaintext authentication state is stored without explicit restrictive permissions
requirements.txt:7Automatic installation accepts unreviewed future dependency versions
scripts/run.py:501Runner path traversal allows execution of Python files outside the scripts directory
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
EPUB-to-Markdown conversion, HTML parsing, content splitting, and local file transformation are broader content-processing capabilities than the headline description suggests. While not necessarily malicious, they expand local data exposure and can cause users to underestimate the amount of document handling performed on their machine.
The documentation includes a direct file deletion command targeting the notebook library JSON. In an agent-assisted or copy-paste workflow, this can lead to irreversible loss of notebook metadata if the backup step is skipped, fails, or is stale, making it an unsafe destructive parameterized action.
cp ~/.claude/skills/notebooklm/data/library.json library.backup.json
# Reset library
rm ~/.claude/skills/notebooklm/data/library.json
# Re-add notebooks
python scripts/run.py notebook_manager.py add --url ... --name ...
Model output is used without validation or sanitization. Unvalidated output injected into downstream contexts (SQL, shell, HTML) enables injection attacks and arbitrary code execution.
# Query documentation during development
def check_api_usage(api_endpoint):
result = subprocess.run([
"python", "scripts/run.py", "ask_question.py",
"--question", f"Parameters and response format for {api_endpoint}",
"--notebook-id", "api-docs"
Code enumerates, copies, or searches environment variables for secrets. Bulk environment access can collect credentials unrelated to the skill's stated purpose.
"""Start the agent-browser daemon"""
print("🚀 Starting browser daemon...")
env = os.environ.copy()
env["AGENT_BROWSER_SESSION"] = self.session_id
daemon_script = SKILL_DIR / "node_modules" / "agent-browser" / "dist" / "daemon.js"
Code enumerates, copies, or searches environment variables for secrets. Bulk environment access can collect credentials unrelated to the skill's stated purpose.
"""Start the agent-browser daemon"""
print("🚀 Starting browser daemon...")
env = os.environ.copy()
env["AGENT_BROWSER_SESSION"] = self.session_id
daemon_script = SKILL_DIR / "node_modules" / "agent-browser" / "dist" / "daemon.js"
The manifest frames this skill as a notebook querying tool for source-grounded answers, but this file adds separate artifact-management capabilities including deleting artifacts, generating media, and downloading files. Those are materially broader operations than query-only access and change both the remote NotebookLM state and the local filesystem.
This code explicitly uses an anti-detection browser workflow to bypass Google's 'browser not secure' automation protections. Deliberately evading platform security controls is dangerous because it enables automated harvesting and reuse of authenticated sessions in ways the provider is trying to prevent, and it is not necessary for a simple user-facing query skill.
The generated instructions explicitly promote adding sources from Z-Library, which is unrelated to the stated direct-query NotebookLM purpose and introduces a pathway to acquire third-party copyrighted content through the skill workflow. In a coding-assistant skill, embedding this capability is more dangerous because it normalizes and operationalizes external content acquisition under a benign research/querying label.
Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.
)
parser.add_argument("--ai", type=str, help="AI platform to initialize for")
parser.add_argument("--target", type=Path, help="Target directory (default: current directory)")
parser.add_argument("--force", action="store_true", help="Overwrite existing files")
parser.add_argument("--list", action="store_true", help="List available platforms")
args = parser.parse_args()
The skill is presented as a query tool, but this wrapper exposes broad state-changing capabilities including create, rename, delete, upload, and artifact management. In an agent setting, this is dangerous because users or policy layers may grant it based on a read-oriented description while the code can modify or destroy NotebookLM data and trigger additional actions beyond expected scope.
No suspicious patterns detected.