• v0.3.1 a31f19045a

    v0.3.1 — Parser RCE Elimination (*read-eval* nil)
    Some checks failed
    Deploy (Gitea) / deploy (push) Failing after 3s

    amr released this 2026-05-06 16:39:13 -04:00 | 201 commits to main since this release

    Three code paths processed untrusted input with read-from-string/read
    without binding read-eval to nil, enabling the #. reader macro to
    execute arbitrary Lisp during parsing — before any handler-case or
    safety gate could intercept it.

    Fixes:

    • think(): LLM output parsing (core-loop-reason)
    • action-system-execute: :system :eval payload parsing (core-loop-act)
    • load-memory-from-disk: memory snapshot file parsing (core-memory)

    Each site now binds read-eval to nil around read/read-from-string.
    Test test-read-eval-rce-blocked verifies #. in LLM output is blocked.

    Test results: reason 12/0, full suite 88/0 across 21 suites.

    Downloads