Files
OmniRoute/scripts
diegosouzapw 0e56c5f54a chore(security): hardening pass + Trae IDE provider
Bundle of small targeted improvements that landed in parallel with the
PR #2678 review pass.

Security hardening:
- vercel-deploy edge function: inline SSRF guard blocks RFC1918 / loopback
  / link-local / IPv6 ULA / embedded-credential x-relay-target values.
  Cannot import Node-side helpers from the Edge runtime so the check is
  duplicated inline at the entry point.
- webhooks/[id] GET: mask webhook.secret to first-10-chars + "..." so the
  detail endpoint no longer hands out the full signing secret.
- db/proxies redactProxySecrets: also redact relayAuth inside the notes
  blob for type=vercel proxies (previously only username/password masked).
- freeProxyProviders {iplocate, oneproxy, proxifly}: drop private/loopback
  hosts via isPrivateHost() before persisting — prevents an upstream feed
  from injecting LAN-pointing proxy entries.

9router supervisor:
- _lib.ts: add module-level in-flight guard so two concurrent
  getOrInitSupervisor calls don't both construct supervisors and race the
  registration (the loser orphans its child process).
- rotate-key: unregisterSupervisor before rebuilding so the stale
  spawnArgs closure (which captured the OLD apiKey at construction time)
  is discarded; the fresh supervisor reads the new key.

Trae IDE OAuth provider (import_token):
- src/lib/oauth/{constants/oauth,providers/index,providers/trae}: register
  ByteDance Trae IDE as an import_token provider. ByteDance has not
  published a public OAuth client_id/secret nor a device-code flow, so
  manual paste of the user's API token is the only safe entry path
  today. TODO comments mark the upgrade path if a public CLI ships.
- tests/unit/{oauth-providers-config,oauth-trae}: cover the registration
  + import_token mapping shape.

Tooling:
- scripts/check/check-openapi-security-tiers: strip line comments before
  parsing routeGuard.ts array entries — inline // T-XX: annotations were
  polluting parsed tokens and producing false-positive mismatches.
- package.json: add @types/bun devDep, mark workspace private.
2026-05-26 12:48:39 -03:00
..
2026-05-23 01:46:59 -03:00
2026-05-20 09:12:49 -03:00
2026-05-24 18:05:58 -03:00
2026-05-24 18:05:58 -03:00