-
Notifications
You must be signed in to change notification settings - Fork 738
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add optional use of Prism parser #1858
Conversation
Yields with no method/block context is now a syntax error at parse time, so ERB templates need to avoid that to be parsed correctly.
which is hard, because we can't make it a hard dependency
Even if asked to
DryRun Security SummaryThe provided code changes focus on improving the functionality and testing of the Brakeman security scanner tool, including the addition of Prism parser support, improved error handling, and enhanced testing. Expand for full summarySummary: The provided code changes focus on improving the functionality and testing of the Brakeman security scanner tool. The key changes include:
From an application security perspective, these changes do not directly introduce any security vulnerabilities. The focus is on improving the core functionality and testing of the Brakeman tool, which is a crucial component for identifying security issues in Ruby on Rails applications. However, it's important to consider the security implications of the Prism parser and ensure that it is regularly updated and does not have any known vulnerabilities. Additionally, the timeout handling and error logging mechanisms should be reviewed to ensure they are configured appropriately and do not introduce any potential security concerns. Overall, the changes in this pull request appear to be a routine update to the Brakeman project, with a focus on enhancing the tool's performance, robustness, and testing capabilities. These improvements can ultimately lead to more effective security scanning and the identification of potential vulnerabilities in Ruby on Rails applications. Files Changed:
Code AnalysisWe ran Riskiness🟢 Risk threshold not exceeded. |
--prism
to parse with Prism, but still fall back to RubyParser if that failsWhy all the weirdness with installing Prism separately? Why not have Prism be a real dependency? Mainly because Brakeman bundles gems, and we can't bundle gems with native extensions. But Prism is a default gem, so it doesn't need to get bundled! But... we'll need a newer version that what is currently shipped with Ruby. So... perhaps for the next version of Ruby that bumps the Prism version, it can be loaded by default. But even then it can't be a gem dependency, because that would force use of the latest Ruby 😞