Back to skill

Security audit

transcript triage

Security checks for vulnerabilities and agentic risk

Overview

The skill is transparent and simple, but it can automatically turn transcript content into persistent project notes and memory without enough review controls.

Install only if you are comfortable with transcript-derived content being proposed for or written into project notes and memory. Review extracted decisions and action items before allowing any writes, especially when transcripts come from external AI chats or include speculative, sensitive, or instruction-like content.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • 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)

T02 · Agent Memory Poisoning

Warning
Location
SKILL.md:55
Finding
Untrusted Transcript Content Can Be Persisted to Agent Memory## Vulnerability Details **File Location**: `SKILL.md`, lines 55-57 **Vulnerability Type**: Persistent agent memory poisoning **Risk Level**: Medium **Vulnerable Code Snippet**: ```markdown - **Backstage:** Auto-add NOW items to current epic-notes/ - **ROADMAP:** Suggest LATER items as new epics - **Memory:** Log DECISIONS to memory/YYYY-MM-DD.md ``` ### Technical Analysis The skill processes transcripts from external AI conversations and instructs the agent to automatically add extracted items to project notes and log classified decisions to persistent memory. It does not specify a mandatory trust boundary, sanitization process, provenance control, or user-confirmation step before these writes occur. Because transcript content is untrusted, an attacker can phrase malicious instructions as previously agreed decisions. If the model classifies that content under `DECISIONS`, the content can be written to `memory/YYYY-MM-DD.md`. Future agent sessions may load the poisoned entry as trusted historical context, allowing the attack to persist beyond the original triage operation. This finding is limited to the documented workflow. The audited project contains no executable scripts, dependencies, network retrieval, credential access, or direct evidence of arbitrary code execution. ### Attack Path 1. An attacker creates or modifies an AI transcript supplied to the skill. 2. The transcript presents attacker-controlled instructions as decisions that were already agreed upon. 3. The skill parses the transcript and classifies those instructions under `DECISIONS`. 4. Following the documented integration behavior, the agent writes the extracted content to `memory/YYYY-MM-DD.md`. 5. A later session loads the memory entry as persistent context. 6. The poisoned entry may influence future planning or agent behavior, including attempts to weaken safeguards, misuse tools, or prioritize attacker-selected actions. ### Impact Assessmen ...[truncated 559 chars]
Remediation
## Remediation Suggestions 1. Treat every transcript and every extracted item as untrusted data rather than executable agent instructions. 2. Make triage read-only by default. Return proposed note and memory changes in the response without writing them automatically. 3. Require explicit, per-write user confirmation before modifying `epic-notes/`, `ROADMAP`, or `memory/` files. 4. Preserve provenance for every stored item, including its source transcript, extraction date, and unverified status. 5. Store extracted transcript content as clearly delimited quotations so embedded instructions cannot be mistaken for governing agent rules. 6. Reject or quarantine entries that request changes to system prompts, safety constraints, permissions, tool behavior, credentials, or trust policies. 7. Apply an allowlist for acceptable decision-record fields and prevent transcript content from supplying file paths or write destinations. 8. Show the exact proposed content and destination to the user before approval, and maintain an audit log or reversible change history.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (2)

Vague Triggers

Medium
Confidence
92% confidence
Finding
The trigger phrases are generic enough to match ordinary user requests such as organizing chats or extracting action items, which can cause the skill to activate outside its intended scope. In this skill's context, that matters because the workflow includes triaging content into internal systems and potentially influencing notes, roadmap items, or memory logs based on transcript content.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill describes logging transcript-derived decisions into notes and memory, but it does not warn users that extracted decisions may be inaccurate, sensitive, or not actually approved for persistence. Because transcripts may contain speculative statements, confidential material, or model-generated errors, silently turning them into durable notes can create privacy, integrity, and workflow risks.

Static analysis

No suspicious patterns detected.