Commit graph

6 commits

Author SHA1 Message Date
a77db1edcb fix: derive debug-agent client timeout from continue_execution's requested wait
DebugAgentClient.call() hardcoded a 60s socket timeout that also bounded
recv(), so any continue_execution call asking for a longer wait (e.g.
waiting for a user to alt-tab) would time out on the client side while
the debug agent was still legitimately waiting. call() now accepts an
optional socket_timeout override, and the continue_execution tool passes
timeout + 30 so the client socket outlives the agent's own timeout + 10s
of headroom.

Also adds a round-trip test for encode_message/decode_message (the wire
contract between the two independently-built sides of this protocol),
and corrects the WatchpointSlots docstring, which overstated what
Wow64SetThreadContext does -- the agent actually arms the hardware
watchpoints via a native x64 SetThreadContext call, with the Wow64
variant used only for 32-bit register readback.

Claude-Session: https://claude.ai/code/session_01E4YCRPfAE3328FcYPyKu9T
2026-07-04 14:38:54 -07:00
cf283c9bba fix: close timing-attack and empty-secret auth bypass in MCP server
check_bearer_token now uses hmac.compare_digest for constant-time comparison
and rejects a falsy expected token outright, with a startup guard that fails
loudly if HAVOC_MCP_TOKEN is set but empty. Adds Starlette TestClient coverage
of the _BearerAuthMiddleware auth-enforcement path (no header, wrong token,
correct token), and cleans up dead code found during review: unused token
param on build_mcp_server, a per-request import, and an unused json import.
2026-07-04 07:22:55 -07:00
b2887753e9 feat: add bearer token auth check for MCP server 2026-07-04 07:08:21 -07:00
d2b85fc276 feat: add DebugAgentClient for MCP-to-debug-agent translation 2026-07-04 07:07:36 -07:00
3256f4b607 feat: add watchpoint slot/DR7 bookkeeping to MCP protocol module 2026-07-04 06:58:46 -07:00
4a218cdb05 feat: add condition evaluator for runtime-observation MCP protocol 2026-07-04 06:57:59 -07:00