Back to skill

Security audit

mhc-algorithm

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward ML implementation guide with disclosed dependencies and no hidden execution, persistence, credential access, or data collection behavior.

Install the listed ML packages in a virtual environment or container, and prefer pinned versions or a reviewed requirements file if you need reproducible or higher-assurance use. The skill itself appears to be documentation and example code, not an active installer or background process.

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

Unpinned Third-Party Dependencies Allow Supply-Chain Risk

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 34–38
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: Medium

Vulnerable Code

python
# Required packages
pip install torch einops numpy

Technical Analysis

The installation instruction resolves torch, einops, and numpy dynamically without version constraints, package hashes, a lockfile, or an explicitly trusted package index. Consequently, the installed code can differ between executions and is not necessarily the code that was assessed during this audit.

Package installation can execute package build or installation logic with the invoking user's privileges. If a listed package or its distribution channel is compromised, a user following this instruction could install attacker-controlled code. No evidence shows that these package names are currently malicious; the vulnerability is the absence of dependency integrity and reproducibility controls.

Attack Path

  1. An attacker compromises a listed dependency's publishing account, package artifact, or relevant distribution channel.
  2. The attacker publishes a malicious release under the legitimate package name.
  3. A user follows the documented unpinned pip install instruction.
  4. The resolver selects and downloads the malicious release.
  5. Malicious code executes during package installation, build processing, or a subsequent import.

Impact Assessment

Exploitation could provide arbitrary code execution with the privileges of the user running pip or importing the compromised package. Depending on those privileges and the host environment, the attacker could access project data and user-readable credentials, alter files, compromise model-training workflows, or establish persistence. The scope is limited by the invoking user's operating-system permissions and environmental isolation.

Remediation
View remediation

Remediation Suggestions

  1. Move dependencies into a reviewed requirements or lock file and pin exact versions.
  2. Generate and verify cryptographic hashes for every package and transitive dependency, then install with pip install --require-hashes -r requirements.txt.
  3. Configure an explicit trusted package index or an organization-controlled artifact mirror.
  4. Review dependency metadata and artifacts before updating pinned versions.
  5. Perform installation in an isolated virtual environment or container without administrative privileges.
  6. Add automated dependency vulnerability and provenance scanning to the update process.
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.