Back to skill

Security audit

KitchenOwl

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward KitchenOwl CLI helper with disclosed install, authentication, and data-changing commands.

Before installing, verify that the kitchenowl-cli package and GitHub project are the ones you intend to trust. Treat KitchenOwl auth tokens as sensitive, and make sure the agent asks before running delete, remove-item, or bulk-edit commands.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:4
Finding
Unpinned Third-Party Package Installation## Vulnerability Details **File Locations**: - `SKILL.md:4` - `SKILL.md:14` - `references/commands.md:6` **Vulnerability Type**: T08: Insecure Dependencies **Risk Level**: Medium **Complete Code Snippets**: `SKILL.md:4`: ```yaml metadata: {"author":"KitchenOwl","homepage":"https://github.com/kitchenowl/kitchenowl-cli","openclaw":{"requires":{"anyBins":["kitchenowl"]},"install":["pipx install kitchenowl-cli"]}} ``` `SKILL.md:12-17`: ```markdown Prefer `pipx` for isolated CLI installs. ```bash pipx install kitchenowl-cli kitchenowl --help kitchenowl --version ``` ``` `references/commands.md:4-7`: ```markdown Install: ```bash pipx install kitchenowl-cli ``` ``` ### Technical Analysis The installation instructions resolve the current release of `kitchenowl-cli` and its transitive dependencies at installation time. No exact version, package hash, signature, lockfile, or other integrity constraint is specified. Consequently, the reviewed skill does not uniquely identify the code that will execute when the installation command is invoked. The package name, stated purpose, and linked GitHub organization are internally consistent. The audited files therefore provide no evidence of intentional typosquatting, dependency confusion, or a currently malicious release. The security issue is the mutable and insufficiently verified supply-chain boundary: a future compromised, replaced, or unexpectedly changed package release could be installed without requiring any modification to this skill. `pipx` provides environment isolation for Python packages, but package installation and package entry points still execute with the privileges of the invoking user. Isolation does not establish package authenticity or prevent malicious package code from accessing resources available to that user. ### Attack Path 1. An attacker compromises the upstream package publishing account, distribution artifact, or one of ...[truncated 1423 chars]
Remediation
## Remediation Suggestions 1. Replace the unconstrained package requirement with an exact, reviewed version, for example: ```bash pipx install "kitchenowl-cli==REVIEWED_VERSION" ``` 2. Document the authoritative package index and upstream repository so operators can verify package provenance. 3. Verify distribution hashes or cryptographic signatures where the release process supports them. Prefer a controlled requirements or constraints file containing exact versions and hashes for the package and its transitive dependencies. 4. Add an explicit upgrade process that requires security review before changing the pinned version rather than installing the latest release implicitly. 5. Perform installation with a non-privileged user and avoid exposing unrelated secrets in the installation environment. 6. Keep the package isolated through `pipx`, but do not treat environment isolation as a substitute for version pinning and artifact verification.
Vulnerability Patterns
  • Rogue AgentSelf-Modification, Session Persistence
  • 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 (3)

Session Persistence

Medium
Category
Rogue Agent
Content
---
name: kitchenowl-cli
description: Use kitchenowl-cli from terminal with pipx install, auth, and core read/write commands for KitchenOwl.
metadata: {"author":"KitchenOwl","homepage":"https://github.com/kitchenowl/kitchenowl-cli","openclaw":{"requires":{"anyBins":["kitchenowl"]},"install":["pipx install kitchenowl-cli"]}}
---
Confidence
60% confidence
Finding
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Vague Triggers

Medium
Confidence
90% confidence
Finding
The default prompt uses a broad trigger phrase, 'Use $kitchenowl-cli to install kitchenowl-cli with pipx and run the right KitchenOwl commands,' which can activate on general install or command-execution requests without sufficiently constraining scope. In an agent environment, this ambiguity can cause unintended tool invocation and package installation, increasing the risk of unauthorized command execution or surprising side effects.

Missing User Warnings

Medium
Confidence
87% confidence
Finding
This markdown file includes commands that remove shopping list items and delete recipes, but the reference provides no user warning that these actions are destructive or may be irreversible. Under the markdown-file criteria for missing user warnings, descriptions should warn about behaviors that can affect user data or system integrity.

Static analysis

No suspicious patterns detected.