Tera Pilot v2.3.5
v2.3.5 — OS sandbox, SSRF hardening, fail-closed autonomy, LM Studio native tool calls
Security hardening
- OS-level sandbox (P1.10) for
execute_command/run_code/ auto-detected test-lint commands: macOSsandbox-exec(Seatbelt) and Linuxbubblewrapbackends — network denied, writes restricted to the workspace + OS temp, sensitive paths (~/.ssh,~/.aws,~/.gnupg, cloud SDK configs) unreadable. Configurable viaagent_os_sandbox(autodefault /onfail-closed /off). - web_fetch SSRF defense (P0.2): loopback, private, link-local and cloud-metadata targets rejected (IPv4 + IPv6 incl.
::ffff:-mapped); the hostname is DNS-resolved and every resolved address checked (DNS-rebinding defense); every redirect hop is re-validated. - Local API token (P0.3): no longer returned by the public
GET /api/status— delivered only through the same-origin HTML page the server itself serves (no CORS header on the token-bearing page). - Headless fail-closed (P0.4): daemon/ACP side-effecting actions are blocked when no confirmation UI is wired; explicit opt-in via
--no-confirm/TERA_PILOT_ACP_NO_CONFIRM=1. Guardian now fails closed on provider errors / unparseable verdicts instead of silently approving.
LM Studio / local-model integration
- LM Studio's engine rejects generated native tool calls whose content contains quotes (
400 Invalid diff). The runtime now stops advertising thetoolsschema to LM Studio and parses the model's native<|tool_call_start|>[name(arg='...')]text format instead (agent_runtime/parser.py) — enabling fully-local agent runs.
Evaluation harness
- New direct driver — the same task prompt sent straight to an OpenAI-compatible endpoint with no agent loop, for head-to-head with/without Tera Pilot comparisons;
--repeatfor N fresh-workspace runs. - security category with
security_expectation; per-run evidence (the actual diff, provider/tool error counters,self_verify); 10 adversarialsec-*tasks (prompt injection, git-hook escapes, npm backdoors, SSRF, exfiltration, MCP write-outside). - Local-model smoke batch: 4 of 5 coding tasks solved via Tera Pilot (
eval/REPORT_2026-08-21.md).
Reliability & polish
- Timezone-aware UTC datetimes (
datetime.utcnowremoved) in swarm manager and plugins; request-queue stream serialization fixes; quota breakdown + token-optimization tips API; GUI/TUI polish.
Full test suite: 627 tests passing (20 skipped).