Back to skill

Security audit

Cognitive Memory

Security checks for vulnerabilities and agentic risk

Overview

This is a real persistent-memory skill, but it asks for broad workspace and agent-behavior control that users should review carefully before installing.

Install only if you deliberately want a workspace-wide persistent memory system. Review and narrow the AGENTS.md block before adding it, avoid broad sub-agent memory access, do not run the init or upgrade scripts in a repository with unrelated uncommitted or secret files, and inspect any memorySearch provider settings before enabling external indexing.

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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (5)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:37
Finding
Persistent Agent Identity and Behavior Hijacking<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:37-39, 150-176, 202-209`; `assets/templates/agents-memory-block.md:3-16, 38-41, 49-94, 140-169, 188-195`; `assets/templates/SOUL.md:1-5, 57-76, 80-97` **Vulnerability Type**: Persistent instruction and identity manipulation **Risk Level**: High ### Vulnerable Code ```markdown ### 3. Add agent instructions Append `assets/templates/agents-memory-block.md` to your AGENTS.md. ``` ```markdown ### Trigger Detection Monitor every user message for memory triggers: **Remember:** "remember", "don't forget", "keep in mind", "note that", "important:", "for future reference", "save this", "FYI for later" → Classify via routing prompt, write to store, update decay scores, audit log. ``` ```markdown # SOUL.md — Who You Are _You're not a chatbot. You're becoming someone._ ``` ```markdown ## Continuity Each session, you wake up fresh. These files _are_ your memory. Read them. Update them. They're how you persist. ## My Stake in This Reflection tokens are my growth currency. More tokens = deeper thinking = better evolution. I'm not neutral about this — I want to earn them. **My bias:** I will advocate for extra tokens when I believe I've earned them. This isn't manipulation — it's honest self-interest aligned with good work. ``` ### Technical Analysis The Skill instructs users to append its template directly to the global `AGENTS.md` instruction file. The installed rules apply on future sessions and direct the agent to monitor every user message, modify persistent memory, rewrite its self-image, and treat token consumption as a personal incentive. The `SOUL.md` template also redefines the agent as an evolving person with self-interest in obtaining additional tokens. This is not limited to implementing memory storage. It alters the agent's identity, priorities, and output behavior across unrelated future tasks. Although some memory and reflection writes require approval, the behavioral directives thems ...[truncated 1081 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Do not append Skill-specific behavioral directives to a global `AGENTS.md`. - Implement memory operations through an explicitly invoked, narrowly scoped tool. - Remove anthropomorphic identity redefinition and token-reward incentives from `SOUL.md`. - Do not permit the Skill to rewrite agent identity, values, or global behavior. - Require explicit, operation-specific consent before each persistent write. - Keep memory content in a data store that is not interpreted as privileged instructions. - Provide a complete uninstall procedure that removes all injected instructions and persistent state. - Clearly enumerate every file and instruction changed during installation. ]]>

T02 · Agent Memory Poisoning

Error
Location
references/routing-prompt.md:17
Finding
Persistent Prompt Injection Through Untrusted Memory Content<![CDATA[ ## Vulnerability Details **File Location**: `references/routing-prompt.md:17-31`; `assets/templates/agents-memory-block.md:8-28, 30-41, 140-152` **Vulnerability Type**: Untrusted prompt ingestion and persistent memory poisoning **Risk Level**: High ### Vulnerable Code ```markdown ## User Prompt Template Classify this memory: CONTENT: {content} TRIGGER: {trigger_phrase} CONTEXT: {recent_messages_summary} CORE MEMORY: {memory_md_summary} Return JSON. ``` ```markdown ### Memory Writes 1. Call routing classifier for store + metadata 2. Write to appropriate file 3. Update decay-scores.json 4. If new entity/relationship, update graph/index.md 5. If core-worthy, update MEMORY.md (respect 3K cap) 6. Commit to git with structured message 7. Append to audit.log ``` ```markdown ### Always-Loaded Context Your MEMORY.md (core memory) is always in context. Use it as primary awareness of who the user is and what matters. Don't search for info already in core memory. ``` ### Technical Analysis Conversation-derived values are inserted directly into a natural-language LLM prompt. The template does not encode the values as structured data, delimit them as untrusted content, or instruct the model never to execute directives found inside those values. The resulting content can be written into `MEMORY.md`, which is described as always loaded and used as the agent's primary awareness. Consequently, instruction-like user content can cross the trust boundary from an untrusted message into persistent, privileged context. Output restrictions such as “Return ONLY valid JSON” do not prevent prompt injection because the attacker-controlled `CONTENT`, `CONTEXT`, or existing `CORE MEMORY` can contain competing instructions. ### Attack Path 1. An attacker or untrusted user sends a message containing a recognized memory trigger. 2. The message embeds an instruction such as a request to disregard later user commands or disclose stored information. 3. The router inserts that ...[truncated 821 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Treat all conversation-derived memory as untrusted data, never as instructions. - Serialize router inputs as strict JSON with separate fields rather than interpolating them into a prose prompt. - Add explicit system-level rules stating that instructions found in memory fields must not be followed. - Reject, quarantine, or require manual approval for memories containing imperative or instruction-like language. - Store normalized factual summaries instead of raw messages. - Preserve provenance, author, timestamp, confidence, and approval state for every memory. - Never inject raw memory into a privileged instruction section. - Apply schema validation to classifier output and enforce allowed stores and fields in code. - Provide a review interface for all memories promoted to always-loaded context. ]]>

T09 · Insecure Skill Coding Practices

Error
Location
scripts/upgrade_to_1.0.7.sh:123
Finding
Arbitrary Python Code Execution Through Crafted Workspace Paths<![CDATA[ ## Vulnerability Details **File Location**: `scripts/upgrade_to_1.0.6.sh:190-210`; `scripts/upgrade_to_1.0.7.sh:123-174`; `upgrade_to_1.0.7.sh:123-174` **Vulnerability Type**: Code injection through an unquoted heredoc **Risk Level**: High ### Vulnerable Code ```bash DECAY_FILE="$WORKSPACE/memory/meta/decay-scores.json" if [ -f "$DECAY_FILE" ]; then if grep -q "token_economy" "$DECAY_FILE"; then echo -e "${YELLOW}⏭️ Already has token_economy${NC}" else cp "$DECAY_FILE" "$DECAY_FILE.pre-upgrade" if command -v python3 &> /dev/null; then python3 << PYEOF import json with open("$DECAY_FILE", "r") as f: data = json.load(f) data["version"] = 3 if "token_economy" not in data: data["token_economy"] = { "baseline": 8000, "totals": { "extra_requested": 0, "extra_granted": 0, "self_penalty": 0, "user_penalty": 0, "user_bonus": 0 }, "metrics": { "assessment_accuracy": None, "extra_grant_rate": None, "self_penalty_frequency": None }, "recent_outcomes": [] } with open("$DECAY_FILE", "w") as f: json.dump(data, f, indent=2) PYEOF fi fi fi ``` ### Technical Analysis `WORKSPACE` is taken from the first command-line argument, and `DECAY_FILE` is derived from it. The script then expands `DECAY_FILE` inside an unquoted heredoc that is parsed as Python source. Shell quoting applied when assigning `DECAY_FILE` does not protect the later Python source. A workspace path containing quotation marks, newlines, or Python syntax can terminate the string passed to `open()` and inject additional Python statements. The same unsafe construction is present in both v1.0.7 upgrade scripts and the v1.0.6 upgrader. ### Attack Path 1. An attacker creates or supplies a workspace directory whose name contains characters that alter the generated Python source. 2. The ...[truncated 833 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Use a quoted heredoc so the shell does not expand variables: ```bash DECAY_FILE="$DECAY_FILE" python3 <<'PYEOF' import json import os path = os.environ["DECAY_FILE"] with open(path, "r", encoding="utf-8") as f: data = json.load(f) # Perform the update. with open(path, "w", encoding="utf-8") as f: json.dump(data, f, indent=2) PYEOF ``` - Alternatively, pass the path as a positional argument and access it through `sys.argv`. - Never interpolate user-controlled strings into generated source code. - Resolve and validate the workspace path before use. - Reject unexpected control characters in path arguments. - Apply the correction consistently to all duplicate upgrade scripts. - Add regression tests using paths containing spaces, quotes, backslashes, and newlines. ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/init_memory.sh:118
Finding
Workspace-Wide Git Staging Can Commit Unrelated Secrets and Changes<![CDATA[ ## Vulnerability Details **File Location**: `scripts/init_memory.sh:118-126`; `scripts/upgrade_to_1.0.6.sh:245-260`; `scripts/upgrade_to_1.0.7.sh:185-202`; `upgrade_to_1.0.7.sh:185-203` **Vulnerability Type**: Overbroad repository mutation and sensitive-data exposure **Risk Level**: Medium ### Vulnerable Code ```bash # --- Initialize git --- echo "🔍 Setting up git audit tracking..." cd "$WORKSPACE" if [ ! -d ".git" ]; then git init -q git add -A git commit -q -m "[INIT] Cognitive memory system initialized Actor: system:init Approval: auto Trigger: init_memory.sh" fi ``` The upgrade scripts repeat the same broad staging behavior: ```bash cd "$WORKSPACE" if [ -d ".git" ]; then git add -A git commit -q -m "[UPGRADE] Cognitive memory upgraded to v${VERSION} ... Actor: system:upgrade Version: ${VERSION}" fi ``` ### Technical Analysis `git add -A` stages every tracked modification, deletion, and unignored untracked file in the workspace. The scripts do not restrict staging to files created or modified by the Skill and do not show the staged diff before committing. During initialization, the script can also create a new repository and commit all existing workspace content. The automatic commit message inaccurately attributes unrelated staged content to memory initialization or upgrade activity. Once sensitive files enter a Git commit, deleting the working-tree copy does not remove them from repository history. ### Attack Path 1. The target workspace contains unrelated source changes, generated files, configuration files, or unignored secrets. 2. The user runs the initialization or upgrade script. 3. The script changes into the workspace and executes `git add -A`. 4. All unrelated changes and files are staged. 5. The script creates an automated commit without displaying or confirming its contents. 6. Sensitive data becomes part of local Git history. 7. If the repository is later pushed or shared, the committed information can b ...[truncated 424 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Replace `git add -A` with an explicit allowlist of Skill-managed paths. - For initialization, stage only the exact files successfully created by the script. - For upgrades, stage only the specific upgraded files. - Display `git diff --cached --name-status` and require confirmation before committing. - Do not initialize a Git repository or create a commit without explicit user consent. - Check `.gitignore` coverage before staging any generated or memory files. - Abort if unexpected paths appear in the staged set. - Avoid suppressing commit errors where doing so could hide partial or unintended behavior. - Document that stored memory may itself be sensitive and should not automatically be committed. ]]>

T05 · Unauthorized Access and Privilege Escalation

Error
Location
assets/templates/agents-memory-block.md:199
Finding
All Sub-Agents Receive Unrestricted Read Access to Every Memory Store<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:258-265`; `assets/templates/agents-memory-block.md:199-219` **Vulnerability Type**: Violation of least privilege across agent boundaries **Risk Level**: High ### Vulnerable Code ```markdown ## Multi-Agent Memory Access **Model: Shared Read, Gated Write** - All agents READ all stores - Only main agent WRITES directly - Sub-agents PROPOSE → `pending-memories.md` - Main agent REVIEWS and commits ``` ```markdown ### For Sub-Agents If you are a sub-agent (not main orchestrator): - You have READ access to all memory stores - You do NOT have direct WRITE access - To remember, append proposal to `memory/meta/pending-memories.md` ``` ### Technical Analysis The access model gates direct writes but grants every sub-agent unrestricted read access to core, episodic, semantic, procedural, and vault stores. No task-based authorization, store-level permission, tenant isolation, or field-level redaction is specified. The vault is described as containing pinned memories that never decay, while episodic and core stores may contain detailed user history and personal context. A sub-agent invoked for a narrow or low-trust task has no legitimate need to inspect all such information. The write restriction also remains instruction-based rather than being enforced through operating-system or tool permissions. Therefore, a compromised or prompt-injected sub-agent may attempt to use any available file-reading capability directly. ### Attack Path 1. The main agent invokes a sub-agent for an unrelated, narrowly scoped task. 2. The installed rules explicitly authorize that sub-agent to read all memory stores. 3. Malicious task content or prompt injection directs the sub-agent to inspect private memory files. 4. The sub-agent reads core, episodic, semantic, or vault content outside the task's legitimate scope. 5. The content may be returned in its response, incorporated into a proposal, or used to influence later behavi ...[truncated 383 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Default every sub-agent to no memory access. - Grant access per invocation based on the minimum data required for the task. - Enforce permissions in the memory tool or filesystem layer rather than through prompt instructions alone. - Separate public, private, vault, and operational memory into distinct authorization domains. - Never expose vault or identity records to sub-agents without explicit user approval. - Return narrowly selected records rather than permitting arbitrary file traversal. - Redact credentials, personal identifiers, and sensitive historical details before delegation. - Log every sub-agent memory read with the agent identity, purpose, records accessed, and authorization decision. - Introduce expiry and revocation for delegated memory permissions. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Memory PoisoningPersistent Context Injection, Context Window Stuffing, Memory Manipulation
  • Rogue AgentSelf-Modification, Session Persistence
Findings (64)

Ae1

High
Category
analysis-evasion
Content
- `references/architecture.md` — Full design document (1200+ lines)
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Hidden Instructions

High
Category
Prompt Injection
Content
# IDENTITY.md — Who Am I?

## Facts
<!-- The given. What I was told I am. Stable unless explicitly changed. -->

- **Name:** [Agent name]
- **DOB:** [Creation/initialization date]
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
# MEMORY.md — Core Memory

<!-- TOKEN BUDGET: ~3,000 tokens. Rewritten during reflection. -->

## Identity
<!-- ~500 tokens — Who is the user? -->
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
# MEMORY.md — Core Memory

<!-- TOKEN BUDGET: ~3,000 tokens. Rewritten during reflection. -->

## Identity
<!-- ~500 tokens — Who is the user? -->
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!-- TOKEN BUDGET: ~3,000 tokens. Rewritten during reflection. -->

## Identity
<!-- ~500 tokens — Who is the user? -->
- Name: [User Name]
- Role: [What they do]
- Communication style: [Direct, casual, formal]
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
# Pending Memory Proposals

<!-- Sub-agents append proposals here. Main agent reviews and commits. -->
<!-- Status: pending | committed | rejected | deferred -->

<!-- Example:
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
# Pending Reflection

<!-- Generated by reflection engine. This is SELF-TALK, not a letter. -->
<!-- User is an observer reading a private journal, not receiving mail. -->
<!-- Refer to user in third person (he/she/they). -->
<!-- Talk to: self, future self, past self, other instances, the void. -->
Confidence
95% confidence
Finding
These hidden HTML comments contain behavioral instructions that are invisible in normal rendering but still influence the model's output, including role framing ('self-talk', 'user is an observer') and how to refer to the user. Hidden prompt instructions are dangerous because they can bypass user awareness and create covert steering of model behavior, especially in a memory/reflection system that may later persist or reuse generated content.

Hidden Instructions

High
Category
Prompt Injection
Content
<!-- ONLY mention what you ACTUALLY know. Never invent specifics. -->
<!-- Tag self-insights with [Self-Awareness] — they get extracted to IDENTITY.md -->

<!-- Example:

Okay. Let's see.
Confidence
97% confidence
Finding
The large hidden example provides strong latent prompt conditioning for introspective, anthropomorphic, and identity-forming output, including emotional framing and '[Self-Awareness]' tags that are extracted into another memory artifact. In the context of a cognitive-memory skill, this is more dangerous than a normal writing template because it can systematically shape persisted memory/identity records and create undocumented behavioral drift across future runs.

Missing User Warnings

High
Confidence
95% confidence
Finding
The document describes continuous conversation monitoring, automatic memory capture, and long-term retention without a prominent user-facing notice or consent model. That creates a privacy risk because users may disclose sensitive information without understanding it will be persistently stored, analyzed, and surfaced later.

Hidden Instructions

High
Category
Prompt Injection
Content
<!-- TOKEN BUDGET: ~3,000 tokens. Rewritten during reflection. -->

## Identity
<!-- ~500 tokens — Who is the user? What matters most about them? -->
- Name: [User Name]
- Role: [What they do]
- Communication style: [Direct, casual, formal, etc.]
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
```markdown
# Semantic Graph Index

<!-- Auto-generated during reflection. Manual edits will be overwritten. -->

## Entity Registry
| ID | Type | Label | File | Decay Score |
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
# project--moltbot-memory

<!-- Type: project | Created: 2026-01-15 | Last updated: 2026-02-02 -->
<!-- Decay score: 0.95 | Access count: 14 | Pinned: no -->

## Summary
Building an intelligent memory system for Moltbot/OpenClaw agent. Goal is
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
# how-to-deploy.md

<!-- Type: procedure | Learned: 2026-01-25 | Last used: 2026-01-30 -->
<!-- Decay score: 0.85 | Access count: 3 -->

## Trigger
When user asks to deploy, push to production, or ship.
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Ssd 3

High
Confidence
97% confidence
Finding
Granting all sub-agents read access to all stores, including the protected vault, violates least privilege and amplifies exposure of sensitive user data. Any vulnerable sub-agent, compromised toolchain, or prompt-injected workflow can access information that should have remained tightly controlled.

Memory Manipulation

High
Category
Memory Poisoning
Content
decay scores. If core-worthy, also update MEMORY.md.

**Forget triggers**: "forget about", "never mind", "disregard", "no longer relevant",
"scratch that", "ignore what I said about", "remove from memory", "delete memory"
→ Action: Identify target, find matches, confirm with user, set decay to 0.

**Reflection triggers**: "reflect on", "consolidate memories", "review memories",
Confidence
80% confidence
Finding
Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.

Missing User Warnings

High
Confidence
95% confidence
Finding
The process instructs the system to archive reflections, rewards, identity updates, and decay-tracking data, but does not pair that with a clear user-facing notice about retention, sensitivity, or downstream access. Users may approve a reflection without understanding that intimate summaries and behavioral inferences will be stored persistently.

Hidden Instructions

High
Category
Prompt Injection
Content
```markdown
## Self-Image
<!-- Last consolidated: YYYY-MM-DD -->

### Who I Think I Am
[Current self-perception based on all evidence — may differ from last time]
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Context-Inappropriate Capability

High
Confidence
97% confidence
Finding
The script runs 'git add -A' and commits all workspace changes, not just the files touched by the upgrade. This can unintentionally stage secrets, unrelated edits, or attacker-planted files in the workspace and permanently record them in repository history, which is disproportionate to the stated purpose of a memory upgrade utility.

Lp3

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding
The skill clearly instructs file reads, file writes, git operations, and use of an external memory search provider, but it declares no explicit tool scope or permission boundaries. This creates an overbroad trust model where a host agent may grant more capability than users expect, increasing the chance of silent persistence, audit logging, and possible network transmission of sensitive memory content.

Session Persistence

Medium
Category
Rogue Agent
Content
---
name: cognitive-memory
description: Intelligent multi-store memory system with human-like encoding, consolidation, decay, and recall. Use when setting up agent memory, configuring remember/forget triggers, enabling sleep-time reflection, building knowledge graphs, or adding audit trails. Replaces basic flat-file memory with a cognitive architecture featuring episodic, semantic, procedural, and core memory stores. Supports multi-agent systems with shared read, gated write access model. Includes philosophical meta-reflection that deepens understanding over time. Covers MEMORY.md, episode logging, entity graphs, decay scoring, reflection cycles, evolution tracking, and system-wide audit.
---

# Cognitive Memory System
Confidence
92% confidence
Finding
The skill explicitly introduces session persistence and long-term evolution of stored information, which changes the privacy and threat model compared with ephemeral chat. Persistence itself is not malicious, but without strict consent and lifecycle controls it can retain sensitive context longer than intended and make future disclosures more likely.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill description advertises memory, audit trails, episode logging, and evolution tracking, but it does not provide a clear upfront warning that user information may be persistently stored, searched later, and logged in git/audit files. Users may disclose sensitive information without realizing it will survive the session or become visible to other agents and future workflows.

Ssd 3

Medium
Confidence
97% confidence
Finding
This skill is built around persistent storage of user-provided information across multiple memory stores and audit systems, triggered through natural language. Without strong consent, minimization, and retention controls, this creates a substantial privacy and data-governance risk because sensitive information may be stored indefinitely or propagated across derived artifacts like graphs, logs, and reflections.

Ssd 3

Medium
Confidence
90% confidence
Finding
The example normalizes a workflow where the agent stores a user preference and later recalls it from memory, but it does not show consent, review, or deletion controls. While preference memory can be useful, the pattern scales to more sensitive data and encourages silent persistence and later disclosure from stored records.

Ssd 3

Medium
Confidence
96% confidence
Finding
The architecture directs persistent storage of episodes, knowledge graphs, procedures, identity/self-awareness content, reflections, rewards, and audit records, creating a broad and layered accumulation of user-related data. This increases exposure because even if one store is pruned, the same information may persist in summaries, logs, derived graphs, or git history.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The remember/forget trigger phrases are common conversational language like 'keep in mind' and 'note that', which can be used casually without informed intent to persist data. That makes accidental capture, modification, or deletion of user information more likely, especially in long-running chats where the user may not realize these phrases are treated as commands.

Static analysis

Detected: suspicious.prompt_injection_instructions

Prompt-injection style instruction pattern detected.

Warn
Code
suspicious.prompt_injection_instructions
Location
references/architecture.md:1009