| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
There was a problem hiding this comment.
Moderate unresolved issues remain in wrapper argument mapping and Hapi request-source tracking.
Get a fresh assessment by requesting another Copilot review.
Review tier: Lite (auto)
Findings: 1
Note
Copilot is running an experiment and ran this review at Lite.
Improves JavaScript CodeQL modeling for indirect Hapi routes, request inputs, custom handler registries, and forwarding wrappers.
Changes:
| File | Summary |
|---|---|
| javascript/ql/test/library-tests/frameworks/hapi/WrappedRouteFlow.qll | Defines regression flow coverage. |
| javascript/ql/test/library-tests/frameworks/hapi/tests.ql | Includes the regression test. |
| javascript/ql/test/library-tests/frameworks/hapi/tests.expected | Records expected test results. |
| javascript/ql/test/library-tests/frameworks/hapi/src/wrapped-route.js | Adds the regression fixture. |
| javascript/ql/lib/semmle/javascript/frameworks/Hapi.qll | Expands Hapi route and request modeling. |
| javascript/ql/lib/semmle/javascript/dataflow/internal/FunctionWrapperSteps.qll | Adds flow through invoked wrappers. |
| javascript/ql/lib/change-notes/2026-09-08-hapi-wrapped-routes.md | Documents the change. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Sorry, something went wrong.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8390a2d1-70e3-4a01-84d3-3e5747d5da0b
There was a problem hiding this comment.
Moderate data-flow findings remain in Hapi request-source and reflective-call handling.
Review tier: Lite (auto)
Findings: None
Note
Copilot is running an experiment and ran this review at Lite.
In code that hasn't changed since last review
javascript/ql/lib/semmle/javascript/frameworks/Hapi.qll:109
This starts from a property read on the original parameter before applying type tracking, so it cannot follow the request object through a helper and then load query, params, or payload (for example, use(getRequest(request).query.id)). The HTTP abstraction explicitly exposes getARequestSource() for RequestSource.ref() tracking, and the analogous Express model uses req.ref() before reading these properties. Start from that request reference before loading property so aliases and calls are covered.
Sorry, something went wrong.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8390a2d1-70e3-4a01-84d3-3e5747d5da0b
There was a problem hiding this comment.
The handler-property flow does not yet preserve receivers passed through .call, and additional payload/params coverage is requested.
Get a fresh assessment by requesting another Copilot review.
Review tier: Lite (auto)
Findings: 1
Note
Copilot is running an experiment and ran this review at Lite.
Sorry, something went wrong.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8390a2d1-70e3-4a01-84d3-3e5747d5da0b
There was a problem hiding this comment.
Three unresolved moderate findings remain in Hapi.qll.
Review tier: Lite (auto)
Findings: None
Note
Copilot is running an experiment and ran this review at Lite.
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
The false negative reproduced on this PR as a regression test had four separate breaks in the flow:
In javascript/ql/lib/semmle/javascript/frameworks/Hapi.qll we:
For javascript/ql/lib/semmle/javascript/dataflow/internal/FunctionWrapperSteps.qll
This is a change to the overall JavaScript CodeQL code and while both DCAs have run fine, I am not confident in what the implications of that change is.