Skip to content
This repository was archived by the owner on May 23, 2026. It is now read-only.

v0.7.3 — Security Hardening (Review Follow-up)

Choose a tag to compare

@magifd2 magifd2 released this 19 Apr 01:33
· 24 commits to main since this release

Security (Critical)

  • Arbitrary file read via tool result JSON: extractImageFromResult now delegates to fileToDataURL allowlist
  • Path traversal via analysis-status/analysis-result job_id: validated against job-<digits> pattern
  • API key no longer exposed in ps output: passed via SHELL_AGENT_API_KEY env var

Security (High)

  • IsReadOnlySQL rewritten: regex word boundaries, comment/string-literal stripping, multi-statement rejection, DuckDB extension denylists (LOAD/INSTALL/PRAGMA/EXECUTE/VACUUM)
  • MCP Guardian Stop(): mutex-guarded, idempotent, call() refuses after stop
  • Token-stat data race: statsMu + accessor functions

All tests pass with -race flag.

Full changelog: https://github.com/nlink-jp/shell-agent/blob/main/CHANGELOG.md