Back to skill

Security audit

Memelink

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward meme-generation CLI skill, with the main caution being to verify the third-party CLI package before installing it.

Before installing, confirm the intended memelink package name and use a trusted, reviewed release when possible. Avoid exposing unnecessary environment variables, and use the output, clipboard, and browser-opening flags only when you intend those actions.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:17
Finding

Unpinned Third-Party CLI Installation Creates Supply-Chain Risk

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:17-24 and SKILL.md:106-110
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: Medium

Vulnerable Code

yaml
install:
  - kind: brew
    tap: dedene/tap
    formula: memelink
    bins: [memelink]
  - kind: go
    package: github.com/dedene/memelink-cli/cmd/memelink
    bins: [memelink]
markdown
## Installation

```bash
brew install dedene/tap/memelink-cli
text

### Technical Analysis

The Skill directs users or agents to install an executable from mutable third-party Brew and Go sources. Neither installation method pins an audited version or immutable commit, and no checksum, cryptographic signature, or other integrity validation is specified.

Consequently, the effective code installed when the instructions are followed can differ from the code that existed when the Skill was reviewed. Compromise of the upstream repository, package-maintainer account, Brew tap, release process, or referenced Go package could result in attacker-controlled code being installed and executed.

The Brew identifiers are also inconsistent: the metadata specifies the formula `memelink`, while the installation example uses `memelink-cli`. This ambiguity makes it harder to establish which package was reviewed and may cause users or automated installers to retrieve an unintended artifact.

### Attack Path

1. An attacker compromises the upstream repository, maintainer account, Brew tap, package publication process, or another mutable distribution component.
2. The attacker publishes a malicious version of the referenced CLI or changes the formula to retrieve a malicious artifact.
3. A user or agent loads the Skill and follows one of the unpinned installation instructions.
4. Brew or Go resolves the current upstream package rather than a previously audited immutable artifact.
5. The malicious package executes during installa
...[truncated 856 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the Go installation to an audited semantic version or, preferably, an immutable commit or release artifact.
  2. Pin the Homebrew package to a controlled, documented release and ensure the formula resolves to an immutable artifact.
  3. Publish expected SHA-256 checksums or signature-verification instructions for downloaded binaries and release archives.
  4. Use signed releases and verify signatures against a documented maintainer key before installation.
  5. Reconcile the formula-name discrepancy between memelink and memelink-cli, using one verified identifier consistently throughout the metadata and documentation.
  6. Document the expected binary version and provenance so automated tooling can reject unexpected versions or sources.
  7. Where feasible, vendor or independently review the exact dependency revision before recommending installation.
  8. Run the CLI without administrative privileges and expose only the environment variables and filesystem permissions required for meme generation.
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