cookbook-audit

Pass

Audited by Gen Agent Trust Hub on Sep 16, 2026

Risk Level: SAFECOMMAND_EXECUTIONEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTION
Full Analysis
  • Command Execution Consideration: The validate_notebook.py script constructs shell commands using string interpolation with user-supplied notebook paths. Specifically, the check_hardcoded_secrets method uses sh -c to pipe file paths to detect-secrets. \n
  • Evidence: cmd = ["sh", "-c", f"echo '{notebook_abs}' | ... --baseline {baseline_path} --plugin {plugins_path} --verbose"] in validate_notebook.py.\n
  • Concern: If a notebook path or directory name contains shell metacharacters such as single quotes or semicolons, it could result in the execution of unintended commands. Migrating to a list-based subprocess.run call without a shell would enhance the script's security posture.\n- External Resource Fetching: The script relies on uvx and uv run to dynamically download and execute detect-secrets and nbconvert during the validation process.\n
  • Evidence: The script uses uvx --from detect-secrets and uv run --with nbconvert within subprocess.run calls.\n
  • Concern: While these are established tools, performing remote downloads at runtime introduces a dependency on external registries and the integrity of the fetched packages.\n- Indirect Prompt Injection Surface: The skill is designed to ingest and analyze external Jupyter notebook files. Since the agent interprets the content of these notebooks to generate an audit report, there is a potential for instructions embedded within the notebook data to influence the agent's behavior.\n
  • Ingestion points: The agent reads markdown files generated from user notebooks in validate_notebook.py as part of the workflow described in SKILL.md.\n
  • Boundary markers: The skill defines a structured report format, but does not use explicit delimiters or "ignore" instructions when processing the raw notebook content.\n
  • Capability inventory: The skill can execute shell commands via validate_notebook.py and perform file writes to the tmp/ directory.\n
  • Sanitization: The script performs technical validation but does not sanitize the natural language content of the notebook before it is reviewed by the agent.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 16, 2026, 01:04 PM