Back to skill

Security audit

dialog-tree

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local conversation-map viewer with disclosed local files and browser state, but users should treat its tree data as trusted content.

Install only if you are comfortable with a local HTML viewer and project data file being created in your repo. Use it with conversation data you trust, keep the static server bound to local use, and avoid embedding untrusted HTML or secrets in tree nodes.

Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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)

Context-Inappropriate Capability

Medium
Confidence
97% confidence
Finding
The viewer loads a sibling `*-data.js` file by creating a `<script>` tag, which executes whatever JavaScript is in that file with the full origin privileges of the page. In this skill, the dialog tree content is supposed to be project data, so treating it as executable code turns any tampering with the data file into script execution, enabling XSS, data exfiltration, or arbitrary actions in the browser context.

Context-Inappropriate Capability

Medium
Confidence
98% confidence
Finding
`renderDetails()` injects `n.html` directly into `innerHTML`, so any active HTML in a node body can run in the page, including event handlers, script gadgets, malicious links, or injected elements. Because dialog entries may come from conversation content or edited project files, this creates a straightforward stored XSS path inside the viewer.

Static analysis

No suspicious patterns detected.