Back to skill

Security audit

gpt-image-gif

Security checks for vulnerabilities and agentic risk

Overview

The skill is rated benign with medium confidence: scanners found purpose-aligned image processing and no AIG findings, but flagged installer and image-privacy concerns, and inspection of a referenced script was incomplete.

Before installing, consider whether you are comfortable with the installer resolving an unpinned package version and with images or prompts potentially being sent to external services. The scan was partial: one referenced script was not fully inspected, so the benign verdict is not a guarantee of safety.

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
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (11)

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 26)May include surrounding context.

md
scripts/gif2web.sh needs ffmpeg and ffprobe, plus gif2webp or ImageMagick 7 for the WebP.

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 108)May include surrounding context.

md
6. **Convert for the web**: `scripts/gif2web.sh in.gif` (section 6).

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 200)May include surrounding context.

md
## 6. Post-processing: scripts/gif2web.sh

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 202)May include surrounding context.

md
A GIF is the biggest way to ship an animation. `scripts/gif2web.sh` writes an animated WebP (keeps

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 207)May include surrounding context.

md
bash scripts/gif2web.sh pip_wave.gif # -> pip_wave.webp + pip_wave.mp4 next to it

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 208)May include surrounding context.

md
bash scripts/gif2web.sh lol.gif out/ --loops 1 --bg 0x1E1E1E --quality 70

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 230)May include surrounding context.

md
default 200 ms frame time, and `gif2web.sh` on the boat, mascot and sticker GIFs (both the gif2webp and

MCP server referenced without pinned version: 'npx skills'.

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The installation example invokes an unpinned npm CLI through npx, which can download and execute a changing package version with the user's permissions. Although this is a skill installer rather than an MCP server, the supply-chain exposure is real: a compromised future release could execute malicious code during installation.

Content

No source excerpt is available for this finding.

The README does not warn that user-provided images and prompts are sent to an external service.

Medium
Category
Output Handling
Confidence
88% confidence
Finding

The usage examples direct the agent to animate a local image, while the description identifies varg and GPT Image 2.6 as the processing services. Although the README lists the API dependency, it never explicitly discloses that image contents and prompts leave the user's environment, which matters for confidential photos, logos, or other private material.

Content

No source excerpt is available for this finding.

The workflow uploads user images to an external service without a privacy warning.

Medium
Category
Output Handling
Confidence
94% confidence
Finding

The agent workflow directs uploading a selected user image to external storage without first checking whether external processing is authorized for that image. Still-image approval concerns appearance rather than disclosure, so following this workflow for a confidential local asset could transmit it outside the user's intended trust boundary; the openly stated cloud-service context reduces, but does not eliminate, this risk.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 131)May include surrounding context.

})

text

Over REST the same `input` goes to `POST https://api.varg.ai/v2/image` (see [gpt-image-2-6](../gpt-image-2-6/)
section 6). Text only (no `files`) works the same way on the text-to-image route.

## 3. Prompt: the motion and the loop lock