Pre-pitch hardening: security, dead-code removal, repo hygiene#4
Merged
Conversation
…token The startup path registered a static 'local-r1-token' device token in the DB on every run, present in public source — a known-credential backdoor for anyone running the default 'python -m warren'. Generate an unguessable token per startup (WARREN_LOCAL_TOKEN env override for stable dev pairing), and de-emoji the console banner for a professional CLI presentation. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Entire-Checkpoint: e3e169bd81f7
…token logging - AgentWebSocketAdapter now refuses connections when no secret is configured (was: open to anonymous clients) and uses secrets.compare_digest. - voice.py no longer logs token previews; derives a non-reversible log id. - Downgrade per-message voice debug traces from WARNING to DEBUG, fix the bare (WebSocketDisconnect, Exception) catch, and hoist import time to module scope. Add tests for fail-closed and wrong-token rejection. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Entire-Checkpoint: e3e169bd81f7
The nanoclaw removal left /monitor/tasks + pause/resume as inert no-op routes and the R1 Creation still rendered a permanently-empty TASKS section plus an always-hidden REPO selector and unreachable pause/resume client code. - Remove the three no-op endpoints and their tests. - Drop the TASKS monitor section, the dead REPO selector, renderMonitorTasks, loadRepos, and the api.js methods that targeted the removed endpoints. - Replace the on-screen URL/token dump on auth failure with a plain message. - Remove a leftover console.error (no console on the R1). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Entire-Checkpoint: e3e169bd81f7
- Delete internal AI-dev plan docs (docs/plans, docs/superpowers): they described the removed NanoClaw architecture and exposed dev process. - docker-compose: drop personal /home/deploy paths, Dokploy network, and the dead ANTHROPIC_API_KEY; ship a generic compose. - Dockerfile: remove the unused Claude Code + Entire CLI curl|bash installs (Warren proxies an external agent; it embeds neither), add a /health HEALTHCHECK. - Remove the vestigial anthropic_api_key config field and its test fixtures (Warren is a generic proxy; the agent holds its own credentials). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Entire-Checkpoint: e3e169bd81f7
The Orca backend drives one local terminal and is not multi-session. Label it experimental in the adapter docstring and README so the supported WebSocket proxy is clearly the primary backend. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Entire-Checkpoint: e3e169bd81f7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hardening pass to make Warren credible as an external integration proposal. Net: 34 files changed, +107 / −7,773. All 122 tests pass, ruff clean, app boots.
Security
local-r1-tokenbackdoor — the startup path registered a static, source-visible device token on every run. Now generates an unguessable token per startup (WARREN_LOCAL_TOKENenv override for stable dev pairing).secrets.compare_digest. Added tests for no-secret and wrong-token rejection.except (WebSocketDisconnect, Exception).Unfinished UI / no-op endpoints
/monitor/tasks+ pause/resume endpoints and their tests.pauseTask/resumeTask/fetchReposclient code, and the on-screen URL/token leak on auth failure.Repo hygiene
docker-compose.yml(drop personal/home/deploypaths, Dokploy network, deadANTHROPIC_API_KEY); remove unused Claude Code + Entire CLIcurl|bashinstalls from the Dockerfile; add a/healthHEALTHCHECK; remove the vestigialanthropic_api_keyconfig field.Known follow-ups (not in this PR)
dsr-restynrather than a legal name/entity.🤖 Generated with Claude Code