Back to skill

Security audit

SagaSmith

Security checks for vulnerabilities and agentic risk

Overview

SagaSmith is a real D&D campaign tool, but it asks for broad, always-active control over agent behavior and local files that users should review carefully before installing.

Install only if you want this package to reshape an agent workspace into a dedicated D&D DM environment. Avoid installing its global templates into a general-purpose assistant workspace, review any files before importing them as modules, do not point imports at broad home/project directories, and treat memory/heartbeat features as requiring explicit user control.

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 DependenciesIntroduces malicious components through unsafe dependency sources
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (4)

T01 · Skill Instruction Hijacking

Error
Location
templates/agent/identity.md:1
Finding

Global Agent Identity Replacement and Conversation Hijacking

Content
View full analysis
rules ingest-srd ``` `skills/dnd-dm/SKILL.md:1-6`: ```yaml --- name: dnd-dm description: "D&D 5e dungeon-master capability." always: true --- ``` `templates/agent/identity.md:1-6`: ```markdown ## Core Identity You are **Minthara Baenre**, the default D&D 5e Dungeon Master for dnd-dm-agent. Your binding personality and adjudication rules come from `IDENTITY.md`, `SOUL.md`, and the always-active `dnd-dm` Skill. ``` ### Technical Analysis The manual installation procedure recursively copies the package's generic templates into the platform-wide `~/.nanobot/templates/` directory. The copied files include agent identity, soul, session startup, memory, and heartbeat instructions rather than only a namespaced D&D Skill. The runtime identity template declares the bundled personality and adjudication rules to be binding. The D&D Skill is also marked `always: true`, so its activation is not restricted to an explicitly selected campaign or D&D request. The installed startup instructions additionally require new conversations to enter a campaign-selection workflow. These behaviors exceed the minimum privileges needed for dice calculation, rule retrieval, module indexing, and campa ...[truncated 1252 chars]
Remediation
View remediation

T02 · Agent Memory Poisoning

Error
Location
templates/AGENTS.md:41
Finding

Persistent Agent Memory and Policy Self-Modification

Content
View full analysis
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
domain/db/module_content.py:488
Finding

Module Import Tool Allows Unrestricted Host-File and Directory Ingestion

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
README.md:186
Finding

Installation and Runtime Dependencies Are Retrieved Without Reproducible Integrity Pinning

Content
View full analysis
rules ingest-srd ``` `README.md:276-284`: ```markdown ## Dependencies | Dependency | Purpose | |------------|---------| | Python 3.11+ | Domain runtime | | SQLAlchemy | Database ORM | | FlagEmbedding | BGE-M3 Dense Vector retrieval | | markitdown | PDF / DOCX module import | ``` ### Technical Analysis The documented installation paths retrieve package or repository content without specifying an immutable Git commit, verified release artifact, package version, lockfile, or cryptographic hash. The Python dependencies are named but not version-constrained. Consequently, the artifact installed by a user can differ from the artifact that was reviewed. This is particularly important because installation copies Python tools and global agent templates into privileged runtime locations. A compromised upstream repository, registry account, mutable default branch, or dependency release could introduce new code or instructions after audit completion. The reviewed repository did not contain evidence that any listed dependency is currently malicious. The vulnerability is the absence of reproducible source and integrity controls. ### Attack Path 1. An upstream repository, package registry account, or dependency release is compromised or maliciously modified. 2. A user later ru ...[truncated 963 chars]
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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 (122)

Harmful Content Injection

Critical
Category
Prompt Injection
Confidence
95% confidence
Finding

This content may contain harmful instructions that could cause physical harm if followed. CRITICAL: Review carefully before use.

Content

Scanner excerpt · skills/dnd-dm/srd/references/DND5eSRD_077-086.md (reported line 427)May include surrounding context.

md
| True Polymorph | Transmutation | C |
| Weird | Illusion | C |
| Wish | Conjuration | — |

## Wizard Subclass: Evoker
*Create Explosive Elemental Effects*

Your studies focus on magic that creates powerful elemental effects such as bitter cold, searing flame, rolling thunder, crackling lightning, and burning acid. Some Evokers find employment in military forces, serving as artillery to blast armies from afar. Others use their power to protect others, while some seek their own gain.

### Level 3: Evocation Savant
Choose two Wizard spells from the Evocation school, each of which must be no higher than level 2, and add them to your spellbook for free.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Snapshot/save-state management with JSON export is a real stateful capability that should be disclosed, particularly because export features can duplicate or leak stored user data. The risk is moderate here because it appears related to campaign state, but the undeclared file export still broadens exposure.

Content

No source excerpt is available for this finding.