Skip to content

Commit ab88b9b

Browse files
committed
Revert "Upgrade and convert gorqlite sql-injection sinks to MaD"
This reverts commit ce0cb12.
1 parent 8fc3b00 commit ab88b9b

File tree

10 files changed

+45
-245
lines changed

10 files changed

+45
-245
lines changed

go/ql/lib/ext/github.com.rqlite.gorqlite.model.yml

Lines changed: 0 additions & 35 deletions
This file was deleted.

go/ql/lib/semmle/go/frameworks/SQL.qll

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ module SQL {
8181
/** A string that might identify package `go-pg/pg/orm` or a specific version of it. */
8282
private string gopgorm() { result = package("github.com/go-pg/pg", "orm") }
8383

84+
/** A string that might identify package `github.com/rqlite/gorqlite` or `github.com/raindog308/gorqlite` or a specific version of it. */
85+
private string gorqlite() {
86+
result = package(["github.com/rqlite/gorqlite", "github.com/raindog308/gorqlite"], "")
87+
}
88+
8489
/** A string that might identify package `github.com/gogf/gf/database/gdb` or a specific version of it. */
8590
private string gogf() { result = package("github.com/gogf/gf", "database/gdb") }
8691

@@ -149,6 +154,25 @@ module SQL {
149154
}
150155
}
151156

157+
/**
158+
* A string argument to an API of `github.com/rqlite/gorqlite`, or a specific version of it, that is directly interpreted as SQL without
159+
* taking syntactic structure into account.
160+
*/
161+
private class GorqliteQueryString extends Range {
162+
GorqliteQueryString() {
163+
// func (conn *Connection) Query(sqlStatements []string) (results []QueryResult, err error)
164+
// func (conn *Connection) QueryOne(sqlStatement string) (qr QueryResult, err error)
165+
// func (conn *Connection) Queue(sqlStatements []string) (seq int64, err error)
166+
// func (conn *Connection) QueueOne(sqlStatement string) (seq int64, err error)
167+
// func (conn *Connection) Write(sqlStatements []string) (results []WriteResult, err error)
168+
// func (conn *Connection) WriteOne(sqlStatement string) (wr WriteResult, err error)
169+
exists(Method m, string name | m.hasQualifiedName(gorqlite(), "Connection", name) |
170+
name = ["Query", "QueryOne", "Queue", "QueueOne", "Write", "WriteOne"] and
171+
this = m.getACall().getArgument(0)
172+
)
173+
}
174+
}
175+
152176
/**
153177
* A string argument to an API of `github.com/gogf/gf/database/gdb`, or a specific version of it, that is directly interpreted as SQL without
154178
* taking syntactic structure into account.

go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.expected

Lines changed: 0 additions & 3 deletions
This file was deleted.

go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.ql

Lines changed: 0 additions & 60 deletions
This file was deleted.

go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ module main
22

33
go 1.18
44

5-
require github.com/rqlite/gorqlite v0.0.0-20240808172217-12ae7d03ef19
5+
require github.com/rqlite/gorqlite v0.0.0-20220528150909-c4e99ae96be6
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
| gorqlite.go:11:13:11:16 | sqls |
2+
| gorqlite.go:12:13:12:16 | sqls |
3+
| gorqlite.go:13:13:13:16 | sqls |
4+
| gorqlite.go:14:16:14:18 | sql |
5+
| gorqlite.go:15:16:15:18 | sql |
6+
| gorqlite.go:16:16:16:18 | sql |
Lines changed: 5 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,20 @@
11
package main
22

3-
//go:generate depstubber -vendor github.com/rqlite/gorqlite Connection,ParameterizedStatement Open
3+
//go:generate depstubber -vendor github.com/rqlite/gorqlite Connection Open
44

55
import (
6-
"context"
7-
86
"github.com/rqlite/gorqlite"
97
)
108

11-
func gorqlitetest(sql string, sqls []string, param_sql gorqlite.ParameterizedStatement, param_sqls []gorqlite.ParameterizedStatement, ctx context.Context) {
9+
func gorqlitetest(sql string, sqls []string) {
1210
conn, _ := gorqlite.Open("dbUrl")
13-
14-
conn.Query(sqls) // $ querystring=sqls
15-
conn.Queue(sqls) // $ querystring=sqls
16-
conn.Write(sqls) // $ querystring=sqls
17-
11+
conn.Query(sqls) // $ querystring=sqls
12+
conn.Queue(sqls) // $ querystring=sqls
13+
conn.Write(sqls) // $ querystring=sqls
1814
conn.QueryOne(sql) // $ querystring=sql
1915
conn.QueueOne(sql) // $ querystring=sql
2016
conn.WriteOne(sql) // $ querystring=sql
21-
22-
conn.QueryParameterized(param_sqls) // $ querystring=param_sqls
23-
conn.QueueParameterized(param_sqls) // $ querystring=param_sqls
24-
conn.WriteParameterized(param_sqls) // $ querystring=param_sqls
25-
26-
conn.QueryOneParameterized(param_sql) // $ querystring=param_sql
27-
conn.QueueOneParameterized(param_sql) // $ querystring=param_sql
28-
conn.WriteOneParameterized(param_sql) // $ querystring=param_sql
29-
30-
conn.QueryContext(ctx, sqls) // $ querystring=sqls
31-
conn.QueueContext(ctx, sqls) // $ querystring=sqls
32-
conn.WriteContext(ctx, sqls) // $ querystring=sqls
33-
34-
conn.QueryOneContext(ctx, sql) // $ querystring=sql
35-
conn.QueueOneContext(ctx, sql) // $ querystring=sql
36-
conn.WriteOneContext(ctx, sql) // $ querystring=sql
37-
38-
conn.QueryParameterizedContext(ctx, param_sqls) // $ querystring=param_sqls
39-
conn.QueueParameterizedContext(ctx, param_sqls) // $ querystring=param_sqls
40-
conn.WriteParameterizedContext(ctx, param_sqls) // $ querystring=param_sqls
41-
42-
conn.QueryOneParameterizedContext(ctx, param_sql) // $ querystring=param_sql
43-
conn.QueueOneParameterizedContext(ctx, param_sql) // $ querystring=param_sql
44-
conn.WriteOneParameterizedContext(ctx, param_sql) // $ querystring=param_sql
4517
}
46-
4718
func main() {
4819
return
4920
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import go
2+
3+
from SQL::QueryString qs
4+
select qs

go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/github.com/rqlite/gorqlite/stub.go

Lines changed: 4 additions & 111 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
# github.com/rqlite/gorqlite v0.0.0-20240808172217-12ae7d03ef19
1+
# github.com/rqlite/gorqlite v0.0.0-20220528150909-c4e99ae96be6
22
## explicit
33
github.com/rqlite/gorqlite

0 commit comments

Comments
 (0)