Files
codeql/javascript/ql/test/library-tests/frameworks
murderteeth dfe05599d3 JS: Add support for @vercel/node serverless functions
This adds a framework model for Vercel serverless functions so that
CodeQL's existing JavaScript security queries can detect vulnerabilities
in handlers of the form

    export default function handler(req: VercelRequest, res: VercelResponse) { ... }

Handlers are identified as the default export of a module whose first
two parameters are typed as `VercelRequest`/`VercelResponse` from
`@vercel/node`. The default-export constraint excludes private helpers
that share the same signature. Type-based detection follows the same
pattern already used by `NextReqResHandler` in `Next.qll`.

The framework model covers:
- Route handler recognition (default-exported typed handlers only)
- Request input sources: `query`, `body`, `cookies`, and `url`
  (the last inherited from Node's `IncomingMessage`)
- Named header accesses like `req.headers.host` and `req.headers.referer`,
  modelled as `Http::RequestHeaderAccess` so header-specific queries fire
- Response sinks: `res.send`, `res.status(...).send`, `res.redirect`
- Header definitions via `res.setHeader`

Includes a library test exercising each model predicate (including a
negative case for private helpers) and query consistency fixtures
demonstrating end-to-end detection for js/reflected-xss,
js/request-forgery, js/sql-injection, and js/command-line-injection.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 19:17:18 +00:00
..
2025-06-03 16:37:36 +01:00
2022-09-09 10:34:14 +02:00
2019-01-11 11:02:42 +01:00
2019-01-11 11:02:42 +01:00
2025-09-12 08:51:23 +02:00
2022-08-25 20:52:27 +02:00
2025-03-26 11:41:11 +01:00
2023-04-28 07:55:20 +02:00
2024-12-19 15:25:39 +01:00
2022-09-09 10:34:14 +02:00
2025-06-15 12:12:12 +02:00
2024-12-19 15:25:39 +01:00
2022-12-19 17:22:51 +00:00
2023-10-13 13:15:07 +02:00
2023-10-13 13:15:07 +02:00
2024-12-19 15:25:39 +01:00