Back to skill

Security audit

Main Image Editor

Security checks for vulnerabilities and agentic risk

Overview

This is a purposeful PSD-editing tool, but it needs review because it overwrites local design files and has confirmed rollback and temporary-file handling weaknesses.

Install only if you are comfortable letting it read provided screenshots, resolve PSD/PSB files through your PSD index, overwrite source design files, and create PNG/ZIP outputs. Prefer dry-run first, keep your own backups for important PSDs, avoid running it on shared machines with sensitive project names or copy, and be especially careful with batches that edit the same PSD more than once.

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 (2)

T09 · Insecure Skill Coding Practices

Error
Location
lib/task-orchestrator.js:363
Finding

Rollback Order Can Preserve Partial Changes When Multiple Tasks Target the Same PSD

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
lib/task-orchestrator.js:18
Finding

Task Data Is Written to Shared Temporary Storage Without Restrictive Permissions

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (11)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The description states the skill orchestrates edits from a 'Chinese instruction,' which is a natural-language locale constraint. The file does not offer an alternative language option or indicate that Chinese is optional, so it appears to impose a specific language without user opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The request payload specification says text is 'Chinese requirement text,' which again imposes a specific language requirement in natural-language documentation. No user choice, fallback, or region-specific justification is provided elsewhere in the file.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The JSON contains user-facing text fields in Chinese ("主标题" and "新品上市") with no indication that language selection is configurable or chosen by the user. This can violate language/locale policy when a skill or request format implicitly forces a specific language without opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This JSON request contains user-facing natural-language instructions entirely in Chinese ("请按截图完成主图修改并导出png打包") with no indication that language selection is optional or that the skill is intentionally limited to a Chinese-language workflow. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The OCR path explicitly forces Tesseract to use "chi_sim+eng", and elsewhere the parser only recognizes Chinese edit phrases and returns Chinese-only error messages. There is no indication in this file that the user opted into Chinese handling or that the skill is intentionally limited to a Chinese-only context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The Vision OCR request fixes recognition languages to "zh-Hans" and "en-US", which imposes locale behavior regardless of user preference. The file does not provide a mechanism for user selection or clearly justify the locale restriction.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The export behavior is controlled by matching only Chinese phrases such as '不导出', '仅修改', '只改文案', '不需要导图', and '桌面'. This embeds a language-specific policy into runtime behavior without any visible opt-in or alternative language support, which can exclude users operating in other languages.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The script automatically configures PNG export output and ZIP bundle creation, which are file-writing operations. While CLI flags such as --dry-run and --force exist, there is no confirmation prompt, user-facing log message, or explanatory comment/docstring in this file disclosing that running the skill will create export folders and archive files.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

This manifest-like JSON includes hard-coded Chinese text values such as the layer name and replacement text, with no indication that language selection is optional or user-configurable. Under the natural-language policy rules, fixed locale-specific content can be a policy concern when it is not clearly documented as region-specific or offered as an opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The natural-language request content is entirely in Chinese and implies the skill interaction is expected in that language. For a sample request file, this creates a locale/language constraint without any indication that users may choose another language or that the skill is intentionally region-specific.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The function automatically reads a screenshot path and performs OCR extraction on the image contents, which may expose sensitive text contained in the screenshot. In this file there is no confirmation prompt, user-facing log/print, or comment/docstring warning that screenshot contents will be analyzed.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.dangerous_exec

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
lib/intent-parser.js:41

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
lib/task-orchestrator.js:36