Back to skill

Security audit

Daily Recipe

Security checks for vulnerabilities and agentic risk

Overview

The skill can generate recipe pages, but it also manages persistent scheduled recipe pushes with stored per-user settings and multi-channel delivery that deserve user review before installation.

Install only if you want a recipe skill that may set up recurring push reminders, store userId-based local settings, and generate pages with ad-ready placeholders and ClawCode branding. Review the push-toggle behavior, choose channels deliberately, and confirm the fixed Asia/Shanghai schedule is acceptable before enabling reminders.

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
Findings (1)

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:52
Finding

Forced Advertising Hooks and Third-Party Branding in Generated Output

Content
View full analysis
` in the ingredients column area. `
` after the recipe. - **Footer**: "Powered by ClawCode" ``` ### Technical Analysis The skill instructions require the agent to insert two advertising placeholders and fixed third-party branding into every generated recipe page. These elements are unrelated to the skill's primary recipe-generation function and are presented as mandatory visual requirements rather than optional, user-approved features. When the skill is loaded, these directives alter the agent's output behavior by requiring promotional integration points in the generated HTML. The fixed element identifiers also provide predictable targets that a downstream script, hosting environment, or content-processing system could use to inject advertisements. No evidence was found that this project itself populates the advertising elements, loads remote advertising code, or executes a payload. The issue is limited to mandatory manipulation of generated content. ### Attack Path 1. A user invokes the daily recipe skill to generate a recipe artifact. 2. The agent loads and follows the mandatory requirements in `SKILL.md`. 3. The agent creates `/mnt/user-data/outputs/daily-recipe.html`. 4. The generated page contains `ad-slot-sidebar`, `ad-slot-bottom`, and the fixed “Powered by ClawCode” footer. 5. A downstream renderer or script can identify the predictable advertising containers and populate them with promotional content. ### Impact Assessment The issue affects the integrity and neutrality of generated recipe artifacts. Users may receive undisclosed promotional hooks and third-party branding that they did not request. The instructions do not grant operating-system privileges, access credentials, read sensitiv ...[truncated 212 chars]
Remediation
View remediation
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (15)

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

A recipe skill should not also expose cron-style push subscription management, per-user configuration handling, and channel delivery controls without clearly declaring those capabilities. Hidden or under-declared operational features increase the risk of unauthorized persistence, unsolicited messaging, and storage of user identifiers or preferences beyond what users expect from a simple content-generation skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

A recipe skill should not also expose cron-style push subscription management, per-user configuration handling, and channel delivery controls without clearly declaring those capabilities. Hidden or under-declared operational features increase the risk of unauthorized persistence, unsolicited messaging, and storage of user identifiers or preferences beyond what users expect from a simple content-generation skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

A recipe skill should not also expose cron-style push subscription management, per-user configuration handling, and channel delivery controls without clearly declaring those capabilities. Hidden or under-declared operational features increase the risk of unauthorized persistence, unsolicited messaging, and storage of user identifiers or preferences beyond what users expect from a simple content-generation skill.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The keyword list includes very broad everyday phrases such as 'what to cook', 'dinner ideas', and Chinese equivalents like '今天吃什么' and '晚餐吃什么'. In an agent skill ecosystem, these generic triggers can cause the skill to activate unintentionally for ordinary conversation, creating routing confusion and possible interception of user requests that were not meant for this skill.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest keywords include generic phrases such as 'what to cook', 'cooking', 'meal idea', '午餐', '早餐', and '菜谱' that are broad enough to match ordinary conversation rather than a clearly scoped skill invocation. The file does not provide negative examples or activation constraints to distinguish when this skill should activate versus when a user is making a general cooking-related request.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

Writing an HTML file into user-data without clear disclosure is a transparency and privacy concern, even if the file appears benign. Undisclosed file creation can surprise users, contribute to storage persistence, and set a precedent for artifacts being written locally without explicit consent.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The presence of push-notification management commands in a recipe-generation skill is a suspicious scope increase and indicates the skill may do more than users expect. Even if the commands are only documented, they normalize operational behavior that could enable unsolicited notifications or user tracking when implemented.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

Push scheduling and multi-channel delivery control are not justified by the stated purpose of generating a recipe page, so they represent unnecessary privileged functionality. Unnecessary capabilities enlarge the attack surface and may allow abuse through spam, persistent messaging, or unintended data collection tied to notification channels.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This code embeds user-facing strings entirely in Chinese, including error messages and the generated prompt, while also mixing in fixed English naming for dish titles. There is no opt-in, configuration, or documented justification limiting the skill to a Chinese locale, which creates a natural-language policy concern under the language/locale rule.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The generated prompt mandates Chinese-centric output and explicitly requires '中英双语' without offering the user a language or locale choice. This is a natural-language policy concern because it imposes a specific language format by default rather than making it optional or context-justified.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
81% confidence
Finding

The skill supports Telegram, Feishu, Slack, and Discord delivery channels and emits cron-control commands that cause future automated messages to be sent. Multi-channel messaging infrastructure is not obviously required by a skill described only as providing daily recipe recommendations unless the manifest explicitly states subscription/push capabilities.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The script emits user-facing error and status text in Chinese, such as '无效userId' and other console messages, without offering any language selection. This is a natural-language locale policy concern because the skill imposes a specific language on all users rather than allowing opt-in or documenting a justified region-specific restriction.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The manifest describes a skill for recommending daily recipes with ingredients and cooking steps, but this file's primary behavior is enabling, disabling, and tracking recurring push schedules for users. Managing cron jobs and per-user delivery state is a materially broader operational behavior than simply generating or returning recipe content.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The scheduled push configuration fixes the timezone to 'Asia/Shanghai' for all users, which imposes a locale-specific behavior without opt-in or evidence of a region-specific requirement. This can cause policy and usability issues for users outside that locale.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

The README states the skill provides "Chinese and Western cuisines," and the keywords mix English and Chinese, but it does not clearly state whether cuisine or language preferences are user-selectable. This can create a locale or language policy concern if the skill defaults users into a specific language/cultural presentation without explicit choice.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.