Skip to content

Commit 098101f

Browse files
authored
add RubyZip::File.open to frameworks
1 parent af6fbd4 commit 098101f

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

ruby/ql/lib/codeql/ruby/Frameworks.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ private import codeql.ruby.frameworks.ActiveRecord
88
private import codeql.ruby.frameworks.ActiveStorage
99
private import codeql.ruby.frameworks.ActionView
1010
private import codeql.ruby.frameworks.ActiveSupport
11+
private import codeql.ruby.frameworks.Archive
1112
private import codeql.ruby.frameworks.GraphQL
1213
private import codeql.ruby.frameworks.Rails
1314
private import codeql.ruby.frameworks.Stdlib
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* Provides classes for working with archive libraries.
3+
*/
4+
5+
private import ruby
6+
private import codeql.ruby.Concepts
7+
private import codeql.ruby.DataFlow
8+
private import codeql.ruby.ApiGraphs
9+
10+
/**
11+
* Classes and predicates for modelling the RubyZip library
12+
*/
13+
module RubyZip {
14+
/**
15+
* A call to `Zip::File.open`, considered as a `FileSystemAccess`.
16+
*/
17+
class RubyZipFileOpen extends DataFlow::CallNode, FileSystemAccess::Range {
18+
RubyZipFileOpen() { this = API::getTopLevelMember("Zip").getMember("File").getAMethodCall("open") }
19+
20+
override DataFlow::Node getAPathArgument() { result = this.getArgument(0) }
21+
}
22+
}

0 commit comments

Comments
 (0)