Back to skill

Security audit

Gifgrep

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward wrapper for a GIF search CLI, with a supply-chain caution around its unpinned third-party installer sources.

Before installing, consider pinning or independently verifying the gifgrep source you install, especially if using the Go @latest path or the third-party Homebrew tap. Run it with normal user privileges and only provide GIPHY or Tenor API keys if you are comfortable using them with this CLI.

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:5
Finding
Unpinned Third-Party Installation Sources## Vulnerability Details **File Location**: `SKILL.md`, line 5 **Vulnerability Type**: Supply-chain risk from mutable and third-party dependency sources **Risk Level**: Medium ```json metadata: {"clawdbot":{"emoji":"🧲","requires":{"bins":["gifgrep"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/gifgrep","bins":["gifgrep"],"label":"Install gifgrep (brew)"},{"id":"go","kind":"go","module":"github.com/steipete/gifgrep/cmd/gifgrep@latest","bins":["gifgrep"],"label":"Install gifgrep (go)"}]}} ``` ### Technical Analysis The Go installation source uses the mutable `@latest` selector, so the installed source code can change after this Skill has been reviewed. The Homebrew installation also relies on the third-party tap `steipete/tap` without declaring a reviewed version or integrity checksum. Consequently, the security of installation depends on the continuing integrity of external repositories, release infrastructure, package metadata, and maintainer accounts. A future compromised or malicious upstream release could be installed without any corresponding change to this Skill file. The project contains no bundled scripts or evidence that the current upstream package is malicious; the finding concerns the unsafe dependency-pinning and trust model declared by the Skill. ### Attack Path 1. An attacker compromises an upstream repository, maintainer account, release workflow, Go module version, or third-party Homebrew tap. 2. The attacker publishes a modified `gifgrep` release or formula containing malicious installation or runtime behavior. 3. A user or Agent follows the Skill installation metadata and resolves `github.com/steipete/gifgrep/cmd/gifgrep@latest` or installs the formula from `steipete/tap`. 4. The package manager downloads and builds or installs the attacker-controlled content. 5. Installation hooks, build-time behavior, or the resulting executable runs with the permissions of the account performing the inst ...[truncated 803 chars]
Remediation
## Remediation Suggestions - Replace `github.com/steipete/gifgrep/cmd/gifgrep@latest` with a specific, reviewed release version or immutable commit. - Verify the selected Go module through the Go checksum database and retain expected release hashes in trusted documentation or installation automation. - Pin the Homebrew installation to a reviewed version where supported, and verify the formula source, bottle checksum, and tap ownership before installation. - Prefer official, signed releases with published checksums or provenance attestations. - Configure automated dependency updates to require review rather than silently resolving a moving version. - Run installation and the resulting binary without administrative privileges and in a restricted environment with only the filesystem and network access required for GIF search and download operations. - Re-audit upstream changes before advancing the pinned version.
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

Static analysis

No suspicious patterns detected.