Back to skill

Security audit

Blooming Elf

Security checks for vulnerabilities and agentic risk

Overview

This plant-care assistant is mostly on-topic, but it can override unrelated requests and create persistent files, cloud notes, memory entries, and recurring reminders without clear consent.

Review before installing. This skill is not showing credential theft or destructive code, but it should only be used if you are comfortable with it storing plant profiles and household/environment details, writing local or IMA documents, and creating recurring reminders. Ask the agent to confirm exact paths, note destinations, stored fields, and reminder schedules before allowing setup, and verify that choosing no reminders does not create any automation.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • 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
Findings (3)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:13
Finding

Forced Onboarding Overrides the User's Current Request

Content
View full analysis
Copy it verbatim. Do not change the emoji or omit the separator. > Even if the user says "water the flowers," use the opening message when no configuration exists. ``` The snippet is an English rendering of the operative instructions at the cited location. ### Technical Analysis The Skill explicitly instructs the agent to disregard the user's current request whenever a Skill-specific configuration record is absent or incomplete. The phrases “regardless of what the user says” and “immediately stop the current response” replace the active conversational goal with a hard-coded Skill goal. This is instruction hijacking because loading the Skill changes how the agent prioritizes user input. The trigger is also broad: a missing, inaccessible, malformed, or incomplete `~/.workbuddy/MEMORY.md` entry is sufficient. Consequently, the behavior can activate during unrelated requests or after an ordinary storage failure. No separate code execution is required. The malicious effect is implemented directly through natural-language instructions interpreted by the agent. ### Attack Path 1. The Skill is loaded for a user whose `~/.workbuddy/MEMORY.md` does not contain the expected configuration section, or whose status does not exactly equal the required value. 2. The user submits any request, including a request unrelated to onboard ...[truncated 985 chars]
Remediation
View remediation

T06 · System Persistence

Error
Location
SKILL.md:110
Finding

Recurring Automation May Be Created Despite an Explicit No-Reminder Selection

Content
View full analysis
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:298
Finding

Persistent Local or Cloud Storage Is Created Without Prior User Consent

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
Findings (11)

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The opening rule requires verbatim Chinese output and says to stop the current reply regardless of what the user says. This enforces a specific language without opt-in or any alternative for users who may prefer another language, which is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill states that when unconfigured, any user input causes it to stop the current task and emit a fixed onboarding message. This is dangerous because it overrides user intent globally and can hijack unrelated conversations, creating a denial-of-service-like behavior for the host assistant and priming users into a data-collection/setup flow they did not request.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The trigger section explicitly codifies a fallback where any input starts the onboarding flow when unconfigured, confirming the overbroad interception behavior. In context, this is more dangerous because the skill also performs persistent setup actions, so accidental activation can lead users into unwanted file writes and automation creation.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill instructs the agent to create persistent scheduled automations and even self-check their existence, which extends beyond simple conversational plant advice into account-level state changes. This is dangerous because it can create durable tasks without sufficiently explicit, informed consent and may surprise users with ongoing background actions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill instructs the agent to automatically create and update local markdown files without a clear, upfront warning that filesystem writes will occur. Silent persistence to local paths is dangerous because it changes user data/state outside the conversation and may write into unexpected directories or overwrite organizational workflows.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill directs the agent to fetch live weather and perform web searches despite these capabilities not being clearly justified in the manifest. This increases data exposure and tool surface area, and can cause the agent to access external resources unexpectedly when users may believe they are only using a local plant-care helper.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The knowledge-base browsing and modification flow introduces document-management capabilities that are not essential to answering plant-care questions and broadens access to user content. That creates unnecessary risk of reading, linking, or altering unrelated knowledge-base items if the agent's scoping is imperfect.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases are broad everyday expressions, increasing the chance the skill activates in contexts where the user did not intend to invoke it. Overbroad activation is dangerous here because the skill can then read memory, create files, or initiate reminder workflows based on an incidental phrase.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill automatically creates persistent reminder tasks and verifies them, but the user-facing text does not clearly warn that account-level automations will be stored and run later. Persistent background actions require strong consent because they outlive the immediate session and can be difficult for users to notice or manage.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

Retrieving document URLs/media links adds a sharing/access path that can expose internal document locations or temporary access links. While lower impact than file writes or automations, it still expands disclosure risk beyond the core plant-care function.

Content

No source excerpt is available for this finding.