Skip to content

Conversation

@q1blue
Copy link

@q1blue q1blue commented Jan 26, 2026

snyk-top-banner

Snyk has created this PR to fix 3 vulnerabilities in the yarn dependencies of this project.

Snyk changed the following file(s):

  • code/frameworks/react-webpack5/package.json

Note 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 run yarn to update the contents of the ./yarn/cache directory.
If you are not using zero-install you can ignore this as your flow should likely be unchanged.

⚠️ Warning
Failed to update the yarn.lock, please update manually before merging.

Vulnerabilities that will be fixed with an upgrade:

Issue Score
medium severity Improper Handling of Unicode Encoding
SNYK-JS-TAR-15038581
  713  
medium severity Directory Traversal
SNYK-JS-TAR-15032660
  693  
medium severity Prototype Pollution
SNYK-JS-LODASH-15053838
  631  

Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.

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:

🦉 Prototype Pollution
🦉 Directory Traversal

@gemini-code-assist
Copy link

Summary of Changes

Hello @q1blue, 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, automatically generated by Snyk, aims to enhance the project's security posture by upgrading several Storybook-related yarn dependencies. The updates resolve three identified medium-severity security vulnerabilities, ensuring the project uses more secure versions of these packages.

Highlights

  • Dependency Updates: The pull request updates three Storybook-related dependencies in code/frameworks/react-webpack5/package.json. Specifically, @storybook/builder-webpack5 is updated to 7.1.0, @storybook/preset-react-webpack is updated to 7.0.0, and @storybook/react is updated to 5.3.0.
  • Vulnerability Fixes: These dependency upgrades address three medium-severity security vulnerabilities: Improper Handling of Unicode Encoding (SNYK-JS-TAR-15038581), Directory Traversal (SNYK-JS-TAR-15032660), and Prototype Pollution (SNYK-JS-LODASH-15053838).
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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

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 pull request 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

  1. 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.

Copy link

@gemini-code-assist gemini-code-assist bot left a 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 was automatically generated by Snyk to address security vulnerabilities. While the goal is important, the proposed changes are fundamentally incompatible with this project's monorepo structure. The PR downgrades several key Storybook packages to much older major versions and replaces workspace:* specifiers with fixed versions, which will break the local package linking and almost certainly cause the build to fail. Additionally, the yarn.lock file was not updated, which is a critical omission for ensuring reproducible builds. I have provided a detailed comment on the package.json changes, recommending that they be reverted and suggesting a more appropriate method for resolving these vulnerabilities within a monorepo. This PR should not be merged as is.

Comment on lines +50 to +52
"@storybook/builder-webpack5": "7.1.0",
"@storybook/preset-react-webpack": "7.0.0",
"@storybook/react": "5.3.0",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

This automated change from Snyk introduces several critical issues by replacing workspace:* dependencies with older, hardcoded versions.

  • Breaks Monorepo Structure: This change will cause dependencies to be fetched from the npm registry instead of being linked from the local workspace, which defeats the purpose of a monorepo setup.
  • Major Version Downgrade: The dependencies are being downgraded from the workspace version 8.3.0-beta.3 to significantly older versions (7.1.0, 7.0.0, and 5.3.0). This is a major breaking change and will likely cause the application to fail.
  • Incorrect Fix Strategy: The vulnerabilities in transitive dependencies (lodash, tar) should be addressed without introducing breaking changes to direct dependencies.

It is strongly recommended to revert these changes. A better approach for a monorepo is to use resolutions (Yarn 1) or overrides (Yarn 2+/npm) in the root package.json to enforce a secure version of the vulnerable transitive dependencies across all workspaces.

For example, you could add the following to your root package.json:

"resolutions": {
  "lodash": "^4.17.21",
  "tar": "^6.2.1"
}

This will resolve the security issues without breaking your project's structure.

    "@storybook/builder-webpack5": "workspace:*",
    "@storybook/preset-react-webpack": "workspace:*",
    "@storybook/react": "workspace:*"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants