-
Notifications
You must be signed in to change notification settings - Fork 0
[Snyk] Security upgrade lighthouse from 3.2.1 to 7.4.0 #569
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…ulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-TMP-11501554
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @saurabharch, 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 performs a critical security upgrade of the "lighthouse" dependency within the "scripts/bench" module. The primary goal is to mitigate a known "Symlink Attack" vulnerability by updating "lighthouse" to a much newer major version. This change is confined to the dependency management files, ensuring the "scripts/bench" environment benefits from the latest security patches and improvements.
Highlights
- Dependency Upgrade: The "lighthouse" dependency in the "scripts/bench" module has been upgraded from version 3.2.1 to 7.4.0.
- Security Fix: This upgrade specifically addresses a medium-severity "Symlink Attack" vulnerability (SNYK-JS-TMP-11501554) found in the previous version of "lighthouse".
- Dependency Manifest Updates: The update involved changes to both "package.json" and "yarn.lock" within the "scripts/bench" directory, reflecting the significant version jump and its impact on transitive dependencies.
Using Gemini Code Assist
The 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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.
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
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request upgrades the lighthouse dependency from version 3.2.1 to 7.4.0 to address a security vulnerability. This is a major version bump that introduces breaking changes. My review focuses on the potential impact of these changes. I've identified a critical issue where the benchmark script will fail due to an API change in lighthouse. The script needs to be updated to work with the new version.
| "http-server": "^0.10.0", | ||
| "http2": "^3.3.6", | ||
| "lighthouse": "^3.2.1", | ||
| "lighthouse": "^7.4.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Upgrading lighthouse from v3 to v7 is a major version change that will break the benchmark script at scripts/bench/benchmark.js.
The Lighthouse function is called with an output option as a string: output: 'json'. In Lighthouse v7, this option must be an array of strings, for example ['json']. This will cause an error when running the benchmarks.
Please update the benchmark script to align with the new lighthouse API to ensure it remains functional after this upgrade.
Snyk has created this PR to fix 1 vulnerabilities in the yarn dependencies of this project.
Snyk changed the following file(s):
scripts/bench/package.jsonscripts/bench/yarn.lockNote for zero-installs users
If you are using the Yarn feature zero-installs that was introduced in Yarn V2, note that this PR does not update the
.yarn/cache/directory meaning this code cannot be pulled and immediately developed on as one would expect for a zero-install project - you will need to runyarnto update the contents of the./yarn/cachedirectory.If you are not using zero-install you can ignore this as your flow should likely be unchanged.
Vulnerabilities that will be fixed with an upgrade:
SNYK-JS-TMP-11501554
Important
Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic
Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.