Back to skill

Security audit

Restaurant Menu Copy Writer

Security checks for vulnerabilities and agentic risk

Overview

The skill provides owner-reviewed menu drafting and a local duplicate checker, with setup and accuracy limitations but no hidden or excessive access.

Use CSV input with a menu_item_name column for the helper; the supplied YAML quickstart does not match the implementation. Have the kitchen review allergen claims and verify regulatory requirements independently: the stated 10-location/$20 million threshold is not supported by [FDA guidance](https://www.fda.gov/food/nutrition-food-labeling-and-critical-foods/menu-labeling-requirements). The optional unsigned Windows app is unnecessary for this workflow and requires separate assessment.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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 (5)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The supplied code implements a standalone duplicate-reporting utility. Although deduplication could support a broader menu-writing workflow, this chunk contains no copywriting or compliance-checking functionality, making its primary behavior materially different from the declared purpose. Local CSV reads and report writes are ordinary implementation details, not separate security concerns.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Deduplication could support menu preparation, but it is the only operation shown. The supplied chunk does not demonstrate description writing, allergen wording, price formatting, or federal labeling checks, making its apparent primary function materially different from the declared purpose. This assessment is limited to the visible invocation; the script's internal behavior cannot be verified.

Content

No source excerpt is available for this finding.

Skill declares no tool scope ('permissions' or 'allowed-tools') but code capabilities were detected: file_write.

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

The implemented workflow reports duplicate CSV rows rather than producing or checking restaurant menu copy.

Medium
Category
Excessive Agency
Confidence
96% confidence
Finding

The manifest promises menu descriptions, allergen statements, price display, and federal menu-labeling checks. This workflow only groups rows by normalized menu item name and writes a duplicate report; the guardrails at L101–L103 are printed instructions, not implemented checks.

Content

No source excerpt is available for this finding.

The module documentation promises duplicate merging, but the code only reports duplicates.

Low
Category
Excessive Agency
Confidence
99% confidence
Finding

L004 explicitly says the script finds and merges duplicate records. In L085–L104, duplicate rows are collected for reporting, but no records are merged and no consolidated dataset is written.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.