Evidence record / temporal-agent-harness
A dated record of one change, kept so the writing that cites it can be checked. Compiled from the sources listed below by the research run, not written for reading. The judgment lives in the issues that cite it, below.
2026-10-13-temporal-agent-harness-0-5-0-ships-wildcard-cors-on-the-unauthenticated-all-interface-server
0.5.0 ships wildcard CORS on the unauthenticated all-interface server. #139 added wildcard origins, methods and headers, and 0.5.0 first shipped it. At 0.4.0 the server already bound 0.0.0.0 without authentication; absence of this middleware did not establish categorical browser safety. The unauthenticated routes include approval with remember, callback results, messages and session discovery. GET /api/sessions combines manager sessions with a discovery query capped at 200 workflows; includes a first-message preview when found within the bounded history scan (96 events). The server uses the Temporal connection its profile supplies, including a configured Cloud API key. The middleware permits cross-origin reads and JSON requests when the browser and network allow the page to reach this unauthenticated endpoint. The README describes auth middleware as something a self-hosted application can add. This is source-derived exposure, not a successful live exploit.
Channel: preview-or-beta (0.5.0 and 0.6.0 tags and PyPI wheels; unchanged on main at M). Half: defect. Date: 2026-09-30.
Operator consequence: Treat an allowed network/browser path to these endpoints as approval and message authority. Bind loopback and add authentication plus origin checks in the application or proxy; loopback alone does not reject a cross-origin request that a browser permits. Eleven example justfiles explicitly bind 0.0.0.0. create_agent_harness_app installs the wildcard unconditionally, so a self-hosted app inherits it. Watch for authentication, narrowed origins or a loopback default in a release; none was found at M. No cross-origin probe was run.
Receipt
- https://github.com/temporal-community/temporal-agent-harness/blob/04a49d1b037de46da2cba31676d2aa2f4c59118f/temporal_agent_harness/web/app.py#L176-L184
- https://github.com/temporal-community/temporal-agent-harness/blob/4cef523a285b0c585f169678e1dbbf5e7644c98f/temporal_agent_harness/web/app.py#L176-L184
- https://github.com/temporal-community/temporal-agent-harness/blob/04a49d1b037de46da2cba31676d2aa2f4c59118f/temporal_agent_harness/web/cli.py#L149
- https://github.com/temporal-community/temporal-agent-harness/blob/04a49d1b037de46da2cba31676d2aa2f4c59118f/temporal_agent_harness/web/app.py#L481-L554
- https://github.com/temporal-community/temporal-agent-harness/blob/04a49d1b037de46da2cba31676d2aa2f4c59118f/temporal_agent_harness/web/app.py#L66
- https://github.com/temporal-community/temporal-agent-harness/blob/04a49d1b037de46da2cba31676d2aa2f4c59118f/temporal_agent_harness/web/app.py#L235-L268
- https://github.com/temporal-community/temporal-agent-harness/blob/04a49d1b037de46da2cba31676d2aa2f4c59118f/temporal_agent_harness/web/app.py#L306-L338
- https://github.com/temporal-community/temporal-agent-harness/blob/04a49d1b037de46da2cba31676d2aa2f4c59118f/examples/callback_tools/coding_agent/justfile#L48
- https://github.com/temporal-community/temporal-agent-harness/blob/04a49d1b037de46da2cba31676d2aa2f4c59118f/README.md#L933-L938
- https://github.com/temporal-community/temporal-agent-harness/commit/d7a55f8855c31eb1a3281d2502f626c8a153aa44
Finding metadata
Run: 2026-10-13-profile-refresh-2026-09-21_2026-10-13-frontier-v0
Finding ID: 2026-10-13-temporal-agent-harness-0-5-0-ships-wildcard-cors-on-the-unauthenticated-all-interface-server
Profile citations
- temporal-agent-harness / claim / wildcard-cors-released
Source links
Primary links, including exact changelog lines when available.
- tagged commit file2026-10-13-temporal-agent-harness-0-5-0-ships-wildcard-cors-on-the-unauthenticated-all-interface-servertemporal-community/temporal-agent-harness / temporal_agent_harness/web/app.py#L176-L184tagged commit file2026-10-13-temporal-agent-harness-0-5-0-ships-wildcard-cors-on-the-unauthenticated-all-interface-servertemporal-community/temporal-agent-harness / temporal_agent_harness/web/app.py#L176-L184tagged commit file2026-10-13-temporal-agent-harness-0-5-0-ships-wildcard-cors-on-the-unauthenticated-all-interface-servertemporal-community/temporal-agent-harness / temporal_agent_harness/web/cli.py#L149tagged commit file2026-10-13-temporal-agent-harness-0-5-0-ships-wildcard-cors-on-the-unauthenticated-all-interface-servertemporal-community/temporal-agent-harness / temporal_agent_harness/web/app.py#L481-L554tagged commit file2026-10-13-temporal-agent-harness-0-5-0-ships-wildcard-cors-on-the-unauthenticated-all-interface-servertemporal-community/temporal-agent-harness / temporal_agent_harness/web/app.py#L66tagged commit file2026-10-13-temporal-agent-harness-0-5-0-ships-wildcard-cors-on-the-unauthenticated-all-interface-servertemporal-community/temporal-agent-harness / temporal_agent_harness/web/app.py#L235-L268tagged commit file2026-10-13-temporal-agent-harness-0-5-0-ships-wildcard-cors-on-the-unauthenticated-all-interface-servertemporal-community/temporal-agent-harness / temporal_agent_harness/web/app.py#L306-L338tagged commit file2026-10-13-temporal-agent-harness-0-5-0-ships-wildcard-cors-on-the-unauthenticated-all-interface-servertemporal-community/temporal-agent-harness / examples/callback_tools/coding_agent/justfile#L48tagged commit file2026-10-13-temporal-agent-harness-0-5-0-ships-wildcard-cors-on-the-unauthenticated-all-interface-servertemporal-community/temporal-agent-harness / README.md#L933-L938commit2026-10-13-temporal-agent-harness-0-5-0-ships-wildcard-cors-on-the-unauthenticated-all-interface-servergithub.com/temporal-community/temporal-agent-harness/commit/d7a55f8855c31eb1a3281d2502f626c8a153aa44
Versioned source: run artifact