[Snyk] Security upgrade cryptography from 2.3 to 46.0.5#196
Conversation
The following vulnerabilities are fixed by pinning transitive dependencies: - https://snyk.io/vuln/SNYK-PYTHON-CRYPTOGRAPHY-15263096
|
Important Review skippedIgnore keyword(s) in the title. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR attempts to upgrade the cryptography package from version 2.3 to 46.0.5 to address security vulnerabilities. This is a massive version jump spanning approximately 8 years of development and represents a high-risk change for a codebase with extensive Ethereum/Web3 integration.
Changes:
- Upgrades cryptography from 2.3 to 46.0.5 in requirements/base.txt
- Introduces numerous dependency conflicts with the existing web3/Ethereum stack
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ccxt | ||
| cryptocompare==0.6 | ||
| cryptography==2.3 | ||
| cryptography==46.0.5 |
There was a problem hiding this comment.
This is a major version upgrade from cryptography 2.3 to 46.0.5, which spans approximately 8 years of breaking changes. This upgrade is extremely risky and will likely cause compatibility issues with multiple dependencies in this project.
The following dependencies explicitly depend on older versions of cryptography or its related packages:
- PyJWT 1.5.3 (line 25) is extremely old and may not be compatible with cryptography 46.x
- eth-account 0.5.9 (line 62) and related Ethereum packages (eth-utils, eth-abi, eth-keys, rlp) have explicit version conflicts
- Several other packages in the requirements have incompatible dependency chains
This upgrade should be accompanied by:
- Updating ALL related dependencies (especially PyJWT, eth-account, web3, and the entire Ethereum stack)
- Comprehensive testing of all cryptographic operations
- Review of all authentication, signing, and encryption functionality
- Testing of the Ethereum/Web3 integrations
The massive version jump makes this unsuitable for automated approval without extensive testing and validation.
| cryptography==46.0.5 | |
| cryptography==2.3 |
Snyk has created this PR to fix 1 vulnerabilities in the pip dependencies of this project.
Snyk changed the following file(s):
requirements/base.txtImportant
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.