Back to skill

Security audit

Cn Meme Generator

Security checks for vulnerabilities and agentic risk

Overview

This skill is a small meme image generator whose file writing and optional Pollinations network call match its stated purpose, with privacy and response-validation caveats.

Install only if you are comfortable with a Chinese-language meme tool. Use text mode for offline generation. In AI mode, avoid sensitive prompts because they are sent to Pollinations, and choose output paths carefully because the script writes the generated file directly.

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
scripts/cn_meme_generator.py:140
Finding

Unbounded and Unvalidated Remote Image Response

Content
View full analysis
Remediation
View remediation
MAX_DOWNLOAD_BYTES: raise ValueError("The remote image exceeds the permitted size") output_dir = os.path.dirname(os.path.abspath(output)) fd, temporary_path = tempfile.mkstemp(dir=output_dir, suffix=".download") try: received = 0 with os.fdopen(fd, "wb") as temporary_file: for chunk in resp.iter_content(chunk_size=64 * 1024): if not chunk: continue received += len( ...[truncated 431 chars]
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill's description, CLI messages, and help text are presented in Chinese only, which imposes a specific language/locale without offering the user a choice. Under the stated policy, forcing a language without opt-in is a natural-language policy violation unless the locale restriction is clearly justified.

Content

No source excerpt is available for this finding.

Dynamic import via __import__()

Medium
Category
Dangerous Code Execution
Confidence
75% confidence
Finding

Dynamic import() can load arbitrary modules at runtime, bypassing static analysis and potentially importing malicious code.

Content

Scanner excerpt · scripts/cn_meme_generator.py (reported line 115)May include surrounding context.

python
current = ''
        for char in words:
            test = current + char
            bbox = __import__('PIL').ImageDraw.ImageDraw.textbbox
            # 简单判断
            try:
                test_bbox = __import__('PIL').ImageDraw.ImageDraw.textbbox((0,0), test, font=font)

Dynamic import via __import__()

Medium
Category
Dangerous Code Execution
Confidence
75% confidence
Finding

Dynamic import() can load arbitrary modules at runtime, bypassing static analysis and potentially importing malicious code.

Content

Scanner excerpt · scripts/cn_meme_generator.py (reported line 118)May include surrounding context.

python
bbox = __import__('PIL').ImageDraw.ImageDraw.textbbox
            # 简单判断
            try:
                test_bbox = __import__('PIL').ImageDraw.ImageDraw.textbbox((0,0), test, font=font)
                if test_bbox[2] - test_bbox[0] <= max_width:
                    current = test
                else:

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

In AI mode, user-supplied prompt text is sent to an external service (image.pollinations.ai) without any explicit notice, consent, or data-handling warning. If users include sensitive personal, internal, or proprietary information in prompts, the tool may unintentionally disclose that data to a third party.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The natural-language instructions and examples are presented only in Chinese, which can amount to forcing a specific language without user opt-in. There is no statement that the skill is intended specifically for Chinese-speaking users or that alternative language support is unavailable by design.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The markdown states that AI mode uses the Pollinations API and that the image is automatically saved, but it does not clearly warn users that their prompt is sent to a third-party service or that a local file will be written as part of the operation. Because this skill description covers network transmission and file output, a clearer user-facing warning is warranted.

Content

No source excerpt is available for this finding.