Back to skill

Security audit

Blogwatcher

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward wrapper for installing and using a blog/RSS monitoring CLI, with the main caveat that it installs the CLI from a mutable Go module version.

Before installing, consider pinning blogwatcher to a specific reviewed version instead of @latest, and install it only in an environment where the CLI does not inherit unnecessary secrets or sensitive filesystem access.

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:6
Finding

Unpinned Third-Party Go Dependency Installed from a Mutable Source

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 6 and 14
Vulnerability Type: Unpinned third-party dependency
Risk Level: Medium

Complete Code Snippet:

yaml
metadata: {"clawdbot":{"emoji":"📰","requires":{"bins":["blogwatcher"]},"install":[{"id":"go","kind":"go","module":"github.com/Hyaxia/blogwatcher/cmd/blogwatcher@latest","bins":["blogwatcher"],"label":"Install blogwatcher (go)"}]}}
markdown
- Go: `go install github.com/Hyaxia/blogwatcher/cmd/blogwatcher@latest`

Technical Analysis

Both installation declarations use the mutable @latest selector for a third-party Go module. Consequently, the installed source is determined at installation time rather than being tied to a version that was reviewed with this skill.

If the upstream repository, release process, maintainer account, or module distribution path is compromised, @latest can resolve to a malicious future release. The resulting executable would then be trusted under the legitimate blogwatcher name. The skill does not specify an audited version, verify an expected checksum independently, or otherwise constrain the installed artifact to the implementation reviewed by the skill author.

Attack Path

  1. An attacker compromises the upstream repository, a maintainer account, or its release process.
  2. The attacker publishes a newer malicious version of github.com/Hyaxia/blogwatcher/cmd/blogwatcher.
  3. A user or agent follows the skill installation metadata or documented command.
  4. Go resolves @latest to the attacker-controlled version and installs it as blogwatcher.
  5. The user or agent invokes a documented command such as blogwatcher scan.
  6. The malicious executable runs with the privileges and environment of that user or agent.

Impact Assessment

Successful exploitation can execute attacker-controlled behavior with the privileges of the account running blogwatcher. Depending on that account's ...[truncated 382 chars]

Remediation
View remediation

Remediation Suggestions

  • Replace @latest in both installation declarations with a specific, reviewed semantic version, for example:

    bash
    go install github.com/Hyaxia/blogwatcher/cmd/blogwatcher@vX.Y.Z
    
  • Update the metadata module field to use the same pinned version so automated and manual installation paths remain consistent.

  • Review the source and dependency graph of the selected release before pinning it.

  • Use Go's checksum database and module verification, and consider independently validating release provenance or a known artifact digest.

  • Introduce a controlled dependency-update process that reviews and tests each new version before changing the pin.

  • Run the installed CLI under a least-privileged account and avoid exposing unnecessary secrets in its environment.

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.