Back to skill

Security audit

Meal Suggester

Security checks for vulnerabilities and agentic risk

Overview

This is a small local meal-suggestion skill with modest, disclosed file-based tracking and no evidence of hidden execution, network access, credential use, or destructive behavior.

Install only if you are comfortable with a French-first meal-planning skill that stores household preferences, allergies, stock, meal history, and shopping notes in local markdown files. Treat the automation claims cautiously: the shipped script mainly picks a random recipe and logs it, while richer learning, inventory matching, shopping updates, and 19:00 reminders are documented but not implemented here.

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
  • 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 (14)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The declared description presents a meal-planning companion that integrates stock awareness, both users' preferences, learning/rotation behavior, ingredient logging, and shopping suggestions. The actual code only chooses a random recipe from a fixed array, prints it, and records that suggestion in a history file. Although file paths for inventory, preferences, and shopping list are declared, they are not consumed or updated in the functional logic. This is a material mismatch because the core advertised capabilities—inventory-based selection, preference-aware recommendations, rotation/learning, ingredient logging, and shopping support—are absent.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 22)May include surrounding context.

md
- `SKILL.md` — this file

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The README explicitly states that the skill will automatically update personal preference files and household inventory/history records, but it does not document confirmation, review, or rollback safeguards before modifying stored user data. In this context the data is not highly sensitive like credentials, but it still includes behavioral preferences, household consumption patterns, and possibly allergies, so silent writes can cause privacy issues, inaccurate records, or unwanted persistence of personal data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill states that the assistant will 'automatically update' stock and tracking files based on conversational input, but it does not clearly warn users that local files will be modified. Hidden or insufficiently disclosed state changes are dangerous because they can surprise users, overwrite trusted records, or enable unintended persistence from ambiguous natural-language input.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The recipe names, descriptions, and instructions are predominantly written in French, and the user-facing output also instructs the user in French. There is no indication that the skill is region-specific or that users can opt into this locale, which creates a language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README consistently instructs use in French and presents all user-facing examples and behavior in that language, but it does not say the skill is intentionally French-only or offer another language option. Under the language/locale policy, forcing a specific language without opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The skill advertises a daily 19:00 cron-based reminder but does not clearly warn that it may proactively send messages in chat. While low severity, unsolicited scheduled messaging can violate user expectations, create noise, and in shared environments expose household routines or preferences to unintended viewers.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The usage instructions tell the user to say a French phrase to log ingredients, but the skill does not state that French is optional, configurable, or required for a justified locale-specific reason. This can amount to a language/locale policy issue because it implicitly steers interaction toward a specific language without user opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

Several suggested meal entries are written in French, and the file provides no indication that the user opted into French or that the skill is region-specific. This can violate language/locale policy when a skill implicitly fixes output language without documenting user choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file’s headings, instructions, and example interaction are written in French, including the expected user utterance at L33. This can amount to a language-policy issue because the skill appears to assume French interaction without giving the user an opt-in choice or explaining that the skill is intentionally French-only.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

This markdown file uses French item names and notes throughout, such as 'Navets', 'quelques-uns', and 'Pas de poissons/fruits de mer pour Thibaut'. Under the policy rule for natural-language violations, forcing a specific language without offering user choice can be a locale-policy issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

This markdown file contains user-facing profile content entirely in French, including dietary and allergy notes. The file does not indicate that French was selected by the user or that multilingual support is optional, which may conflict with language/locale policy requirements.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The preference content is written entirely in French, which imposes a specific language/locale without any indication of user opt-in or language choice. The policy for this audit flags natural-language locale constraints when they are not explicitly optional or justified.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

This shell script performs a file write by appending meal suggestions to the history log, but the write happens silently. While the header comments describe the script as a meal suggester, they do not disclose that running it modifies persistent files.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.