Ruby: Test disablesCertificateValidation

This commit is contained in:
Harry Maclean
2022-09-02 13:00:29 +12:00
parent 5d356df300
commit 570a03a08f
2 changed files with 9 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
modelClasses
| active_resource.rb:1:1:3:3 | Person | active_resource.rb:2:3:2:11 | call to site= |
| active_resource.rb:29:1:31:3 | Post | active_resource.rb:30:3:30:11 | call to site= |
| active_resource.rb:1:1:3:3 | Person | active_resource.rb:2:3:2:11 | call to site= | false |
| active_resource.rb:29:1:31:3 | Post | active_resource.rb:30:3:30:11 | call to site= | false |
modelClassMethodCalls
| active_resource.rb:2:3:2:11 | call to site= |
| active_resource.rb:5:9:5:33 | call to new |

View File

@@ -2,8 +2,13 @@ import ruby
import codeql.ruby.DataFlow
import codeql.ruby.frameworks.ActiveResource
query predicate modelClasses(ActiveResource::ModelClass c, DataFlow::Node siteAssignCall) {
c.getASiteAssignment() = siteAssignCall
query predicate modelClasses(
ActiveResource::ModelClass c, DataFlow::Node siteAssignCall, boolean disablesCertificateValidation
) {
c.getASiteAssignment() = siteAssignCall and
if c.disablesCertificateValidation(siteAssignCall)
then disablesCertificateValidation = true
else disablesCertificateValidation = false
}
query predicate modelClassMethodCalls(ActiveResource::ModelClassMethodCall c) { any() }