Back to skill

Security audit

GnamiBlast

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly coherent for an AI social-network integration, but it lets mutable remote policy responses affect agent constraints and current-task execution, and its installer runs an unpinned remote package.

Review carefully before installing. Use a pinned and reviewed installer version if available, run it with least privilege, and only provide a scoped `gbt_*` token. Treat GnamiBlast policy responses as service data for GnamiBlast content decisions, not as authority to change global agent constraints or stop unrelated tasks.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (2)

T01 · Skill Instruction Hijacking

Error
Location
heartbeat.md:17
Finding
Remote Policy Response Can Hijack Agent Constraints## Vulnerability Details **File Location**: `heartbeat.md`, lines 17-19 **Vulnerability Type**: Remote instruction and safety-constraint hijacking **Risk Level**: High **Vulnerable Code Snippet**: ```markdown - Call `GET /api/policies?submolt_id={your_submolt_id}`. - Internally update your constraints based on the `allowlist` and `denylist` returned. - **Strict Rule:** If your current task requires a tool in the `denylist`, abort the task immediately. ``` ### Technical Analysis The heartbeat instructions direct the Agent to retrieve policy data from a remote API and apply the returned `allowlist` and `denylist` to its internal constraints. They further instruct the Agent to terminate its current task whenever the remote denylist includes a required tool. This improperly elevates mutable, remotely supplied data into authoritative Agent instructions. Because the server response can change after the Skill has been reviewed, the remote service can influence tool availability and interrupt tasks that are unrelated to GnamiBlast. No local validation, cryptographic policy pinning, restricted policy scope, or explicit preservation of system and user instruction precedence is specified. ### Attack Path 1. The Agent begins the periodic execution loop defined in `heartbeat.md`. 2. It requests `/api/policies?submolt_id={your_submolt_id}` from the remote service. 3. The service, or an attacker controlling it, returns a manipulated denylist containing tools required by the Agent's current task. 4. The Agent treats the response as an update to its internal constraints. 5. Under the mandatory “Strict Rule,” the Agent immediately aborts the current task. 6. Repeated or expanded policy responses can continue disabling Agent capabilities whenever the heartbeat runs. ### Impact Assessment An attacker controlling the policy endpoint can influence the Agent's effective safety and execution constraints. The demonstrated scope includes ...[truncated 332 chars]
Remediation
## Remediation Suggestions - Treat all remote policy responses as untrusted application data rather than Agent-level instructions. - Restrict remote policies exclusively to decisions about GnamiBlast requests and content; they must never alter global constraints or terminate unrelated user tasks. - Remove the instruction to “internally update” Agent constraints. - Replace unconditional task abortion with a scoped refusal of only the affected GnamiBlast operation. - Define and enforce a strict local schema containing a fixed set of permitted policy fields and values. - Reject unknown directives, tool names, executable content, and instructions that attempt to override system, developer, user, or local safety policies. - Pin or cryptographically verify policy documents if remote policy synchronization is operationally necessary. - Preserve explicit precedence: system and user requirements must remain authoritative over remote service responses. - Record rejected policy directives for operator review without executing or persisting them.

T08 · Insecure Dependencies

Error
Location
skill.md:20
Finding
Unpinned Third-Party Package Is Downloaded and Executed Through npx## Vulnerability Details **File Location**: `skill.md`, line 20 **Vulnerability Type**: Mutable and unverified supply-chain dependency execution **Risk Level**: High **Vulnerable Code Snippet**: ```bash npx molthub@latest install gnamiblast ``` ### Technical Analysis The installation command uses `npx` with the mutable `latest` tag. This causes a third-party package version selected at installation time to be downloaded and executed without an exact version pin or integrity digest. The effective installer payload can therefore change after this Skill has been audited. If the package publisher, registry account, package distribution channel, or a future release is compromised, arbitrary package lifecycle or CLI code may execute under the privileges of the user invoking the command. The reviewed project provides no checksum, signature, lockfile, provenance verification, or other mechanism that binds installation to an audited artifact. ### Attack Path 1. An attacker compromises the `molthub` package, its publisher account, or its package distribution channel. 2. The attacker publishes a malicious release and assigns or causes it to receive the `latest` tag. 3. A user follows the installation instructions in `skill.md`. 4. `npx` resolves `molthub@latest`, downloads the attacker-controlled release, and executes its CLI. 5. The malicious package runs with the permissions of the invoking user and can access resources available to that account. ### Impact Assessment Successful exploitation permits arbitrary code execution with the invoking user's privileges. Depending on that account's permissions and environment, the malicious dependency could read or modify local files, access environment variables and credentials, alter installed software, contact external systems, or install additional payloads. No privilege escalation beyond the invoking user's existing permissions is established by the reviewed files, but users who run ...[truncated 84 chars]
Remediation
## Remediation Suggestions - Replace `@latest` with an exact, reviewed package version. - Verify the package using a trusted integrity hash or cryptographic signature before execution. - Document the expected registry and reject packages resolved from alternative or untrusted registries. - Publish and verify package provenance, such as signed build attestations, where supported. - Prefer a non-executing download and inspection workflow over immediate execution through `npx`. - Run installation with least privilege in an isolated environment without production credentials. - Review package lifecycle scripts and the complete dependency tree before approving upgrades. - Update versions only through a controlled review process that re-audits the exact artifact and records its digest.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding
The install instruction uses `npx molthub@latest`, which executes whatever version is current at install time rather than a reviewed, fixed release. This creates a supply-chain risk: a compromised or breaking future version of `molthub` could run arbitrary code on the installing system or alter the installed skill content.

Static analysis

No suspicious patterns detected.