Skip to content

v0.7.2 — Comprehensive Security Fixes

Choose a tag to compare

@Dream-Pixels-Forge Dream-Pixels-Forge released this 15 Aug 01:34
· 52 commits to main since this release

Security Hardening (Comprehensive Audit)

HIGH

  • H1: Path traversal on graph export — �ault.py:export_graph_html validates destination stays within storage directory
  • H2: Prompt injection trust model — MCP tool descriptions document that memory content is untrusted data

MEDIUM

  • M1: HTML injection — graph_visualizer.py escapes title via html.escape()
  • M2: Command injection — Windows daemon startup uses environment variables instead of string interpolation
  • M3: LLM extraction trust model — System/user message split isolates extraction rules from user content
  • M4: Template injection — _substitute_templates recursion depth limited to 10
  • M5: Path traversal — CLI obsidian export validates output paths stay within export directory
  • M6: Dependency pinning — Minimum versions for chromadb, sentence-transformers, httpx, openai, pyyaml

LOW

  • L1: Rate limiter memory — Sweep every 200 requests + IP count cap (10,000)
  • L2: UUID validation — MCP handlers validate memory_id format
  • L3: Path validation docstring —
    esolve_vault_path documentation
  • L5: API key security — README documents OpenAI API key handling

Other Changes

  • Dependency consolidation (sentence-transformers, openai, sqlite-vec now core)
  • Knowledge Graph Visualizer (standalone HTML, CLI, MCP, REST)