- Added a new query,
rb/improper-memoization
. The query finds cases where the parameter of a memoization method is not used in the memoization key.
- The query "Use of a broken or weak cryptographic algorithm" (
rb/weak-cryptographic-algorithm
) now reports if a cryptographic operation is potentially insecure due to use of a weak block mode.
- Added a new query,
rb/insecure-download
. The query finds cases where executables and other sensitive files are downloaded over an insecure connection, which may allow for man-in-the-middle attacks. - Added a new query,
rb/regex/missing-regexp-anchor
, which finds regular expressions which are improperly anchored. Validations using such expressions are at risk of being bypassed. - Added a new query,
rb/incomplete-sanitization
. The query finds string transformations that do not replace or escape all occurrences of a meta-character.
- Added a new query,
rb/insecure-dependency
. The query finds cases where Ruby gems may be downloaded over an insecure communication channel. - Added a new query,
rb/weak-cryptographic-algorithm
. The query finds uses of cryptographic algorithms that are known to be weak, such as DES. - Added a new query,
rb/http-tainted-format-string
. The query finds cases where data from remote user input is used in a string formatting method in a way that allows arbitrary format specifiers to be inserted. - Added a new query,
rb/http-to-file-access
. The query finds cases where data from remote user input is written to a file. - Added a new query,
rb/incomplete-url-substring-sanitization
. The query finds instances where a URL is incompletely sanitized due to insufficient checks.
- Added a new query,
rb/clear-text-storage-sensitive-data
. The query finds cases where sensitive information, such as user credentials, are stored as cleartext. - Added a new query,
rb/incomplete-hostname-regexp
. The query finds instances where a hostname is incompletely sanitized due to an unescaped character in a regular expression.
- Added a new query,
rb/clear-text-logging-sensitive-data
. The query finds cases where sensitive information, such as user credentials, are logged as cleartext.
- Added a new query,
rb/weak-cookie-configuration
. The query finds cases where cookie configuration options are set to values that may make an application more vulnerable to certain attacks.
- The query
rb/csrf-protection-disabled
has been extended to find calls to the Rails methodprotect_from_forgery
that may weaken CSRF protection.
- A new query (
rb/request-forgery
) has been added. The query finds HTTP requests made with user-controlled URLs. - A new query (
rb/csrf-protection-disabled
) has been added. The query finds cases where cross-site forgery protection is explictly disabled.
- The precision of "Hard-coded credentials" (
rb/hardcoded-credentials
) has been decreased from "high" to "medium". This query will no longer be run and displayed by default on Code Scanning and LGTM.