Back to skill

Security audit

Oven

Security checks for vulnerabilities and agentic risk

Overview

This is a local oven/home logging tool with disclosed local storage and no evidence of hidden network access, privilege escalation, or destructive behavior.

Before installing, understand that anything you log is saved in plaintext under ~/.local/share/oven and exports duplicate that history locally. Avoid entering sensitive personal details, and be careful opening CSV exports in spreadsheet software because user-entered values are not sanitized for formulas.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/script.sh:53
Finding

Unescaped User-Controlled Data in JSON and CSV Exports

Content
View full analysis
"$out" local first=1 for f in "$DATA_DIR"/*.log; do [ -f "$f" ] || continue local name=$(basename "$f" .log) while IFS='|' read -r ts val; do [ $first -eq 1 ] && first=0 || echo "," >> "$out" printf ' {"type":"%s","time":"%s","value":"%s"}' "$name" "$ts" "$val" >> "$out" done < "$f" done echo "\n]" >> "$out" ;; csv) echo "type,time,value" > "$out" for f in "$DATA_DIR"/*.log; do [ -f "$f" ] || continue local name=$(basename "$f" .log) while IFS='|' read -r ts val; do echo "$name,$ts,$val" >> "$out"; done < "$f" done ``` ### Technical Analysis User-supplied tracking values are stored in log files and subsequently inserted directly into JSON and CSV exports without format-specific encoding. For JSON output, characters such as double quotes, backslashes, control characters, and embedded line breaks are not escaped. A crafted value can therefore terminate the intended JSON string, inject additional properties or objects, or make the exported document syntactically invalid. For CSV output, fields are neither quoted nor escaped. Commas, double quotes, and line breaks can alter the exported row structure. More importantly, values beginning with spreadsheet formula indicators such as `=`, `+`, `-`, or `@` may be interpreted as formulas when the CSV file is opened in spreadsheet software. The exact effects depend on the spreadsheet application and its security settin ...[truncated 1849 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The description partially matches the code: the script does support inventory, schedule, reminders, usage logging, and stats, all stored locally. However, the implemented tool is materially broader than the declared purpose. It acts as a general local logging/export/search toolkit with many extra categories unrelated or only loosely related to 'track oven usage and cooking schedules.' The primary purpose is not just oven-session tracking; it includes generic data capture, reporting, export, search, maintenance/status summaries, and miscellaneous categories like cost, seasonal, and tips. No dangerous external access or hidden permissions appear, but the declared description understates the actual capabilities enough to count as a mismatch.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The script persistently stores all user-provided inputs in plaintext log files under ~/.local/share/oven without clearly warning users. Because entries may include schedules, reminders, inventory details, or other sensitive household information, this can create an avoidable privacy exposure to other local processes, backups, or anyone with access to the account.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The manifest describes a focused oven skill for tracking oven usage and cooking schedules, with inventory checks and stats as related functions. The help and command set expose unrelated capabilities such as checklist, cost, maintain, report, seasonal, and tips, indicating a generic household toolkit rather than a narrowly scoped oven tracker.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The export feature aggregates stored user data into additional files on disk without an upfront warning, increasing the footprint and duplication of potentially sensitive information. Exported CSV, JSON, or TXT files are easier to copy, ingest, or exfiltrate than scattered logs, so silent creation raises privacy and data-handling risk in the skill context.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The documentation says the tool works offline and mentions automatic history/activity logging plus export, but it does not clearly warn users that their activity will be persistently stored under a local path. In a household-tracking context this can expose behavioral history or sensitive notes to other local users, backups, or accidental export, especially if users assume the tool is ephemeral.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The file header identifies the script as 'Oven — home tool', which aligns with an oven-oriented skill name, but the user-facing help says 'Oven v2.0.0 — home toolkit' and lists many non-oven-specific commands. This documentation creates conflicting intent signals about whether the script is a focused oven skill or a general-purpose household logger.

Content

No source excerpt is available for this finding.