Conversation
|
/gcbrun |
Summary of ChangesHello @renovate-bot, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request focuses on upgrading two key Go dependencies, Highlights
Changelog
Ignored Files
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request, generated by Renovate, updates go-chi/httplog and neo4j-go-driver to new major versions. However, a critical security audit identified a high-severity Cypher Injection flaw in the existing code, allowing attackers to bypass dryRun protections and execute arbitrary write queries. This vulnerability persists because the neo4j-go-driver update is incomplete, leaving the application using the older, vulnerable v5 driver. The PR currently only adds the new dependencies to go.mod without updating the code to use them. Both updates introduce significant breaking changes that require code migration. The new dependencies are unused, and the existing code is incompatible. It is critical to complete the dependency migration to the new v6 driver, update the code to use the new versions, and then remove the old versions from go.mod (e.g., by running go mod tidy) to remediate the injection vulnerability and ensure functionality.
| github.com/go-chi/chi/v5 v5.2.3 | ||
| github.com/go-chi/cors v1.2.2 | ||
| github.com/go-chi/httplog/v2 v2.1.1 | ||
| github.com/go-chi/httplog/v3 v3.3.0 |
There was a problem hiding this comment.
This adds httplog/v3, but the codebase still uses v2. v3 is a major rewrite based on Go's structured logging (slog) and introduces breaking changes. The current implementation in internal/server/server.go is incompatible.
For example, httplog.Options has changed significantly in v3. Fields like LogLevel, RequestHeaders, MessageFieldName, SourceFieldName, TimeFieldName, and LevelFieldName are no longer available. These have been replaced by slog-based configuration, primarily using the ReplaceAttr function in httplog.Options.
The code in internal/server/server.go needs to be migrated to use httplog/v3. You can likely adapt the replace function from internal/log/log.go to configure the JSON output format to match the previous one.
| github.com/microsoft/go-mssqldb v1.9.3 | ||
| github.com/nakagami/firebirdsql v0.9.15 | ||
| github.com/neo4j/neo4j-go-driver/v5 v5.28.4 | ||
| github.com/neo4j/neo4j-go-driver/v6 v6.0.0 |
There was a problem hiding this comment.
This PR updates neo4j-go-driver to v6.0.0 in go.mod, but the code in internal/sources/neo4j/neo4j.go still uses v5. This is critical because the existing v5 driver code in internal/sources/neo4j/neo4j.go contains a High severity Cypher Injection vulnerability. Specifically, in the RunQuery function, the cypherStr parameter is concatenated with "EXPLAIN " when dryRun is true (line 123), enabling attackers to bypass dryRun and execute arbitrary write queries (e.g., ...; CREATE ...). Version 6 introduces breaking changes, such as changes to neo4j.ExecuteQuery and neo4j.EagerResult becoming a generic type, which will break the current implementation. To remediate this vulnerability and complete the update, the code must be migrated to import and use github.com/neo4j/neo4j-go-driver/v6/neo4j. After migration, v5 of the driver should be removed from the dependencies.
3dfdb01 to
06e45ca
Compare
|
/gcbrun |
This PR contains the following updates:
v2.1.1→v3.3.0v5.28.4→v6.0.0Release Notes
go-chi/httplog (github.com/go-chi/httplog/v2)
v3.3.0Compare Source
What's Changed
New Contributors
Full Changelog: go-chi/httplog@v3.2.2...v3.3.0
v3.2.2Compare Source
What's Changed
Full Changelog: go-chi/httplog@v3.2.1...v3.2.2
v3.2.1Compare Source
What's Changed
Full Changelog: go-chi/httplog@v3.2.0...v3.2.1
v3.2.0Compare Source
What's Changed
by @VojtechVitek in #59
Full Changelog: go-chi/httplog@v3.1.0...v3.2.0
v3.1.0Compare Source
What's Changed
Full Changelog: go-chi/httplog@v3.0.0...v3.1.0
v3.0.0Compare Source
What's Changed
with contributions from @david-littlefarmer and @wangfenjin
github.com/go-chi/httplog/v3
Based on prototype at https://github.com/golang-cz/httplog
Fixes #28
Fixes #35
Fixes #36
Fixes #40
New Contributors
Full Changelog: go-chi/httplog@v2.1.1...v3.0.0
neo4j/neo4j-go-driver (github.com/neo4j/neo4j-go-driver/v5)
v6.0.0Compare Source
See https://github.com/neo4j/neo4j-go-driver/wiki/6.x-changelog for more information.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.