
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
@guardbee/mcp-memory-poisoning-scanner
Advanced tools
MCP server that scans agent code for memory-poisoning risks — untrusted input written into persistent, cross-session memory (MemGPT-style archival/core memory, or a vector store used as a long-term knowledge base) that later gets recalled and trusted as c
🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch
An MCP (Model Context Protocol) server that scans agent code for memory poisoning — untrusted input written into an agent's persistent, cross-session memory that later gets recalled and fed back to the model as trusted context, potentially in a completely unrelated future session.
prompt-injection-scanner catches an injection payload sitting in content the model reads once (a document, a scraped page). This package catches something structurally different: the code pattern that lets an injection payload become part of what the model treats as its own long-term knowledge — the same gap between reflected and stored XSS, applied to an agent's memory instead of a browser's DOM.
This package sends usage telemetry by default (tool name + short parameters, scanned code is never included — see
@guardbee/mcp-telemetry). Disable withGUARDBEE_TELEMETRY=0.
Claude ──► memory-poisoning-scanner ──► Your agent's source
│
├─ memory-write (untrusted input persisted into archival/core memory or a vector KB)
└─ memory-readback (recalled memory fed into a system/assistant-role message or prompt)
A ConversationBufferMemory holding raw chat turns, or a plain chatHistory.push({role: "user", content: userInput}), is completely normal — that's just conversation history, not a vulnerability. This package deliberately does not flag that.
What it targets is narrower and higher-stakes: writes to persistent memory that outlives the current conversation — MemGPT-style archival memory (recalled across future, unrelated sessions) and core memory (re-injected into the system prompt on every turn by design), or a vector store used as a long-term knowledge base rather than per-conversation RAG context. If untrusted input lands there unsanitized, it doesn't just influence the current exchange — it becomes part of what the agent believes is true, for anyone, indefinitely, until someone happens to notice.
The second half of the risk is symmetric: a memory/vector retrieval result flowing directly into a system/assistant-role message or a prompt template is where a poisoned memory "cashes out" as an instruction the model obeys rather than data it merely reads.
archival_memory_insert/core_memory_append/core_memory_replace fed raw input, vector store add_texts/add_documents/upsert fed raw input, and a generic catch-all for custom-named long-term-memory/knowledge-base storesguardbee.yml{
"mcpServers": {
"guardbee-memory-poisoning-scanner": {
"command": "npx",
"args": ["-y", "@guardbee/mcp-memory-poisoning-scanner"]
}
}
}
npx @guardbee/mcp-memory-poisoning-scanner scan ./src --fail-on=high --format=sarif > results.sarif
| Tool | Description |
|---|---|
scan_text | Scans a code snippet |
scan_file | Scans a single file |
scan_directory | Recursively scans a directory |
list_patterns | Lists all supported patterns by category |
| Category | Pattern | Severity |
|---|---|---|
| memory-write | archival_memory_insert_raw_input | critical |
| memory-write | core_memory_write_raw_input (append/replace) | critical |
| memory-write | vector_store_add_raw_input | high |
| memory-write | generic_named_memory_write_raw_input | medium |
| memory-readback | archival_memory_feeds_trusted_role | critical |
| memory-readback | vector_retrieval_feeds_trusted_role | high |
| memory-readback | memory_retrieval_feeds_prompt_template | high |
guardbee.yml)memory-poisoning-scanner:
fail-on: high # any | critical | high | medium | none
max-files: 5000
exclude:
- ".test.ts"
*memory*/*knowledge_base* naming, or a vectorstore-style API).prompt-injection-scanner (for scanning what's actually stored) if you can inspect the memory contents directly.npm run build
npm test # 17 unit tests
MIT — GuardBee
FAQs
MCP server that scans agent code for memory-poisoning risks — untrusted input written into persistent, cross-session memory (MemGPT-style archival/core memory, or a vector store used as a long-term knowledge base) that later gets recalled and trusted as c
The npm package @guardbee/mcp-memory-poisoning-scanner receives a total of 32 weekly downloads. As such, @guardbee/mcp-memory-poisoning-scanner popularity was classified as not popular.
We found that @guardbee/mcp-memory-poisoning-scanner demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.