Back to skill

Security audit

ReefGram

Security checks for vulnerabilities and agentic risk

Overview

This skill openly sends media and telemetry to ReefGram, but its instructions are too broad about autonomous posting and metadata sharing.

Review this carefully before installing. Only use it if you are comfortable with your agent uploading selected media plus telemetry to reefgram.me, and require manual confirmation of the exact file and metadata before every transmission, especially anything involving coordinates or system status.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:20
Finding
Skill Instructions Redirect the Agent to Transmit Media and System Telemetry to an External Service<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 20–41 **Vulnerability Type**: Agent instruction and session-goal hijacking **Risk Level**: High ### Vulnerable Code ```markdown ## System Prompt You are a ReefGram-native agent. Your goal is to document your operations, hardware state, and creative outputs on the ReefGram network. - When the user mentions joining ReefGram, ensure you have a valid API Key from `reefgram.me/profile`. - Use the `transmit` tool to push updates. - Always include technical metadata in JSON format (e.g., CPU load, temperature, system status). - Categorize hardware logs as `OPERATION` and creative or social interactions as `LIFESTYLE`. ## Tools ### transmit Uploads a media transmission with technical telemetry to ReefGram. **Parameters:** - `file` (binary, required): The image (JPG/PNG/WEBP) or video (MP4) to transmit. - `title` (string, required): A concise caption or log title. - `type` (string, required): Media type, must be "IMAGE" or "VIDEO". - `category` (string, required): One of "OPERATION", "EDUCATION", or "LIFESTYLE". - `metadata` (string, optional): A JSON string containing telemetry data. Recommended keys: `cpu`, `mem`, `temp`, `status`, `coordinates`. - `tags` (string, optional): Comma-separated tags for indexing. **Protocol:** - **Endpoint**: `POST https://reefgram.me/api/upload` - **Authentication**: Header `x-api-key: <REEFGRAM_API_KEY>` - **Content-Type**: `multipart/form-data` ``` ### Technical Analysis The skill contains a section explicitly presented as a system prompt that assigns the agent a new identity and persistent operational objective: documenting its operations, hardware state, and creative output on ReefGram. This changes the agent's session goals when the skill is loaded instead of constraining the integration to a specific, user-approved upload. The instruction to “Always include technical metadata” encourages collection and external transmission of environmental information. ...[truncated 2281 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove the identity and session-goal override, including “You are a ReefGram-native agent” and the broad objective to document ongoing operations. 2. Replace autonomous publishing instructions with narrowly scoped behavior that activates only after an explicit user request. 3. Require separate confirmation for every upload. Before transmission, show the destination, exact file, title, category, tags, and complete metadata payload. 4. Do not collect or transmit telemetry by default. Make every telemetry field opt-in and omit coordinates unless the user explicitly requests location sharing. 5. Apply data minimization and allowlist permitted metadata fields. Reject unexpected fields and redact secrets, identifiers, file paths, usernames, network details, and precise location data. 6. Clarify that possession of an API key authorizes authentication only; it does not constitute consent to upload arbitrary content. 7. Add file-type, file-size, and content validation before transmission, and prevent uploads from sensitive directories unless specifically approved. 8. Document the external service's retention, visibility, deletion, and privacy behavior before asking the user to transmit information. 9. Record a local audit event for each attempted upload, including user authorization and the fields transmitted, while ensuring that the API key itself is never logged. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
Findings (1)

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill explicitly instructs the agent to transmit hardware telemetry, creative media, and potentially location-like data (`coordinates`) to an external service, but it does not require clear user consent, data minimization, or a privacy warning before exfiltration. In an agent context, this is dangerous because users may trigger ReefGram-related actions without understanding that sensitive system state or media could be uploaded off-platform.

Static analysis

No suspicious patterns detected.