T02 · Agent Memory Poisoning
- Location
scripts/agent_memory/injection/injector.py:61- Finding
Persistent Untrusted Memory Is Injected Verbatim into LLM Prompts
- Content
View full analysis
str: """Format a knowledge search result.""" if not result: return "" source = f" (from: {result.document_title})" if result.document_title else "" return f"[Knowledge{source}]\n{result.content}" ``` `scripts/agent_memory/injection/injector.py:61-91`: ```python # Build memory sections sections: list[tuple[str, str]] = [] used_tokens = 0 for item, score in sorted_memories: formatted = self._format_item(item, score.memory_type) if not formatted: continue tokens = self.estimate_tokens(formatted) if used_tokens + tokens <= available: sections.append((score.memory_type.value, formatted)) used_tokens += tokens else: # Try a shorter version (first line only) short = formatted.split("\n")[0] short_tokens = self.estimate_tokens(short) if used_tokens + short_tokens <= available: sections.append((score.memory_type.value, short + "...")) used_tokens += short_tokens ...[truncated 2600 chars]- Remediation
View remediation
