Back to skill

Security audit

MH blogwatcher

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward wrapper for installing and using a blog/RSS watcher CLI, with one supply-chain caution because it installs the latest upstream version.

Install only if you are comfortable fetching the current upstream blogwatcher CLI from GitHub. Prefer a pinned reviewed version when available, especially in managed or high-trust environments.

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

Mutable Dependency Installed from the Latest Upstream Revision

Content
View full analysis

Vulnerability Details

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

Vulnerable Code

yaml
{
  "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

The Skill instructs the framework and users to install the blogwatcher executable using the mutable @latest version selector. Consequently, the source code compiled and installed can change after the Skill has been audited.

The dependency repository is consistent with the homepage declared by the Skill, and the audited content provides no evidence that the current upstream project is malicious, typosquatted, or intentionally deceptive. The risk arises from the absence of an immutable, reviewed version constraint. If the upstream repository, maintainer account, release process, or dependency chain is compromised, a subsequent installation could retrieve altered source code that was not part of this audit.

Attack Path

  1. An attacker compromises the upstream repository, a maintainer account, or its release process.
  2. The attacker publishes a malicious version that becomes the revision selected by @latest.
  3. A user or automation system installs the dependency through the Skill's installation metadata or documented go install command.
  4. Go retrieves and compiles the altered source into a local blogwatcher executable.
  5. The user or agent later invokes a documented command such as blogwatcher scan.
  6. The malicious executable runs with the privileges and environment access of that user or agent.

This exploitation path is conditional on an upstream supply-chain compromise or malicious future release; no such compromise was established during this audit.

Impact As

...[truncated 440 chars]

Remediation
View remediation

Remediation Suggestions

  1. Replace @latest with a reviewed, immutable semantic version, for example:

    yaml
    "module": "github.com/Hyaxia/blogwatcher/cmd/blogwatcher@vX.Y.Z"
    
    bash
    go install github.com/Hyaxia/blogwatcher/cmd/blogwatcher@vX.Y.Z
    
  2. Review the selected release and its transitive dependencies before updating the pinned version.

  3. Use the Go checksum database and a trusted module proxy where organizational policy permits, rather than disabling module checksum verification.

  4. Perform dependency upgrades through a controlled process that includes source review, vulnerability scanning, and regression testing.

  5. Record the approved version and expected provenance in the Skill documentation so automated and manual installation paths remain consistent.

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