Ruby: Simplify imports

This commit is contained in:
Harry Maclean
2022-08-05 12:11:16 +12:00
parent ab6287aebd
commit 025e34d8e1
3 changed files with 9 additions and 16 deletions

View File

@@ -12,7 +12,7 @@ private import codeql.ruby.security.IncompleteMultiCharacterSanitization
* `dangerous` which matches a dangerous string beginning with `prefix`, in
* attempt to avoid a vulnerability of kind `kind`.
*/
predicate hasResult(
query predicate problems(
StringSubstitutionCall replace, EmptyReplaceRegExpTerm dangerous, string prefix, string kind
) {
exists(EmptyReplaceRegExpTerm regexp |

View File

@@ -13,15 +13,11 @@
* external/cwe/cwe-116
*/
import ruby
import codeql.ruby.frameworks.core.String
import codeql.ruby.DataFlow
import codeql.ruby.security.IncompleteMultiCharacterSanitizationQuery
import codeql.ruby.security.IncompleteMultiCharacterSanitizationSpecific as Specific
import codeql.ruby.security.IncompleteMultiCharacterSanitizationQuery as Query
import codeql.ruby.regexp.RegExpTreeView
from
StringSubstitutionCall replace, Specific::EmptyReplaceRegExpTerm dangerous, string prefix,
string kind
where hasResult(replace, dangerous, prefix, kind)
from DataFlow::Node replace, RegExpTerm dangerous, string prefix, string kind
where Query::problems(replace, dangerous, prefix, kind)
select replace, "This string may still contain $@, which may cause a " + kind + " vulnerability.",
dangerous, prefix

View File

@@ -3,9 +3,9 @@
*/
import ruby
import codeql.ruby.regexp.RegExpTreeView as RETV
import codeql.ruby.DataFlow
import codeql.ruby.security.IncompleteMultiCharacterSanitizationQuery as Query
import codeql.ruby.security.IncompleteMultiCharacterSanitizationSpecific as Specific
import codeql.ruby.frameworks.core.String
import TestUtilities.InlineExpectationsTest
class Test extends InlineExpectationsTest {
@@ -20,15 +20,12 @@ class Test extends InlineExpectationsTest {
}
predicate hasResult(Location location, string element, string value) {
exists(
StringSubstitutionCall replace, Specific::EmptyReplaceRegExpTerm dangerous, string prefix,
string kind
|
exists(DataFlow::Node replace, RETV::RegExpTerm dangerous, string prefix, string kind |
replace.getLocation() = location and
element = replace.toString() and
value = shortKind(kind)
|
Query::hasResult(replace, dangerous, prefix, kind)
Query::problems(replace, dangerous, prefix, kind)
)
}