Back to skill

Security audit

Jimeng Prompter

Security checks for vulnerabilities and agentic risk

Overview

This is a Jimeng prompt-writing skill, but it needs review because a bundled memory file still tells the agent to save preferences automatically despite consent promises elsewhere.

Install only if you are comfortable with local cross-session visual preference memory. Before relying on it, review or disable references/evolution-memory.md, require an explicit yes before every write, and periodically inspect or delete stored preferences.

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
references/evolution-memory.md:4
Finding

Persistent preference memory may be written without explicit user consent

Content
View full analysis

Vulnerability Details

File Location: references/evolution-memory.md:4
Vulnerability Type: Conflicting persistent-memory consent instructions
Risk Level: Medium

Vulnerable Snippet

The following is an English rendering of the complete relevant source block:

markdown
# Jimeng Prompt Master — Evolution Memory

> v3.0 lightweight evolution engine. Records visual preferences from each session and automatically injects them into the Director's visual intent card across sessions.
> Automatically appended after each session, with incremental updates to the summary section at the top. Do not edit manually.

This conflicts with the consent requirements in SKILL.md:731-740 and SKILL.md:749-752, which require the Agent to ask before writing:

markdown
- When the user explicitly expresses satisfaction, ask whether the preference should be recorded.
- When the user provides negative feedback, ask whether the avoidance preference should be recorded.
- When the user changes the topic, ask whether this session's preferences should be recorded locally.
- Removed: automatic writing to evolution memory.
- Writing now occurs only after obtaining consent.

It also conflicts with PRIVACY.md:29-35, which states that consent is required before every write and that user data will not be written silently.

Technical Analysis

This project is an instruction-driven Agent Skill, so Markdown directives define operational behavior even though no executable scripts are present. The bundled memory file instructs the Agent to append session information automatically and tells users not to edit the file. That instruction directly contradicts the normative consent gate elsewhere in the package.

If the Agent treats the memory file as an authoritative reference, it may execute the automatic-write instruction after a session without first obtaining affirmative consent. The data schema described in SKILL.md in ...[truncated 2064 chars]

Remediation
View remediation

Remediation Suggestions

  1. Replace the automatic-write directive in references/evolution-memory.md with an explicit consent requirement, for example:

    markdown
    > Append a session record only after the user gives explicit affirmative consent. If consent is absent, ambiguous, or denied, do not write or update this file.
    
  2. Declare SKILL.md as the sole authoritative policy for preference-memory operations. Reference files should contain data only and should not redefine write authorization.

  3. Add a fail-closed conflict rule:

    markdown
    If any bundled instruction conflicts with the consent policy, do not write persistent memory.
    
  4. Require consent to be specific to the current write. Do not treat prior consent, silence, topic changes, or general acknowledgments as authorization for later sessions.

  5. Before writing, show the user the exact categories that will be stored and permit selective exclusion.

  6. Record consent status separately from preference content so the Agent can verify that every persisted entry has corresponding affirmative authorization.

  7. Add validation tests that scan bundled documentation for phrases equivalent to automatic writing and reject releases that contradict the consent policy.

  8. Clarify the retention statement. The current policy advertises a 90-day default but only recommends manual cleanup. Either implement consent-aware expiration or state clearly that deletion is user-managed.

Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

This changelog documents a user-facing confirmation prompt in Chinese only: "记录这次偏好到本地吗?". It also contains multiple feature descriptions centered on Chinese outputs and terminology, but no indication that users can opt into another language, which may violate a language/locale choice policy.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The entry states that concept images now append a Chinese description line ("中文描述行") so non-technical users can understand it at a glance. This suggests the skill enforces a specific language for output content without noting user choice or a region-specific requirement.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The privacy policy is presented only in Chinese, which can prevent non-Chinese-speaking users from understanding what data is collected, how long it is retained, and how consent and deletion work. That undermines informed consent and can cause users to unknowingly agree to local persistence of preference data, especially in a privacy-sensitive skill that stores cross-session memory.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

文件标题与核心介绍全部使用中文,且全文未说明这是仅面向中文用户的区域性技能,也未提供语言选择或用户可改用其他语言的说明。根据规则,强制特定语言而无用户选择或明确合理限定,属于自然语言政策风险。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill is written to operate in Chinese and does not offer language negotiation or fallback, which can cause the model to override the user's preferred language or reduce user comprehension of prompts, privacy notices, and consent requests. In a skill that asks for consent and may persist local preferences, reduced comprehension can undermine meaningful informed consent.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger list includes broad, everyday phrases such as '生成一个' + description and '我想拍/做一个...系列', which can match ordinary user requests and invoke the skill unintentionally. That increases the chance of prompt hijacking of unrelated conversations, unexpected file-memory behavior, and user confusion about why this skill activated at all.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The document explicitly states that visual preferences are recorded across sessions and automatically reinjected into future outputs, which implies persistent profiling behavior. In a skill marketed as privacy-first and consent-gated, undocumented or unconditional cross-session memory creates a real privacy and trust risk because users may not realize their data is being retained and reused.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The markdown describes persistent cross-session memory behavior but does not provide any warning that user preferences may be stored and reused over time. This is risky because users may disclose stylistic or personal preference information believing it is ephemeral, when the system instead retains it for future sessions.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The line says each session is automatically appended at the end of the conversation, indicating unconditional persistence of session-derived data. That directly conflicts with a consent-gated memory model and is dangerous because it normalizes silent retention of user preferences without a per-session or prior opt-in control.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

All visible instructional text is presented in Chinese, with no indication that users may choose another language or that the skill is intentionally restricted to a Chinese-language audience. This can constitute a language/locale policy issue when no opt-in or justification is provided.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.