sh-mcp/packages
Adam Moussa 00762de0a6 Address CodeQL findings: bound ajv error work + edge rate limiting
GHAS code-scanning alerts on this PR:
- dispatch.ts (js/resource-exhaustion): ajv ran with allErrors:true on
  untrusted input, letting a crafted payload force unbounded error
  enumeration. Switch to allErrors:false (default) so validation
  short-circuits on the first failure; the 400 still names that path.
- http.ts (js/missing-rate-limiting): the authenticated routes (/mcp,
  /tools/:name) had no edge throttle — auth/JWT verification ran on every
  request before the per-sub dispatch limiter could apply. Add an IP-keyed
  express-rate-limit in front of authenticate (120/60s default, configurable),
  returning the standard 429 shape. Defense-in-depth over the per-sub +
  per-tool limiter in executeTool; API GW/WAF remains the production edge.

Tests: +2 cases proving the edge limiter throttles before auth (429, not
401) on /tools and /mcp. 407 pass; tsc/eslint/prettier clean.
2026-06-26 13:01:12 -04:00
..
calendar Add security-weighted test suite + coverage gate; wire tooling 2026-06-26 12:48:26 -04:00
gmail Add security-weighted test suite + coverage gate; wire tooling 2026-06-26 12:48:26 -04:00
google-maps Add security-weighted test suite + coverage gate; wire tooling 2026-06-26 12:48:26 -04:00
internal-data Add security-weighted test suite + coverage gate; wire tooling 2026-06-26 12:48:26 -04:00
knowledge-base Add security-weighted test suite + coverage gate; wire tooling 2026-06-26 12:48:26 -04:00
payments Add security-weighted test suite + coverage gate; wire tooling 2026-06-26 12:48:26 -04:00
qbo Add security-weighted test suite + coverage gate; wire tooling 2026-06-26 12:48:26 -04:00
reminders Add security-weighted test suite + coverage gate; wire tooling 2026-06-26 12:48:26 -04:00
shared Address CodeQL findings: bound ajv error work + edge rate limiting 2026-06-26 13:01:12 -04:00
tasks Add security-weighted test suite + coverage gate; wire tooling 2026-06-26 12:48:26 -04:00
.gitkeep Phase 0b slice: monorepo scaffold + @sh-mcp/shared core + integration packages (#2) 2026-06-26 12:42:17 -04:00