aicodeman 0.9.4 → 0.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/web/middleware/auth.d.ts +18 -0
  2. package/dist/web/middleware/auth.d.ts.map +1 -1
  3. package/dist/web/middleware/auth.js +33 -0
  4. package/dist/web/middleware/auth.js.map +1 -1
  5. package/dist/web/network-auth-policy.d.ts +38 -0
  6. package/dist/web/network-auth-policy.d.ts.map +1 -1
  7. package/dist/web/network-auth-policy.js +108 -0
  8. package/dist/web/network-auth-policy.js.map +1 -1
  9. package/dist/web/public/api-client.3adebdc2.js.gz +0 -0
  10. package/dist/web/public/app.c860ea08.js.gz +0 -0
  11. package/dist/web/public/constants.5b68d2de.js.gz +0 -0
  12. package/dist/web/public/image-input.7cade6a8.js.gz +0 -0
  13. package/dist/web/public/index.html +1 -1
  14. package/dist/web/public/index.html.br +0 -0
  15. package/dist/web/public/index.html.gz +0 -0
  16. package/dist/web/public/input-cjk.88082175.js.gz +0 -0
  17. package/dist/web/public/keyboard-accessory.cdfd8c04.js.gz +0 -0
  18. package/dist/web/public/mobile-handlers.1e2a8ef8.js.gz +0 -0
  19. package/dist/web/public/mobile.26dc30d6.css.gz +0 -0
  20. package/dist/web/public/notification-manager.9c984ac2.js.gz +0 -0
  21. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  22. package/dist/web/public/{panels-ui.3e304caf.js → panels-ui.5192a2c0.js} +8 -8
  23. package/dist/web/public/panels-ui.5192a2c0.js.br +0 -0
  24. package/dist/web/public/panels-ui.5192a2c0.js.gz +0 -0
  25. package/dist/web/public/ralph-panel.61076370.js.gz +0 -0
  26. package/dist/web/public/ralph-wizard.52d533d2.js.gz +0 -0
  27. package/dist/web/public/respawn-ui.5377f958.js.gz +0 -0
  28. package/dist/web/public/session-ui.3e0cf024.js.gz +0 -0
  29. package/dist/web/public/settings-ui.da0621e1.js.gz +0 -0
  30. package/dist/web/public/styles.e87cb785.css.gz +0 -0
  31. package/dist/web/public/subagent-windows.a366a4ad.js.gz +0 -0
  32. package/dist/web/public/sw.js.gz +0 -0
  33. package/dist/web/public/terminal-ui.37caa926.js.gz +0 -0
  34. package/dist/web/public/upload.html.gz +0 -0
  35. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  36. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  37. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  38. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  39. package/dist/web/public/vendor/xterm-zerolag-input.137ad9f0.js.gz +0 -0
  40. package/dist/web/public/vendor/xterm.css.gz +0 -0
  41. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  42. package/dist/web/public/voice-input.085e9e73.js.gz +0 -0
  43. package/dist/web/routes/ws-routes.d.ts +2 -1
  44. package/dist/web/routes/ws-routes.d.ts.map +1 -1
  45. package/dist/web/routes/ws-routes.js +12 -1
  46. package/dist/web/routes/ws-routes.js.map +1 -1
  47. package/dist/web/server.d.ts +5 -0
  48. package/dist/web/server.d.ts.map +1 -1
  49. package/dist/web/server.js +38 -15
  50. package/dist/web/server.js.map +1 -1
  51. package/package.json +1 -1
  52. package/dist/web/public/panels-ui.3e304caf.js.br +0 -0
  53. package/dist/web/public/panels-ui.3e304caf.js.gz +0 -0
@@ -10,6 +10,7 @@
10
10
  import type { FastifyInstance } from 'fastify';
11
11
  import { StaleExpirationMap } from '../../utils/index.js';
12
12
  import type { AuthSessionRecord } from '../ports/auth-port.js';
13
+ import { type HostPolicy } from '../network-auth-policy.js';
13
14
  export declare const AUTH_COOKIE_NAME = "codeman_session";
14
15
  /** State returned from registerAuthMiddleware for cleanup in server stop() */
15
16
  interface AuthState {
@@ -24,6 +25,23 @@ interface AuthState {
24
25
  * @returns AuthState for lifecycle management (dispose on server stop)
25
26
  */
26
27
  export declare function registerAuthMiddleware(app: FastifyInstance, https: boolean): AuthState;
28
+ /**
29
+ * Register the anti-DNS-rebinding Host allowlist + cross-site (CSRF) Origin guard.
30
+ *
31
+ * This protects the API even on the default no-password install, where there is no
32
+ * cookie/credential to gate on. It must be registered BEFORE the auth middleware so
33
+ * forged cross-site or DNS-rebound requests are rejected up front. `getPolicy` is
34
+ * evaluated per request so a tunnel started at runtime is reflected immediately.
35
+ *
36
+ * - Every request: the `Host` header must be in the allowlist (blocks DNS rebinding,
37
+ * where a custom domain is rebound to 127.0.0.1 but still sends its own name).
38
+ * - State-changing methods: the `Origin` (when the client sends one — i.e. a browser)
39
+ * must be same-site (blocks cross-site CSRF, including the text/plain simple-request
40
+ * trick). Non-browser clients (curl, Claude Code hooks) omit Origin and pass.
41
+ *
42
+ * WebSocket upgrades are validated separately in the ws route handler.
43
+ */
44
+ export declare function registerHostGuard(app: FastifyInstance, getPolicy: () => HostPolicy): void;
27
45
  /**
28
46
  * Register security headers and CORS middleware on every response.
29
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/web/middleware/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAS/D,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAElD,8EAA8E;AAC9E,UAAU,SAAS;IACjB,YAAY,EAAE,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAAC;IACnE,YAAY,EAAE,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACxD,cAAc,EAAE,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC3D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAwHtF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAgDlF"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/web/middleware/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAgD,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAS1G,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAElD,8EAA8E;AAC9E,UAAU,SAAS;IACjB,YAAY,EAAE,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAAC;IACnE,YAAY,EAAE,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACxD,cAAc,EAAE,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC3D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAwHtF;AAKD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,GAAG,IAAI,CAazF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAgDlF"}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { randomBytes, timingSafeEqual } from 'node:crypto';
11
11
  import { StaleExpirationMap } from '../../utils/index.js';
12
+ import { isAllowedRequestHost, isAllowedRequestOrigin } from '../network-auth-policy.js';
12
13
  import { AUTH_SESSION_TTL_MS, MAX_AUTH_SESSIONS, AUTH_FAILURE_MAX, AUTH_FAILURE_WINDOW_MS, } from '../../config/auth-config.js';
13
14
  // Auth session cookie name
14
15
  export const AUTH_COOKIE_NAME = 'codeman_session';
@@ -121,6 +122,38 @@ export function registerAuthMiddleware(app, https) {
121
122
  });
122
123
  return state;
123
124
  }
125
+ /** Methods that don't change server state and so skip the cross-site Origin check. */
126
+ const SAFE_HTTP_METHODS = new Set(['GET', 'HEAD', 'OPTIONS']);
127
+ /**
128
+ * Register the anti-DNS-rebinding Host allowlist + cross-site (CSRF) Origin guard.
129
+ *
130
+ * This protects the API even on the default no-password install, where there is no
131
+ * cookie/credential to gate on. It must be registered BEFORE the auth middleware so
132
+ * forged cross-site or DNS-rebound requests are rejected up front. `getPolicy` is
133
+ * evaluated per request so a tunnel started at runtime is reflected immediately.
134
+ *
135
+ * - Every request: the `Host` header must be in the allowlist (blocks DNS rebinding,
136
+ * where a custom domain is rebound to 127.0.0.1 but still sends its own name).
137
+ * - State-changing methods: the `Origin` (when the client sends one — i.e. a browser)
138
+ * must be same-site (blocks cross-site CSRF, including the text/plain simple-request
139
+ * trick). Non-browser clients (curl, Claude Code hooks) omit Origin and pass.
140
+ *
141
+ * WebSocket upgrades are validated separately in the ws route handler.
142
+ */
143
+ export function registerHostGuard(app, getPolicy) {
144
+ app.addHook('onRequest', (req, reply, done) => {
145
+ const policy = getPolicy();
146
+ if (!isAllowedRequestHost(req.headers.host, policy)) {
147
+ reply.code(403).send('Forbidden: host not allowed');
148
+ return;
149
+ }
150
+ if (!SAFE_HTTP_METHODS.has(req.method) && !isAllowedRequestOrigin(req.headers.origin, policy)) {
151
+ reply.code(403).send('Forbidden: cross-site request blocked');
152
+ return;
153
+ }
154
+ done();
155
+ });
156
+ }
124
157
  /**
125
158
  * Register security headers and CORS middleware on every response.
126
159
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/web/middleware/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/web/middleware/auth.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,41 @@
1
1
  export declare function isExplicitlyEnabled(value: string | undefined): boolean;
2
2
  export declare function isLoopbackBindHost(host: string): boolean;
3
+ /**
4
+ * Hostname suffixes that are always accepted by the Host/Origin allowlist. These
5
+ * are namespaces an external attacker cannot register DNS-rebinding records under
6
+ * (tailscale MagicDNS, Cloudflare quick/named tunnels), so accepting them keeps
7
+ * the project's documented tunnel access paths working without reopening the
8
+ * rebinding hole. Extend per-deployment via CODEMAN_ALLOWED_HOSTS.
9
+ */
10
+ export declare const DEFAULT_TRUSTED_HOST_SUFFIXES: string[];
11
+ /** Policy inputs for the anti-DNS-rebinding Host allowlist + cross-site Origin guard. */
12
+ export interface HostPolicy {
13
+ /** The host the server is bound to (e.g. '127.0.0.1', '0.0.0.0', or a hostname). */
14
+ bindHost: string;
15
+ /** Extra allowed hosts: exact lowercased names, or a leading-dot '.suffix' for suffix matches. */
16
+ allowedHosts: string[];
17
+ /** Hostname of the currently-active Codeman-managed tunnel, if any. */
18
+ tunnelHost?: string | null;
19
+ }
20
+ /**
21
+ * Extract the lowercased hostname from a Host/authority value, stripping the port
22
+ * and IPv6 brackets. Returns null for empty/garbage input.
23
+ */
24
+ export declare function parseAuthorityHostname(authority: string | undefined): string | null;
25
+ /** Build a HostPolicy from the bind host, CODEMAN_ALLOWED_HOSTS, and an active tunnel URL. */
26
+ export declare function buildHostPolicy(bindHost: string, tunnelUrl?: string | null): HostPolicy;
27
+ /**
28
+ * True if a request's Host header is allowed. Blocks DNS-rebinding: a custom
29
+ * domain rebound to a loopback/LAN address still carries its own name in Host,
30
+ * which will not be in the allowlist.
31
+ */
32
+ export declare function isAllowedRequestHost(hostHeader: string | undefined, policy: HostPolicy): boolean;
33
+ /**
34
+ * True if a request's Origin is allowed for a state-changing / WebSocket request.
35
+ * A MISSING Origin is allowed: non-browser clients (curl, Claude Code hooks) omit
36
+ * it, while browsers always attach it on cross-origin state-changing/WS requests —
37
+ * so a forged cross-site request is caught while local automation keeps working.
38
+ * The opaque origin 'null' (sandboxed iframe, data: URL) is rejected.
39
+ */
40
+ export declare function isAllowedRequestOrigin(originHeader: string | undefined, policy: HostPolicy): boolean;
3
41
  //# sourceMappingURL=network-auth-policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"network-auth-policy.d.ts","sourceRoot":"","sources":["../../src/web/network-auth-policy.ts"],"names":[],"mappings":"AAIA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEtE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYxD"}
1
+ {"version":3,"file":"network-auth-policy.d.ts","sourceRoot":"","sources":["../../src/web/network-auth-policy.ts"],"names":[],"mappings":"AAIA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEtE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYxD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,UAAyD,CAAC;AAEpG,yFAAyF;AACzF,MAAM,WAAW,UAAU;IACzB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;IACjB,kGAAkG;IAClG,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAiBnF;AAED,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAcvF;AAwBD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAIhG;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAQpG"}
@@ -16,4 +16,112 @@ export function isLoopbackBindHost(host) {
16
16
  }
17
17
  return normalized.startsWith('::ffff:127.');
18
18
  }
19
+ /**
20
+ * Hostname suffixes that are always accepted by the Host/Origin allowlist. These
21
+ * are namespaces an external attacker cannot register DNS-rebinding records under
22
+ * (tailscale MagicDNS, Cloudflare quick/named tunnels), so accepting them keeps
23
+ * the project's documented tunnel access paths working without reopening the
24
+ * rebinding hole. Extend per-deployment via CODEMAN_ALLOWED_HOSTS.
25
+ */
26
+ export const DEFAULT_TRUSTED_HOST_SUFFIXES = ['.ts.net', '.trycloudflare.com', '.cfargotunnel.com'];
27
+ /**
28
+ * Extract the lowercased hostname from a Host/authority value, stripping the port
29
+ * and IPv6 brackets. Returns null for empty/garbage input.
30
+ */
31
+ export function parseAuthorityHostname(authority) {
32
+ if (!authority)
33
+ return null;
34
+ let h = authority.trim();
35
+ if (!h)
36
+ return null;
37
+ if (h.startsWith('[')) {
38
+ // [::1] or [::1]:3000
39
+ const end = h.indexOf(']');
40
+ if (end === -1)
41
+ return null;
42
+ return h.slice(1, end).toLowerCase() || null;
43
+ }
44
+ // host:port — only treat a single trailing colon as a port separator so a
45
+ // bracketless IPv6 literal (multiple colons) is left intact.
46
+ const first = h.indexOf(':');
47
+ if (first !== -1 && first === h.lastIndexOf(':')) {
48
+ h = h.slice(0, first);
49
+ }
50
+ return h.toLowerCase() || null;
51
+ }
52
+ /** Build a HostPolicy from the bind host, CODEMAN_ALLOWED_HOSTS, and an active tunnel URL. */
53
+ export function buildHostPolicy(bindHost, tunnelUrl) {
54
+ const allowedHosts = (process.env.CODEMAN_ALLOWED_HOSTS || '')
55
+ .split(',')
56
+ .map((s) => s.trim().toLowerCase())
57
+ .filter(Boolean);
58
+ let tunnelHost = null;
59
+ if (tunnelUrl) {
60
+ try {
61
+ tunnelHost = new URL(tunnelUrl).hostname.toLowerCase();
62
+ }
63
+ catch {
64
+ tunnelHost = null;
65
+ }
66
+ }
67
+ return { bindHost, allowedHosts, tunnelHost };
68
+ }
69
+ function matchesHost(hostname, policy) {
70
+ // localhost is reserved (always resolves to loopback, not rebindable).
71
+ if (hostname === 'localhost')
72
+ return true;
73
+ // Any IP literal: a literal address cannot be the target of DNS rebinding — the
74
+ // browser connected straight to it, there is no name to re-point.
75
+ if (isIP(hostname) !== 0)
76
+ return true;
77
+ const bind = parseAuthorityHostname(policy.bindHost);
78
+ if (bind && hostname === bind)
79
+ return true;
80
+ if (policy.tunnelHost && hostname === policy.tunnelHost)
81
+ return true;
82
+ for (const suffix of DEFAULT_TRUSTED_HOST_SUFFIXES) {
83
+ if (hostname === suffix.slice(1) || hostname.endsWith(suffix))
84
+ return true;
85
+ }
86
+ for (const entry of policy.allowedHosts) {
87
+ if (entry.startsWith('.')) {
88
+ if (hostname === entry.slice(1) || hostname.endsWith(entry))
89
+ return true;
90
+ }
91
+ else if (hostname === entry) {
92
+ return true;
93
+ }
94
+ }
95
+ return false;
96
+ }
97
+ /**
98
+ * True if a request's Host header is allowed. Blocks DNS-rebinding: a custom
99
+ * domain rebound to a loopback/LAN address still carries its own name in Host,
100
+ * which will not be in the allowlist.
101
+ */
102
+ export function isAllowedRequestHost(hostHeader, policy) {
103
+ const hostname = parseAuthorityHostname(hostHeader);
104
+ if (!hostname)
105
+ return false;
106
+ return matchesHost(hostname, policy);
107
+ }
108
+ /**
109
+ * True if a request's Origin is allowed for a state-changing / WebSocket request.
110
+ * A MISSING Origin is allowed: non-browser clients (curl, Claude Code hooks) omit
111
+ * it, while browsers always attach it on cross-origin state-changing/WS requests —
112
+ * so a forged cross-site request is caught while local automation keeps working.
113
+ * The opaque origin 'null' (sandboxed iframe, data: URL) is rejected.
114
+ */
115
+ export function isAllowedRequestOrigin(originHeader, policy) {
116
+ if (originHeader === undefined || originHeader === '')
117
+ return true;
118
+ if (originHeader === 'null')
119
+ return false;
120
+ try {
121
+ return matchesHost(new URL(originHeader).hostname.toLowerCase(), policy);
122
+ }
123
+ catch {
124
+ return false;
125
+ }
126
+ }
19
127
  //# sourceMappingURL=network-auth-policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"network-auth-policy.js","sourceRoot":"","sources":["../../src/web/network-auth-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAEjE,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,OAAO,KAAK,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,UAAU,GAAG,IAAI;SACpB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC/B,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"network-auth-policy.js","sourceRoot":"","sources":["../../src/web/network-auth-policy.ts"],"names":[],"mappings":"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"}
Binary file
@@ -1846,7 +1846,7 @@
1846
1846
  <script defer src="ralph-panel.61076370.js"></script>
1847
1847
  <script defer src="orchestrator-panel.js"></script>
1848
1848
  <script defer src="settings-ui.da0621e1.js"></script>
1849
- <script defer src="panels-ui.3e304caf.js"></script>
1849
+ <script defer src="panels-ui.5192a2c0.js"></script>
1850
1850
  <script defer src="session-ui.3e0cf024.js"></script>
1851
1851
  <script defer src="ralph-wizard.52d533d2.js"></script>
1852
1852
  <script defer src="api-client.3adebdc2.js"></script>
Binary file
Binary file
@@ -62,22 +62,22 @@
62
62
  ${l?`<span class="subagent-last-tool">${this.getToolIcon(l)} ${l}</span>`:""}
63
63
  </div>
64
64
  </div>
65
- `)}e.innerHTML=t.join("")},selectSubagent(e){this.activeSubagentId=e,this.renderSubagentPanel(),this.renderSubagentDetail()},renderSubagentDetail(){const e=this.$("subagentDetail");if(!e)return;if(!this.activeSubagentId){e.innerHTML='<div class="subagent-empty">Select an agent to view details</div>';return}const t=this.subagents.get(this.activeSubagentId),s=this.subagentActivity.get(this.activeSubagentId)||[];if(!t){e.innerHTML='<div class="subagent-empty">Agent not found</div>';return}const n=s.slice(-30).map(i=>{const l=new Date(i.timestamp).toLocaleTimeString("en-US",{hour12:!1});if(i.type==="tool"){const c=this.getToolDetailExpanded(i.tool,i.input,i.fullInput,i.toolUseId);return`<div class="subagent-activity tool" data-tool-use-id="${i.toolUseId||""}">
65
+ `)}e.innerHTML=t.join("")},selectSubagent(e){this.activeSubagentId=e,this.renderSubagentPanel(),this.renderSubagentDetail()},renderSubagentDetail(){const e=this.$("subagentDetail");if(!e)return;if(!this.activeSubagentId){e.innerHTML='<div class="subagent-empty">Select an agent to view details</div>';return}const t=this.subagents.get(this.activeSubagentId),s=this.subagentActivity.get(this.activeSubagentId)||[];if(!t){e.innerHTML='<div class="subagent-empty">Agent not found</div>';return}const n=s.slice(-30).map(i=>{const l=new Date(i.timestamp).toLocaleTimeString("en-US",{hour12:!1});if(i.type==="tool"){const c=this.getToolDetailExpanded(i.tool,i.input,i.fullInput,i.toolUseId);return`<div class="subagent-activity tool" data-tool-use-id="${escapeHtml(i.toolUseId||"")}">
66
66
  <span class="time">${l}</span>
67
67
  <span class="icon">${this.getToolIcon(i.tool)}</span>
68
- <span class="name">${i.tool}</span>
69
- <span class="detail">${c.primary}</span>
68
+ <span class="name">${escapeHtml(i.tool)}</span>
69
+ <span class="detail">${escapeHtml(c.primary)}</span>
70
70
  ${c.hasMore?`<button class="tool-expand-btn" onclick="app.toggleToolParams('${escapeHtml(i.toolUseId)}')">\u25B6</button>`:""}
71
- ${c.hasMore?`<div class="tool-params-expanded" id="tool-params-${i.toolUseId}" style="display:none;"><pre>${escapeHtml(JSON.stringify(i.fullInput||i.input,null,2))}</pre></div>`:""}
71
+ ${c.hasMore?`<div class="tool-params-expanded" id="tool-params-${escapeHtml(i.toolUseId)}" style="display:none;"><pre>${escapeHtml(JSON.stringify(i.fullInput||i.input,null,2))}</pre></div>`:""}
72
72
  </div>`}else if(i.type==="tool_result"){const c=i.isError?"\u274C":"\u{1F4C4}",d=i.isError?"error":"",u=i.contentLength>500?` (${this.formatBytes(i.contentLength)})`:"",h=i.preview.length>80?i.preview.substring(0,80)+"...":i.preview;return`<div class="subagent-activity tool-result ${d}">
73
73
  <span class="time">${l}</span>
74
74
  <span class="icon">${c}</span>
75
- <span class="name">${i.tool||"result"}</span>
75
+ <span class="name">${escapeHtml(i.tool||"result")}</span>
76
76
  <span class="detail">${escapeHtml(h)}${u}</span>
77
77
  </div>`}else if(i.type==="progress"){const c=i.hookEvent||i.hookName,d=c?"\u{1FA9D}":i.progressType==="query_update"?"\u27F3":"\u2713",u=c?" hook":"",h=c?i.hookName||i.hookEvent:i.query||i.progressType;return`<div class="subagent-activity progress${u}">
78
78
  <span class="time">${l}</span>
79
79
  <span class="icon">${d}</span>
80
- <span class="detail">${h}</span>
80
+ <span class="detail">${escapeHtml(h)}</span>
81
81
  </div>`}else if(i.type==="message"){const c=i.text.length>100?i.text.substring(0,100)+"...":i.text;return`<div class="subagent-activity message">
82
82
  <span class="time">${l}</span>
83
83
  <span class="icon">\u{1F4AC}</span>
@@ -121,12 +121,12 @@
121
121
  `,i.insertAdjacentElement("afterend",l)}},updateSubagentWindowVisibility(){const t=this.loadAppSettingsFromStorage().subagentActiveTabOnly??!0;for(const[s,n]of this.subagentWindows){const a=this.subagentParentMap.get(s),o=this.subagents.get(s),r=a||o?.parentSessionId;let i;t?i=!!!r||r===this.activeSessionId:i=!0,i?(n.minimized||(n.element.style.display="flex",n._lazyTerminal&&this._restoreTeammateTerminalFromLazy(s)),n.hidden=!1):(this._disposeTeammateTerminalForMinimize(s),n.element.style.display="none",n.hidden=!0)}this.updateConnectionLines(),this.relayoutMobileSubagentWindows()},closeSessionSubagentWindows(e,t=!1){const s=[];for(const[n,a]of this.subagentWindows){const o=this.subagents.get(n),r=this.subagentParentMap.get(n);(o?.parentSessionId===e||r===e)&&s.push(n)}for(const n of s)this.forceCloseSubagentWindow(n),t&&(this.subagents.delete(n),this.subagentActivity.delete(n),this.subagentToolResults.delete(n),this.subagentParentMap.delete(n));this.minimizedSubagents.delete(e),this.renderSessionTabs()},forceCloseSubagentWindow(e){const t=this.subagentWindows.get(e);t&&(t.resizeObserver&&t.resizeObserver.disconnect(),t.dragListeners&&(document.removeEventListener("mousemove",t.dragListeners.move),document.removeEventListener("mouseup",t.dragListeners.up),t.dragListeners.touchMove&&(document.removeEventListener("touchmove",t.dragListeners.touchMove),document.removeEventListener("touchend",t.dragListeners.up),document.removeEventListener("touchcancel",t.dragListeners.up)),t.dragListeners.handle&&(t.dragListeners.handle.removeEventListener("mousedown",t.dragListeners.handleMouseDown),t.dragListeners.handle.removeEventListener("touchstart",t.dragListeners.handleTouchStart))),t.element.remove(),this.subagentWindows.delete(e));const s=this.teammateTerminals.get(e);if(s){if(s.resizeObserver&&s.resizeObserver.disconnect(),s.terminal)try{s.terminal.dispose()}catch{}this.teammateTerminals.delete(e)}},minimizeSubagentWindow(e){const t=this.subagentWindows.get(e);t&&(this._disposeTeammateTerminalForMinimize(e),t.element.style.display="none",t.minimized=!0,this.updateConnectionLines())},scheduleSubagentWindowRender(e){this.subagentWindows.get(e)?.minimized||(this._subagentWindowRenderTimeouts||(this._subagentWindowRenderTimeouts=new Map),this._subagentWindowRenderTimeouts.has(e)&&clearTimeout(this._subagentWindowRenderTimeouts.get(e)),this._subagentWindowRenderTimeouts.set(e,setTimeout(()=>{this._subagentWindowRenderTimeouts.delete(e),scheduleBackground(()=>this.renderSubagentWindowContent(e))},100)))},renderSubagentWindowContent(e){if(this.teammateTerminals.has(e)||this.subagentWindows.get(e)?._lazyTerminal)return;const s=document.getElementById(`subagent-window-body-${e}`);if(!s)return;const n=this.subagentActivity.get(e)||[];if(n.length===0){s.innerHTML='<div class="subagent-empty">No activity yet</div>';return}const a=s.dataset.renderedCount?parseInt(s.dataset.renderedCount,10):0,o=100,r=n.slice(-o);if(a===0||a>r.length||s.children.length===0||s.children.length===1&&s.querySelector(".subagent-empty")){const i=r.map(l=>this._renderActivityItem(l)).join("");s.innerHTML=i,s.dataset.renderedCount=String(r.length)}else{const i=r.slice(a);if(i.length>0){const l=i.map(c=>this._renderActivityItem(c)).join("");for(s.insertAdjacentHTML("beforeend",l),s.dataset.renderedCount=String(r.length);s.children.length>o;)s.removeChild(s.firstChild)}}s.scrollTop=s.scrollHeight},_renderActivityItem(e){const t=new Date(e.timestamp).toLocaleTimeString("en-US",{hour12:!1});if(e.type==="tool")return`<div class="activity-line">
122
122
  <span class="time">${t}</span>
123
123
  <span class="tool-icon">${this.getToolIcon(e.tool)}</span>
124
- <span class="tool-name">${e.tool}</span>
124
+ <span class="tool-name">${escapeHtml(e.tool)}</span>
125
125
  <span class="tool-detail">${escapeHtml(this.getToolDetail(e.tool,e.input))}</span>
126
126
  </div>`;if(e.type==="tool_result"){const s=e.isError?"\u274C":"\u{1F4C4}",n=e.isError?" error":"",a=e.contentLength>500?` (${this.formatBytes(e.contentLength)})`:"",o=e.preview.length>60?e.preview.substring(0,60)+"...":e.preview;return`<div class="activity-line result-line${n}">
127
127
  <span class="time">${t}</span>
128
128
  <span class="tool-icon">${s}</span>
129
- <span class="tool-name">${e.tool||"\u2192"}</span>
129
+ <span class="tool-name">${escapeHtml(e.tool||"\u2192")}</span>
130
130
  <span class="tool-detail">${escapeHtml(o)}${a}</span>
131
131
  </div>`}else if(e.type==="progress"){const s=e.hookEvent||e.hookName,n=s?"\u{1FA9D}":e.progressType==="query_update"?"\u27F3":"\u2713",a=s?e.hookName||e.hookEvent:e.query||e.progressType;return`<div class="activity-line progress-line${s?" hook-line":""}">
132
132
  <span class="time">${t}</span>
Binary file
Binary file
Binary file
@@ -27,5 +27,6 @@
27
27
  */
28
28
  import { FastifyInstance } from 'fastify';
29
29
  import type { SessionPort } from '../ports/session-port.js';
30
- export declare function registerWsRoutes(app: FastifyInstance, ctx: SessionPort): void;
30
+ import { type HostPolicy } from '../network-auth-policy.js';
31
+ export declare function registerWsRoutes(app: FastifyInstance, ctx: SessionPort, getHostPolicy: () => HostPolicy): void;
31
32
  //# sourceMappingURL=ws-routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ws-routes.d.ts","sourceRoot":"","sources":["../../../src/web/routes/ws-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AA8B5D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAiJ7E"}
1
+ {"version":3,"file":"ws-routes.d.ts","sourceRoot":"","sources":["../../../src/web/routes/ws-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAgD,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AA6B1G,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,GAAG,IAAI,CA4J9G"}
@@ -26,6 +26,7 @@
26
26
  * {"t":"z","c":N,"r":N} — resize terminal
27
27
  */
28
28
  import { MAX_INPUT_LENGTH } from '../../config/terminal-limits.js';
29
+ import { isAllowedRequestHost, isAllowedRequestOrigin } from '../network-auth-policy.js';
29
30
  /** Micro-batch interval for terminal output (ms). Short enough for low latency,
30
31
  * long enough to group Ink's rapid cursor-up redraw sequences into single frames. */
31
32
  const WS_BATCH_INTERVAL_MS = 8;
@@ -46,8 +47,18 @@ const DEC_2026_END = '\x1b[?2026l';
46
47
  const MAX_WS_PER_SESSION = 5;
47
48
  /** Track active WS connections per session for connection limiting. */
48
49
  const sessionWsCount = new Map();
49
- export function registerWsRoutes(app, ctx) {
50
+ export function registerWsRoutes(app, ctx, getHostPolicy) {
50
51
  app.get('/ws/sessions/:id/terminal', { websocket: true }, (socket, req) => {
52
+ // Reject cross-site WebSocket hijacking (CSWSH) and DNS-rebinding before doing
53
+ // anything: the upgrade must come from an allowed Host and (when the browser
54
+ // sends one — it always does for WS) a same-site Origin. Writing to this socket
55
+ // injects keystrokes into a --dangerously-skip-permissions agent, so this gate
56
+ // matters even on the default no-password install. See security review H5.
57
+ const policy = getHostPolicy();
58
+ if (!isAllowedRequestHost(req.headers.host, policy) || !isAllowedRequestOrigin(req.headers.origin, policy)) {
59
+ socket.close(4003, 'Forbidden');
60
+ return;
61
+ }
51
62
  const { id } = req.params;
52
63
  const session = ctx.sessions.get(id);
53
64
  if (!session) {
@@ -1 +1 @@
1
- {"version":3,"file":"ws-routes.js","sourceRoot":"","sources":["../../../src/web/routes/ws-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-routes.js","sourceRoot":"","sources":["../../../src/web/routes/ws-routes.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,11 @@ export declare class WebServer extends EventEmitter {
105
105
  * Single object with zero runtime cost — ISP enforced at the type level.
106
106
  */
107
107
  private createRouteContext;
108
+ /**
109
+ * Current Host/Origin allowlist policy. Read per request so a tunnel started at
110
+ * runtime (PUT /api/settings) is reflected without a restart.
111
+ */
112
+ private getHostPolicy;
108
113
  private setupRoutes;
109
114
  /**
110
115
  * Start a transcript watcher for a session.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"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"}
@@ -69,9 +69,9 @@ import { getErrorMessage, DEFAULT_NICE_CONFIG, } from '../types.js';
69
69
  import { CleanupManager, KeyedDebouncer, startEventLoopMonitor } from '../utils/index.js';
70
70
  import { MAX_CONCURRENT_SESSIONS, MAX_SSE_CLIENTS } from '../config/map-limits.js';
71
71
  import { SseEvent } from './sse-events.js';
72
- import { registerAuthMiddleware, registerSecurityHeaders } from './middleware/auth.js';
72
+ import { registerAuthMiddleware, registerSecurityHeaders, registerHostGuard } from './middleware/auth.js';
73
73
  import { installRouteErrorHandler } from './route-error-handler.js';
74
- import { isExplicitlyEnabled, isLoopbackBindHost } from './network-auth-policy.js';
74
+ import { isExplicitlyEnabled, isLoopbackBindHost, buildHostPolicy } from './network-auth-policy.js';
75
75
  import { registerPushRoutes, registerTeamRoutes, registerMuxRoutes, registerFileRoutes, registerScheduledRoutes, registerHookEventRoutes, registerSystemRoutes, registerCaseRoutes, registerSessionRoutes, registerRespawnRoutes, registerRalphRoutes, registerPlanRoutes, registerClipboardRoutes, registerOrchestratorRoutes, registerWsRoutes, } from './routes/index.js';
76
76
  const __dirname = dirname(fileURLToPath(import.meta.url));
77
77
  // Bounded, predictable shape for SSE client identifiers: alphanumerics, `_`, `-`.
@@ -416,6 +416,13 @@ export class WebServer extends EventEmitter {
416
416
  initOrchestratorLoop: () => this.initOrchestratorLoop(),
417
417
  };
418
418
  }
419
+ /**
420
+ * Current Host/Origin allowlist policy. Read per request so a tunnel started at
421
+ * runtime (PUT /api/settings) is reflected without a restart.
422
+ */
423
+ getHostPolicy() {
424
+ return buildHostPolicy(this.host, this.tunnelManager.getUrl());
425
+ }
419
426
  async setupRoutes() {
420
427
  // multipart/form-data: parser is provided by @fastify/multipart (registered
421
428
  // below). Its parser is a no-op marker that leaves the body on req.raw, so
@@ -429,6 +436,10 @@ export class WebServer extends EventEmitter {
429
436
  });
430
437
  // Cookie plugin (needed for auth session tokens)
431
438
  await this.app.register(fastifyCookie);
439
+ // Anti-DNS-rebinding Host allowlist + cross-site (CSRF) Origin guard. Registered
440
+ // before auth so forged cross-site / rebound requests are rejected up front, even
441
+ // on the default no-password install. See docs/reports/security-review-2026-06-09.md.
442
+ registerHostGuard(this.app, () => this.getHostPolicy());
432
443
  // Auth middleware (Basic Auth + session cookies + rate limiting)
433
444
  const authState = registerAuthMiddleware(this.app, this.https);
434
445
  if (authState) {
@@ -567,26 +578,30 @@ export class WebServer extends EventEmitter {
567
578
  // Global error handler for structured errors thrown by findSessionOrFail /
568
579
  // parseBody. Shared with the route test harness so test behavior matches prod.
569
580
  installRouteErrorHandler(this.app);
570
- // Crash diagnostics beacon — frontend POSTs breadcrumbs, GET to read them
581
+ // Crash diagnostics beacon — frontend POSTs breadcrumbs, GET to read them.
582
+ // text/plain is used ONLY by this beacon (navigator.sendBeacon sends text/plain).
583
+ // Keep the body as a RAW STRING and parse it inside the handler — a global
584
+ // text/plain -> JSON parser would let a cross-site "simple request" (no CORS
585
+ // preflight) submit JSON to any route. See security review C2.
571
586
  let _crashBreadcrumbs = '';
572
587
  this.app.addContentTypeParser('text/plain;charset=UTF-8', { parseAs: 'string' }, (_req, body, done) => {
573
- try {
574
- done(null, JSON.parse(body));
575
- }
576
- catch {
577
- done(null, { data: body });
578
- }
588
+ done(null, body);
579
589
  });
580
590
  this.app.addContentTypeParser('text/plain', { parseAs: 'string' }, (_req, body, done) => {
591
+ done(null, body);
592
+ });
593
+ this.app.post('/api/crash-diag', (req, reply) => {
594
+ const raw = typeof req.body === 'string' ? req.body : '';
595
+ let data = raw;
581
596
  try {
582
- done(null, JSON.parse(body));
597
+ const parsed = JSON.parse(raw);
598
+ if (parsed && typeof parsed.data === 'string')
599
+ data = parsed.data;
583
600
  }
584
601
  catch {
585
- done(null, { data: body });
602
+ /* not JSON treat the raw beacon text as the breadcrumbs */
586
603
  }
587
- });
588
- this.app.post('/api/crash-diag', (req, reply) => {
589
- _crashBreadcrumbs = String(req.body?.data || '');
604
+ _crashBreadcrumbs = String(data || '');
590
605
  reply.code(204).send();
591
606
  });
592
607
  this.app.get('/api/crash-diag', (_req, reply) => {
@@ -608,7 +623,7 @@ export class WebServer extends EventEmitter {
608
623
  registerPlanRoutes(this.app, ctx);
609
624
  registerClipboardRoutes(this.app, ctx);
610
625
  registerOrchestratorRoutes(this.app, ctx);
611
- registerWsRoutes(this.app, ctx);
626
+ registerWsRoutes(this.app, ctx, () => this.getHostPolicy());
612
627
  }
613
628
  /**
614
629
  * Start a transcript watcher for a session.
@@ -1455,6 +1470,14 @@ export class WebServer extends EventEmitter {
1455
1470
  const protocol = this.https ? 'https' : 'http';
1456
1471
  const displayHost = this.host === '0.0.0.0' ? 'localhost' : this.host;
1457
1472
  console.log(`Codeman web interface running at ${protocol}://${displayHost}:${this.port}`);
1473
+ // Anti-DNS-rebinding Host allowlist is always on. Localhost, any bare IP, the
1474
+ // bind host, *.ts.net / *.trycloudflare.com / *.cfargotunnel.com, and the active
1475
+ // managed tunnel are accepted automatically; add any other domain you front this
1476
+ // with (e.g. a custom reverse-proxy host) via CODEMAN_ALLOWED_HOSTS=host1,.suffix.
1477
+ const extraAllowed = (process.env.CODEMAN_ALLOWED_HOSTS || '').trim();
1478
+ if (extraAllowed) {
1479
+ console.log(` Host allowlist also accepts: ${extraAllowed}`);
1480
+ }
1458
1481
  // Codeman binds loopback (127.0.0.1) by default, which is safe out of the box.
1459
1482
  // If the user opts into a non-loopback bind (e.g. --host 0.0.0.0) WITHOUT a
1460
1483
  // password we no longer refuse to start — that surprised people whose setups
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aicodeman",
3
- "version": "0.9.4",
3
+ "version": "0.9.5",
4
4
  "description": "The missing control plane for AI coding agents - run 20 autonomous agents with real-time monitoring and session persistence",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",