From dfd8e7d397dc7f47f8a21a2a363a7b10bcaf8ae6 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 12 Nov 2024 10:08:56 +0000 Subject: [PATCH 1/5] Set subtypes column to True in models This is almost always what we want. --- go/ql/lib/ext/archive.tar.model.yml | 4 +- go/ql/lib/ext/archive.zip.model.yml | 6 +- go/ql/lib/ext/bufio.model.yml | 16 ++-- go/ql/lib/ext/builtin.model.yml | 16 ++-- go/ql/lib/ext/bytes.model.yml | 76 +++++++++--------- go/ql/lib/ext/compress.bzip2.model.yml | 2 +- go/ql/lib/ext/compress.flate.model.yml | 4 +- go/ql/lib/ext/compress.gzip.model.yml | 2 +- go/ql/lib/ext/compress.lzw.model.yml | 2 +- go/ql/lib/ext/compress.zlib.model.yml | 4 +- go/ql/lib/ext/container.heap.model.yml | 6 +- go/ql/lib/ext/context.model.yml | 8 +- go/ql/lib/ext/crypto.rsa.model.yml | 4 +- go/ql/lib/ext/crypto.tls.model.yml | 6 +- go/ql/lib/ext/crypto.x509.model.yml | 2 +- go/ql/lib/ext/database.sql.model.yml | 2 +- go/ql/lib/ext/encoding.ascii85.model.yml | 4 +- go/ql/lib/ext/encoding.asn1.model.yml | 16 ++-- go/ql/lib/ext/encoding.base32.model.yml | 2 +- go/ql/lib/ext/encoding.base64.model.yml | 2 +- go/ql/lib/ext/encoding.binary.model.yml | 4 +- go/ql/lib/ext/encoding.csv.model.yml | 2 +- go/ql/lib/ext/encoding.gob.model.yml | 2 +- go/ql/lib/ext/encoding.hex.model.yml | 6 +- go/ql/lib/ext/encoding.json.model.yml | 14 ++-- go/ql/lib/ext/encoding.pem.model.yml | 6 +- go/ql/lib/ext/encoding.xml.model.yml | 16 ++-- go/ql/lib/ext/errors.model.yml | 6 +- ...ithub.com.beego.beego.core.utils.model.yml | 20 ++--- ...m.beego.beego.server.web.context.model.yml | 4 +- ...ithub.com.beego.beego.server.web.model.yml | 22 ++--- .../lib/ext/github.com.caarlos0.env.model.yml | 14 ++-- .../github.com.codeskyblue.go-sh.model.yml | 8 +- .../ext/github.com.couchbase.gocb.model.yml | 4 +- .../github.com.evanphx.json-patch.model.yml | 8 +- .../ext/github.com.gin-gonic.gin.model.yml | 6 +- .../ext/github.com.gobuffalo.envy.model.yml | 14 ++-- .../ext/github.com.gofiber.fiber.model.yml | 8 +- ...github.com.golang.protobuf.proto.model.yml | 8 +- ...github.com.hashicorp.go-envparse.model.yml | 2 +- .../ext/github.com.joho.godotenv.model.yml | 8 +- .../ext/github.com.json-iterator.go.model.yml | 4 +- ...ub.com.kelseyhightower.envconfig.model.yml | 12 +-- .../ext/github.com.labstack.echo.model.yml | 4 +- ...endgrid.sendgrid-go.helpers.mail.model.yml | 2 +- .../lib/ext/github.com.spf13.afero.model.yml | 68 ++++++++-------- .../ext/github.com.valyala.fasthttp.model.yml | 26 +++--- go/ql/lib/ext/go.uber.org.zap.model.yml | 22 ++--- .../lib/ext/golang.org.x.crypto.ssh.model.yml | 8 +- .../ext/golang.org.x.net.context.model.yml | 8 +- go/ql/lib/ext/golang.org.x.net.html.model.yml | 18 ++--- ...google.golang.org.protobuf.proto.model.yml | 8 +- go/ql/lib/ext/gopkg.in.yaml.model.yml | 8 +- go/ql/lib/ext/html.model.yml | 4 +- go/ql/lib/ext/html.template.model.yml | 8 +- go/ql/lib/ext/io.fs.model.yml | 14 ++-- go/ql/lib/ext/io.ioutil.model.yml | 16 ++-- go/ql/lib/ext/io.model.yml | 24 +++--- .../k8s.io.apimachinery.pkg.runtime.model.yml | 40 +++++----- go/ql/lib/ext/math.big.model.yml | 2 +- go/ql/lib/ext/mime.model.yml | 4 +- go/ql/lib/ext/mime.multipart.model.yml | 2 +- go/ql/lib/ext/mime.quotedprintable.model.yml | 2 +- go/ql/lib/ext/net.http.httputil.model.yml | 12 +-- go/ql/lib/ext/net.http.model.yml | 18 ++--- go/ql/lib/ext/net.mail.model.yml | 6 +- go/ql/lib/ext/net.model.yml | 8 +- go/ql/lib/ext/net.textproto.model.yml | 10 +-- go/ql/lib/ext/net.url.model.yml | 18 ++--- go/ql/lib/ext/os.exec.model.yml | 4 +- go/ql/lib/ext/os.model.yml | 80 +++++++++---------- go/ql/lib/ext/path.filepath.model.yml | 26 +++--- go/ql/lib/ext/path.model.yml | 10 +-- go/ql/lib/ext/reflect.model.yml | 8 +- go/ql/lib/ext/regexp.model.yml | 2 +- go/ql/lib/ext/sort.model.yml | 2 +- go/ql/lib/ext/strconv.model.yml | 18 ++--- go/ql/lib/ext/strings.model.yml | 62 +++++++------- go/ql/lib/ext/sync.atomic.model.yml | 24 +++--- go/ql/lib/ext/syscall.model.yml | 24 +++--- go/ql/lib/ext/text.template.model.yml | 8 +- .../threat-models-flowtest1.ext.yml | 8 +- .../threat-models-flowtest2.ext.yml | 8 +- .../threat-models-flowtest3.ext.yml | 9 +-- .../threat-models-flowtest4.ext.yml | 9 +-- .../threat-models-flowtest5.ext.yml | 9 +-- .../threat-models-flowtest6.ext.yml | 8 +- 87 files changed, 529 insertions(+), 532 deletions(-) diff --git a/go/ql/lib/ext/archive.tar.model.yml b/go/ql/lib/ext/archive.tar.model.yml index f1212e35c02..82d4647323b 100644 --- a/go/ql/lib/ext/archive.tar.model.yml +++ b/go/ql/lib/ext/archive.tar.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["archive/tar", "", False, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["archive/tar", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["archive/tar", "", True, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/tar", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["archive/tar", "Header", True, "FileInfo", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["archive/tar", "Reader", True, "Next", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["archive/tar", "Writer", True, "WriteHeader", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/archive.zip.model.yml b/go/ql/lib/ext/archive.zip.model.yml index 17e2bb0bd78..4749d5433c9 100644 --- a/go/ql/lib/ext/archive.zip.model.yml +++ b/go/ql/lib/ext/archive.zip.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["archive/zip", "", False, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["archive/zip", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["archive/zip", "", False, "OpenReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/zip", "", True, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/zip", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/zip", "", True, "OpenReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["archive/zip", "File", True, "Open", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["archive/zip", "File", True, "OpenRaw", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["archive/zip", "Writer", True, "Copy", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/bufio.model.yml b/go/ql/lib/ext/bufio.model.yml index e9dd22e6686..1a7cbb4742d 100644 --- a/go/ql/lib/ext/bufio.model.yml +++ b/go/ql/lib/ext/bufio.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["bufio", "", False, "NewReadWriter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", False, "NewReaderSize", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", False, "NewScanner", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", False, "ScanBytes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - - ["bufio", "", False, "ScanLines", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - - ["bufio", "", False, "ScanRunes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - - ["bufio", "", False, "ScanWords", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", True, "NewReadWriter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", True, "NewReaderSize", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", True, "NewScanner", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", True, "ScanBytes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", True, "ScanLines", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", True, "ScanRunes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", True, "ScanWords", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - ["bufio", "Reader", True, "Peek", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["bufio", "Reader", True, "ReadBytes", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["bufio", "Reader", True, "ReadLine", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/builtin.model.yml b/go/ql/lib/ext/builtin.model.yml index 816c89008a8..22f5ac39d84 100644 --- a/go/ql/lib/ext/builtin.model.yml +++ b/go/ql/lib/ext/builtin.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["", "", False, "append", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... - - ["", "", False, "append", "", "", "Argument[0].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] - - ["", "", False, "append", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... - - ["", "", False, "append", "", "", "Argument[1].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] - - ["", "", False, "copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring - - ["", "", False, "copy", "", "", "Argument[1].ArrayElement", "Argument[0].ArrayElement", "value", "manual"] - - ["", "", False, "max", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] - - ["", "", False, "min", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] + - ["", "", True, "append", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... + - ["", "", True, "append", "", "", "Argument[0].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] + - ["", "", True, "append", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... + - ["", "", True, "append", "", "", "Argument[1].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] + - ["", "", True, "copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring + - ["", "", True, "copy", "", "", "Argument[1].ArrayElement", "Argument[0].ArrayElement", "value", "manual"] + - ["", "", True, "max", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] + - ["", "", True, "min", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] diff --git a/go/ql/lib/ext/bytes.model.yml b/go/ql/lib/ext/bytes.model.yml index 762d0ca16ee..03b4787e867 100644 --- a/go/ql/lib/ext/bytes.model.yml +++ b/go/ql/lib/ext/bytes.model.yml @@ -3,44 +3,44 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["bytes", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Cut", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - - ["bytes", "", False, "CutPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["bytes", "", False, "CutSuffix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["bytes", "", False, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "NewBuffer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "NewBufferString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Runes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", False, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Cut", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["bytes", "", True, "CutPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["bytes", "", True, "CutSuffix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["bytes", "", True, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "NewBuffer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "NewBufferString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Runes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", True, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["bytes", "Buffer", True, "Bytes", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["bytes", "Buffer", True, "Next", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["bytes", "Buffer", True, "ReadBytes", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.bzip2.model.yml b/go/ql/lib/ext/compress.bzip2.model.yml index 38719037de1..4848caa1f69 100644 --- a/go/ql/lib/ext/compress.bzip2.model.yml +++ b/go/ql/lib/ext/compress.bzip2.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/bzip2", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/bzip2", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.flate.model.yml b/go/ql/lib/ext/compress.flate.model.yml index 5b36372c8c0..7d5611782b2 100644 --- a/go/ql/lib/ext/compress.flate.model.yml +++ b/go/ql/lib/ext/compress.flate.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/flate", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["compress/flate", "", False, "NewReaderDict", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/flate", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/flate", "", True, "NewReaderDict", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["compress/flate", "Resetter", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["compress/flate", "Writer", True, "Reset", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.gzip.model.yml b/go/ql/lib/ext/compress.gzip.model.yml index d3da545b448..eb0f7562c6a 100644 --- a/go/ql/lib/ext/compress.gzip.model.yml +++ b/go/ql/lib/ext/compress.gzip.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/gzip", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["compress/gzip", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["compress/gzip", "Reader", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["compress/gzip", "Writer", True, "Reset", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.lzw.model.yml b/go/ql/lib/ext/compress.lzw.model.yml index 5db30e14ec3..46077643d8e 100644 --- a/go/ql/lib/ext/compress.lzw.model.yml +++ b/go/ql/lib/ext/compress.lzw.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/lzw", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/lzw", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.zlib.model.yml b/go/ql/lib/ext/compress.zlib.model.yml index abd162c3392..de73d4e849a 100644 --- a/go/ql/lib/ext/compress.zlib.model.yml +++ b/go/ql/lib/ext/compress.zlib.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/zlib", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["compress/zlib", "", False, "NewReaderDict", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["compress/zlib", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["compress/zlib", "", True, "NewReaderDict", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["compress/zlib", "Resetter", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["compress/zlib", "Writer", True, "Reset", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/container.heap.model.yml b/go/ql/lib/ext/container.heap.model.yml index 57aabd12ea2..64501a41927 100644 --- a/go/ql/lib/ext/container.heap.model.yml +++ b/go/ql/lib/ext/container.heap.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["container/heap", "", False, "Pop", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["container/heap", "", False, "Push", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["container/heap", "", False, "Remove", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["container/heap", "", True, "Pop", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["container/heap", "", True, "Push", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["container/heap", "", True, "Remove", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["container/heap", "Interface", True, "Pop", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["container/heap", "Interface", True, "Push", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/context.model.yml b/go/ql/lib/ext/context.model.yml index b71adeb6b3c..dc5cddecdc5 100644 --- a/go/ql/lib/ext/context.model.yml +++ b/go/ql/lib/ext/context.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["context", "", False, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["context", "", False, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["context", "", False, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["context", "", False, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] + - ["context", "", True, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["context", "", True, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["context", "", True, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["context", "", True, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] - ["context", "Context", True, "Value", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/crypto.rsa.model.yml b/go/ql/lib/ext/crypto.rsa.model.yml index 851251973a6..447fca7584f 100644 --- a/go/ql/lib/ext/crypto.rsa.model.yml +++ b/go/ql/lib/ext/crypto.rsa.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["crypto/rsa", "", False, "DecryptOAEP", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] - - ["crypto/rsa", "", False, "DecryptPKCS1v15", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] + - ["crypto/rsa", "", True, "DecryptOAEP", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] + - ["crypto/rsa", "", True, "DecryptPKCS1v15", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/crypto.tls.model.yml b/go/ql/lib/ext/crypto.tls.model.yml index ecb4c885994..26f15eefb32 100644 --- a/go/ql/lib/ext/crypto.tls.model.yml +++ b/go/ql/lib/ext/crypto.tls.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["crypto/tls", "", False, "Client", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["crypto/tls", "", False, "NewListener", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["crypto/tls", "", False, "Server", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["crypto/tls", "", True, "Client", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["crypto/tls", "", True, "NewListener", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["crypto/tls", "", True, "Server", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/crypto.x509.model.yml b/go/ql/lib/ext/crypto.x509.model.yml index dd16777a75b..ee389de2db0 100644 --- a/go/ql/lib/ext/crypto.x509.model.yml +++ b/go/ql/lib/ext/crypto.x509.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["crypto/x509", "", False, "DecryptPEMBlock", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["crypto/x509", "", True, "DecryptPEMBlock", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/database.sql.model.yml b/go/ql/lib/ext/database.sql.model.yml index e1083f6e49a..9d4d31aa0d1 100644 --- a/go/ql/lib/ext/database.sql.model.yml +++ b/go/ql/lib/ext/database.sql.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["database/sql", "", False, "Named", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["database/sql", "", True, "Named", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - ["database/sql", "Conn", True, "PrepareContext", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - ["database/sql", "DB", True, "Prepare", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["database/sql", "DB", True, "PrepareContext", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.ascii85.model.yml b/go/ql/lib/ext/encoding.ascii85.model.yml index 51c15078176..cd4b2ae258b 100644 --- a/go/ql/lib/ext/encoding.ascii85.model.yml +++ b/go/ql/lib/ext/encoding.ascii85.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/ascii85", "", False, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/ascii85", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/ascii85", "", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/ascii85", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.asn1.model.yml b/go/ql/lib/ext/encoding.asn1.model.yml index e0c08cc216e..e6443cadf1f 100644 --- a/go/ql/lib/ext/encoding.asn1.model.yml +++ b/go/ql/lib/ext/encoding.asn1.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/asn1", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", False, "MarshalWithParams", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["encoding/asn1", "", False, "Unmarshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] - - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", True, "MarshalWithParams", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/asn1", "", True, "Unmarshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] + - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.base32.model.yml b/go/ql/lib/ext/encoding.base32.model.yml index 5cabdb05a41..72830e6a581 100644 --- a/go/ql/lib/ext/encoding.base32.model.yml +++ b/go/ql/lib/ext/encoding.base32.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/base32", "", False, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["encoding/base32", "", True, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - ["encoding/base32", "Encoding", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["encoding/base32", "Encoding", True, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.base64.model.yml b/go/ql/lib/ext/encoding.base64.model.yml index 1e199c5f469..81ff2247bfd 100644 --- a/go/ql/lib/ext/encoding.base64.model.yml +++ b/go/ql/lib/ext/encoding.base64.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/base64", "", False, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["encoding/base64", "", True, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - ["encoding/base64", "Encoding", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["encoding/base64", "Encoding", True, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.binary.model.yml b/go/ql/lib/ext/encoding.binary.model.yml index 34705c1364e..c6131f014d6 100644 --- a/go/ql/lib/ext/encoding.binary.model.yml +++ b/go/ql/lib/ext/encoding.binary.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/binary", "", False, "Read", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] - - ["encoding/binary", "", False, "Write", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] + - ["encoding/binary", "", True, "Read", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["encoding/binary", "", True, "Write", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.csv.model.yml b/go/ql/lib/ext/encoding.csv.model.yml index 2f2611ad83a..77f999798c4 100644 --- a/go/ql/lib/ext/encoding.csv.model.yml +++ b/go/ql/lib/ext/encoding.csv.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/csv", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/csv", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["encoding/csv", "Reader", True, "Read", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["encoding/csv", "Reader", True, "ReadAll", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["encoding/csv", "Writer", True, "Write", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.gob.model.yml b/go/ql/lib/ext/encoding.gob.model.yml index c7ce389bd1c..da44e80b3e8 100644 --- a/go/ql/lib/ext/encoding.gob.model.yml +++ b/go/ql/lib/ext/encoding.gob.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/gob", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/gob", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["encoding/gob", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["encoding/gob", "Decoder", True, "DecodeValue", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["encoding/gob", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.hex.model.yml b/go/ql/lib/ext/encoding.hex.model.yml index 2c9dbdac031..a081018a3c5 100644 --- a/go/ql/lib/ext/encoding.hex.model.yml +++ b/go/ql/lib/ext/encoding.hex.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/hex", "", False, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/hex", "", False, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/hex", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/hex", "", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/hex", "", True, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/hex", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.json.model.yml b/go/ql/lib/ext/encoding.json.model.yml index b820561fa95..40812ff815b 100644 --- a/go/ql/lib/ext/encoding.json.model.yml +++ b/go/ql/lib/ext/encoding.json.model.yml @@ -3,13 +3,13 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/json", "", False, "Compact", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/json", "", False, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/json", "", False, "Indent", "", "", "Argument[1..3]", "Argument[0]", "taint", "manual"] - - ["encoding/json", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/json", "", False, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/json", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/json", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/json", "", True, "Compact", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/json", "", True, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/json", "", True, "Indent", "", "", "Argument[1..3]", "Argument[0]", "taint", "manual"] + - ["encoding/json", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/json", "", True, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/json", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/json", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["encoding/json", "Decoder", True, "Buffered", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["encoding/json", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["encoding/json", "Decoder", True, "Token", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.pem.model.yml b/go/ql/lib/ext/encoding.pem.model.yml index 57c0f1fc662..5ad944c14ad 100644 --- a/go/ql/lib/ext/encoding.pem.model.yml +++ b/go/ql/lib/ext/encoding.pem.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/pem", "", False, "Decode", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - - ["encoding/pem", "", False, "Encode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/pem", "", False, "EncodeToMemory", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/pem", "", True, "Decode", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["encoding/pem", "", True, "Encode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/pem", "", True, "EncodeToMemory", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.xml.model.yml b/go/ql/lib/ext/encoding.xml.model.yml index 40824a28c9e..f42878b4b45 100644 --- a/go/ql/lib/ext/encoding.xml.model.yml +++ b/go/ql/lib/ext/encoding.xml.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/xml", "", False, "CopyToken", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/xml", "", False, "Escape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/xml", "", False, "EscapeText", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/xml", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/xml", "", False, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/xml", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/xml", "", False, "NewTokenDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/xml", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/xml", "", True, "CopyToken", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/xml", "", True, "Escape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/xml", "", True, "EscapeText", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/xml", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/xml", "", True, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/xml", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/xml", "", True, "NewTokenDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/xml", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["encoding/xml", "CharData", True, "Copy", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["encoding/xml", "Comment", True, "Copy", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["encoding/xml", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/errors.model.yml b/go/ql/lib/ext/errors.model.yml index a94c8e558ff..3ef4b4545bb 100644 --- a/go/ql/lib/ext/errors.model.yml +++ b/go/ql/lib/ext/errors.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["errors", "", False, "As", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["errors", "", False, "New", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["errors", "", False, "Unwrap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["errors", "", True, "As", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["errors", "", True, "New", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["errors", "", True, "Unwrap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml b/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml index 4eb0688e37e..efcc6fd85d0 100644 --- a/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml @@ -10,16 +10,16 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:beego-utils", "", False, "SliceChunk", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceDiff", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceFilter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceIntersect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceMerge", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SlicePad", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceRand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceReduce", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceShuffle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", False, "SliceUnique", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceChunk", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceDiff", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceFilter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceIntersect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceMerge", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SlicePad", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceRand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceReduce", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceShuffle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", True, "SliceUnique", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["group:beego-utils", "BeeMap", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:beego-utils", "BeeMap", True, "Items", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:beego-utils", "BeeMap", True, "Set", "", "", "Argument[1]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml b/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml index e2c856af7e5..97b66e585e7 100644 --- a/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml @@ -11,14 +11,14 @@ extensions: extensible: sinkModel data: # path-injection - - ["group:beego-context", "BeegoOutput", False, "Download", "", "", "Argument[0]", "path-injection", "manual"] + - ["group:beego-context", "BeegoOutput", True, "Download", "", "", "Argument[0]", "path-injection", "manual"] # url-redirection - ["group:beego-context", "Context", True, "Redirect", "", "", "Argument[1]", "url-redirection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["group:beego-context", "", False, "WriteBody", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] + - ["group:beego-context", "", True, "WriteBody", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel diff --git a/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml b/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml index 8a11da7ad83..6de91acfaf1 100644 --- a/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml @@ -11,23 +11,23 @@ extensions: extensible: sinkModel data: # path-injection - - ["group:beego", "", False, "Walk", "", "", "Argument[1]", "path-injection", "manual"] - - ["group:beego", "Controller", False, "SaveToFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["group:beego", "Controller", False, "SaveToFileWithBuffer", "", "", "Argument[1]", "path-injection", "manual"] # only exists in v2 - - ["group:beego", "FileSystem", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["group:beego", "", True, "Walk", "", "", "Argument[1]", "path-injection", "manual"] + - ["group:beego", "Controller", True, "SaveToFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["group:beego", "Controller", True, "SaveToFileWithBuffer", "", "", "Argument[1]", "path-injection", "manual"] # only exists in v2 + - ["group:beego", "FileSystem", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] # url-redirection - ["group:beego", "Controller", True, "Redirect", "", "", "Argument[0]", "url-redirection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["group:beego", "", False, "HTML2str", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", False, "Htmlquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", False, "Htmlunquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", False, "MapGet", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["group:beego", "", False, "ParseForm", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["group:beego", "", False, "Str2html", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", False, "Substr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", True, "HTML2str", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", True, "Htmlquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", True, "Htmlunquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", True, "MapGet", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["group:beego", "", True, "ParseForm", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["group:beego", "", True, "Str2html", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", True, "Substr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel diff --git a/go/ql/lib/ext/github.com.caarlos0.env.model.yml b/go/ql/lib/ext/github.com.caarlos0.env.model.yml index 42f6380c3fa..cf5bbc1d055 100644 --- a/go/ql/lib/ext/github.com.caarlos0.env.model.yml +++ b/go/ql/lib/ext/github.com.caarlos0.env.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/caarlos0/env", "", False, "Parse", "", "", "Argument[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", False, "ParseAs", "", "", "ReturnValue[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", False, "ParseAsWithOptions", "", "", "ReturnValue[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", False, "ParseWithFuncs", "", "", "Argument[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", False, "ParseWithOptions", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", True, "Parse", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", True, "ParseAs", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", True, "ParseAsWithOptions", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", True, "ParseWithFuncs", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", True, "ParseWithOptions", "", "", "Argument[0]", "environment", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/caarlos0/env", "", False, "Must", "", "", "Argument[0]", "ReturnValue", "value", "manual"] - - ["github.com/caarlos0/env", "", False, "ToMap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["github.com/caarlos0/env", "", True, "Must", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - ["github.com/caarlos0/env", "", True, "ToMap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml b/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml index d1e5c590af6..2b6d9da1b38 100644 --- a/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml +++ b/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/codeskyblue/go-sh", "", False, "Command", "", "", "Argument[0]", "command-injection", "manual"] - - ["github.com/codeskyblue/go-sh", "Session", False, "Call", "", "", "Argument[0]", "command-injection", "manual"] - - ["github.com/codeskyblue/go-sh", "Session", False, "Command", "", "", "Argument[0]", "command-injection", "manual"] - - ["github.com/codeskyblue/go-sh", "Session", False, "Exec", "", "", "Argument[0]", "command-injection", "manual"] + - ["github.com/codeskyblue/go-sh", "", True, "Command", "", "", "Argument[0]", "command-injection", "manual"] + - ["github.com/codeskyblue/go-sh", "Session", True, "Call", "", "", "Argument[0]", "command-injection", "manual"] + - ["github.com/codeskyblue/go-sh", "Session", True, "Command", "", "", "Argument[0]", "command-injection", "manual"] + - ["github.com/codeskyblue/go-sh", "Session", True, "Exec", "", "", "Argument[0]", "command-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.couchbase.gocb.model.yml b/go/ql/lib/ext/github.com.couchbase.gocb.model.yml index ff0a4c22c8d..71b11d26882 100644 --- a/go/ql/lib/ext/github.com.couchbase.gocb.model.yml +++ b/go/ql/lib/ext/github.com.couchbase.gocb.model.yml @@ -10,8 +10,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:gocb", "", False, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "", False, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:gocb", "", True, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:gocb", "", True, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["group:gocb", "AnalyticsQuery", True, "ContextId", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:gocb", "AnalyticsQuery", True, "Deferred", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:gocb", "AnalyticsQuery", True, "Pretty", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml b/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml index 4824f521e4e..56649f8dc7f 100644 --- a/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml +++ b/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/evanphx/json-patch", "", False, "CreateMergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/evanphx/json-patch", "", False, "DecodePatch", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/evanphx/json-patch", "", False, "MergeMergePatches", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/evanphx/json-patch", "", False, "MergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", True, "CreateMergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", True, "DecodePatch", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", True, "MergeMergePatches", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", True, "MergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - ["github.com/evanphx/json-patch", "Patch", True, "Apply", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["github.com/evanphx/json-patch", "Patch", True, "Apply", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["github.com/evanphx/json-patch", "Patch", True, "ApplyIndent", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.gin-gonic.gin.model.yml b/go/ql/lib/ext/github.com.gin-gonic.gin.model.yml index bd228fc0ec3..92b1c757ac7 100644 --- a/go/ql/lib/ext/github.com.gin-gonic.gin.model.yml +++ b/go/ql/lib/ext/github.com.gin-gonic.gin.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/gin-gonic/gin", "Context", False, "File", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/gin-gonic/gin", "Context", False, "FileAttachment", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/gin-gonic/gin", "Context", False, "SaveUploadedFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/gin-gonic/gin", "Context", True, "File", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/gin-gonic/gin", "Context", True, "FileAttachment", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/gin-gonic/gin", "Context", True, "SaveUploadedFile", "", "", "Argument[1]", "path-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml b/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml index 1d0d890560d..a47dbca9599 100644 --- a/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml +++ b/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/gobuffalo/envy", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "Get", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "GoBin", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "GoPath", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "GoPaths", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "Map", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "MustGet", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "Environ", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "Get", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "GoBin", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "GoPath", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "GoPaths", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "Map", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", True, "MustGet", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.gofiber.fiber.model.yml b/go/ql/lib/ext/github.com.gofiber.fiber.model.yml index 7e553b2156d..c959d137301 100644 --- a/go/ql/lib/ext/github.com.gofiber.fiber.model.yml +++ b/go/ql/lib/ext/github.com.gofiber.fiber.model.yml @@ -4,9 +4,9 @@ extensions: extensible: sinkModel data: # path-injection - - ["github.com/gofiber/fiber", "Ctx", False, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/gofiber/fiber", "Ctx", False, "Download", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/gofiber/fiber", "Ctx", False, "SaveFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/gofiber/fiber", "Ctx", False, "SaveFileToStorage", "", "", "Argument[1]", "path-injection", "manual"] # does not exist in v1 + - ["github.com/gofiber/fiber", "Ctx", True, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/gofiber/fiber", "Ctx", True, "Download", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/gofiber/fiber", "Ctx", True, "SaveFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/gofiber/fiber", "Ctx", True, "SaveFileToStorage", "", "", "Argument[1]", "path-injection", "manual"] # does not exist in v1 # url-redirection - ["github.com/gofiber/fiber", "Ctx", True, "Redirect", "", "", "Argument[0]", "url-redirection[receiver]", "manual"] diff --git a/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml b/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml index 8513d119816..6daf9851e7d 100644 --- a/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml +++ b/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/golang/protobuf/proto", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["github.com/golang/protobuf/proto", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang/protobuf/proto", "", False, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["github.com/golang/protobuf/proto", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", True, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", True, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml b/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml index 73a178fbdcc..bd1303887ac 100644 --- a/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml +++ b/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/hashicorp/go-envparse", "", False, "Parse", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/hashicorp/go-envparse", "", True, "Parse", "", "", "ReturnValue", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.joho.godotenv.model.yml b/go/ql/lib/ext/github.com.joho.godotenv.model.yml index 8bd62c5dd0b..8221901f1cf 100644 --- a/go/ql/lib/ext/github.com.joho.godotenv.model.yml +++ b/go/ql/lib/ext/github.com.joho.godotenv.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/joho/godotenv", "", False, "Parse", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/joho/godotenv", "", False, "Read", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/joho/godotenv", "", False, "Unmarshal", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/joho/godotenv", "", False, "UnmarshalBytes", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", True, "Parse", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", True, "Read", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", True, "Unmarshal", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", True, "UnmarshalBytes", "", "", "ReturnValue", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.json-iterator.go.model.yml b/go/ql/lib/ext/github.com.json-iterator.go.model.yml index bf974a17109..f72ec191e06 100644 --- a/go/ql/lib/ext/github.com.json-iterator.go.model.yml +++ b/go/ql/lib/ext/github.com.json-iterator.go.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/json-iterator/go", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["github.com/json-iterator/go", "", False, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["github.com/json-iterator/go", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["github.com/json-iterator/go", "", True, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["github.com/json-iterator/go", "API", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["github.com/json-iterator/go", "API", True, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml b/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml index 71d032a18e1..84b2cfc1fc0 100644 --- a/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml +++ b/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/kelseyhightower/envconfig", "", False, "CheckDisallowed", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", False, "MustProcess", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", False, "Process", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", False, "Usage", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", False, "Usagef", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", False, "Usaget", "", "", "Argument[1]", "environment", "manual"] \ No newline at end of file + - ["github.com/kelseyhightower/envconfig", "", True, "CheckDisallowed", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", True, "MustProcess", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", True, "Process", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", True, "Usage", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", True, "Usagef", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", True, "Usaget", "", "", "Argument[1]", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.labstack.echo.model.yml b/go/ql/lib/ext/github.com.labstack.echo.model.yml index b497cc13391..830360bbdb2 100644 --- a/go/ql/lib/ext/github.com.labstack.echo.model.yml +++ b/go/ql/lib/ext/github.com.labstack.echo.model.yml @@ -4,8 +4,8 @@ extensions: extensible: sinkModel data: # path-injection - - ["github.com/labstack/echo", "Context", False, "Attachment", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/labstack/echo", "Context", False, "File", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/labstack/echo", "Context", True, "Attachment", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/labstack/echo", "Context", True, "File", "", "", "Argument[0]", "path-injection", "manual"] # url-redirection - ["github.com/labstack/echo", "Context", True, "Redirect", "", "", "Argument[1]", "url-redirection", "manual"] - addsTo: diff --git a/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml b/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml index ce8ac14ccfa..a84acc2624e 100644 --- a/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml +++ b/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/sendgrid/sendgrid-go/helpers/mail", "", False, "NewContent", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["github.com/sendgrid/sendgrid-go/helpers/mail", "", True, "NewContent", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.spf13.afero.model.yml b/go/ql/lib/ext/github.com.spf13.afero.model.yml index 94879539233..2ddab6ef43b 100644 --- a/go/ql/lib/ext/github.com.spf13.afero.model.yml +++ b/go/ql/lib/ext/github.com.spf13.afero.model.yml @@ -3,37 +3,37 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/spf13/afero", "HttpFs", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "HttpFs", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "HttpFs", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "HttpFs", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "HttpFs", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "MemMapFs", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "ReadlinkIfPossible", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "OsFs", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "ReadlinkIfPossible", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "ReadOnlyFs", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/spf13/afero", "RegexpFs", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "HttpFs", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "HttpFs", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "HttpFs", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "HttpFs", True, "Remove", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "HttpFs", True, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "Remove", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "MemMapFs", True, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "ReadlinkIfPossible", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "Remove", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "OsFs", True, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "ReadlinkIfPossible", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "ReadOnlyFs", True, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "Remove", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/spf13/afero", "RegexpFs", True, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml b/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml index feafceb364d..92ef0132a33 100644 --- a/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml +++ b/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml @@ -30,14 +30,14 @@ extensions: - ["github.com/valyala/fasthttp", "TCPDialer", True, "DialDualStackTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] - ["github.com/valyala/fasthttp", "TCPDialer", True, "DialTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] # path-injection - - ["github.com/valyala/fasthttp", "", False, "SaveMultipartFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", False, "ServeFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", False, "ServeFileBytes", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", False, "ServeFileBytesUncompressed", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", False, "ServeFileUncompressed", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "RequestCtx", False, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "RequestCtx", False, "SendFileBytes", "", "", "Argument[0]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "Response", False, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", True, "SaveMultipartFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", True, "ServeFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", True, "ServeFileBytes", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", True, "ServeFileBytesUncompressed", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", True, "ServeFileUncompressed", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "RequestCtx", True, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "RequestCtx", True, "SendFileBytes", "", "", "Argument[0]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "Response", True, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] # url-redirection - ["github.com/valyala/fasthttp", "RequestCtx", True, "Redirect", "", "", "Argument[0]", "url-redirection", "manual"] - ["github.com/valyala/fasthttp", "RequestCtx", True, "RedirectBytes", "", "", "Argument[0]", "url-redirection", "manual"] @@ -45,11 +45,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/valyala/fasthttp", "URI", False, "SetHost", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - - ["github.com/valyala/fasthttp", "URI", False, "SetHostBytes", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - - ["github.com/valyala/fasthttp", "URI", False, "Update", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - - ["github.com/valyala/fasthttp", "URI", False, "UpdateBytes", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - - ["github.com/valyala/fasthttp", "URI", False, "Parse", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] + - ["github.com/valyala/fasthttp", "URI", True, "SetHost", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] + - ["github.com/valyala/fasthttp", "URI", True, "SetHostBytes", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] + - ["github.com/valyala/fasthttp", "URI", True, "Update", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] + - ["github.com/valyala/fasthttp", "URI", True, "UpdateBytes", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] + - ["github.com/valyala/fasthttp", "URI", True, "Parse", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel diff --git a/go/ql/lib/ext/go.uber.org.zap.model.yml b/go/ql/lib/ext/go.uber.org.zap.model.yml index 2ca7f7e8a80..7d5b2cb231d 100644 --- a/go/ql/lib/ext/go.uber.org.zap.model.yml +++ b/go/ql/lib/ext/go.uber.org.zap.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["go.uber.org/zap", "", False, "Any", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "Binary", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "ByteString", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "ByteStrings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "Error", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "Errors", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "NamedError", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "Reflect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "String", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "Stringp", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", False, "Strings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Any", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Binary", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "ByteString", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "ByteStrings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Error", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Errors", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "NamedError", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Reflect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "String", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Stringp", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", True, "Strings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/golang.org.x.crypto.ssh.model.yml b/go/ql/lib/ext/golang.org.x.crypto.ssh.model.yml index 8419737a2f2..205a2a1dcb5 100644 --- a/go/ql/lib/ext/golang.org.x.crypto.ssh.model.yml +++ b/go/ql/lib/ext/golang.org.x.crypto.ssh.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["golang.org/x/crypto/ssh", "Session", False, "CombinedOutput", "", "", "Argument[0]", "command-injection", "manual"] - - ["golang.org/x/crypto/ssh", "Session", False, "Output", "", "", "Argument[0]", "command-injection", "manual"] - - ["golang.org/x/crypto/ssh", "Session", False, "Run", "", "", "Argument[0]", "command-injection", "manual"] - - ["golang.org/x/crypto/ssh", "Session", False, "Start", "", "", "Argument[0]", "command-injection", "manual"] + - ["golang.org/x/crypto/ssh", "Session", True, "CombinedOutput", "", "", "Argument[0]", "command-injection", "manual"] + - ["golang.org/x/crypto/ssh", "Session", True, "Output", "", "", "Argument[0]", "command-injection", "manual"] + - ["golang.org/x/crypto/ssh", "Session", True, "Run", "", "", "Argument[0]", "command-injection", "manual"] + - ["golang.org/x/crypto/ssh", "Session", True, "Start", "", "", "Argument[0]", "command-injection", "manual"] diff --git a/go/ql/lib/ext/golang.org.x.net.context.model.yml b/go/ql/lib/ext/golang.org.x.net.context.model.yml index 873de75761f..d1036f56d29 100644 --- a/go/ql/lib/ext/golang.org.x.net.context.model.yml +++ b/go/ql/lib/ext/golang.org.x.net.context.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["golang.org/x/net/context", "", False, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/context", "", False, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/context", "", False, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/context", "", False, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/context", "", True, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/context", "", True, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/context", "", True, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/context", "", True, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] - ["golang.org/x/net/context", "Context", True, "Value", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/golang.org.x.net.html.model.yml b/go/ql/lib/ext/golang.org.x.net.html.model.yml index 5633e8b3b40..d6be3e28a3a 100644 --- a/go/ql/lib/ext/golang.org.x.net.html.model.yml +++ b/go/ql/lib/ext/golang.org.x.net.html.model.yml @@ -3,15 +3,15 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["golang.org/x/net/html", "", False, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "NewTokenizer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "NewTokenizerFragment", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "ParseFragment", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "ParseFragmentWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "ParseWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "Render", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", False, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "NewTokenizer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "NewTokenizerFragment", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "ParseFragment", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "ParseFragmentWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "ParseWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "Render", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", True, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["golang.org/x/net/html", "Node", True, "AppendChild", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["golang.org/x/net/html", "Node", True, "InsertBefore", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["golang.org/x/net/html", "Tokenizer", True, "Buffered", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml b/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml index 98855937256..5f25f73381d 100644 --- a/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml +++ b/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["google.golang.org/protobuf/proto", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["google.golang.org/protobuf/proto", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["google.golang.org/protobuf/proto", "", False, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["google.golang.org/protobuf/proto", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", True, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", True, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["google.golang.org/protobuf/proto", "MarshalOptions", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["google.golang.org/protobuf/proto", "MarshalOptions", True, "MarshalAppend", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["google.golang.org/protobuf/proto", "MarshalOptions", True, "MarshalAppend", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/gopkg.in.yaml.model.yml b/go/ql/lib/ext/gopkg.in.yaml.model.yml index 34b973e6719..23af4bb12fe 100644 --- a/go/ql/lib/ext/gopkg.in.yaml.model.yml +++ b/go/ql/lib/ext/gopkg.in.yaml.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["gopkg.in/yaml", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["gopkg.in/yaml", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["gopkg.in/yaml", "", False, "UnmarshalStrict", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["gopkg.in/yaml", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["gopkg.in/yaml", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["gopkg.in/yaml", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["gopkg.in/yaml", "", True, "UnmarshalStrict", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["gopkg.in/yaml", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["gopkg.in/yaml", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["gopkg.in/yaml", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["gopkg.in/yaml", "Node", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/html.model.yml b/go/ql/lib/ext/html.model.yml index 24d4e70152c..34003fb231f 100644 --- a/go/ql/lib/ext/html.model.yml +++ b/go/ql/lib/ext/html.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["html", "", False, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["html", "", False, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html", "", True, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html", "", True, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/html.template.model.yml b/go/ql/lib/ext/html.template.model.yml index 0ee840c4eae..120ee2b304b 100644 --- a/go/ql/lib/ext/html.template.model.yml +++ b/go/ql/lib/ext/html.template.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["html/template", "", False, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["html/template", "", False, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["html/template", "", False, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["html/template", "", False, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html/template", "", True, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["html/template", "", True, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html/template", "", True, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["html/template", "", True, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["html/template", "Template", True, "Execute", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["html/template", "Template", True, "ExecuteTemplate", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/io.fs.model.yml b/go/ql/lib/ext/io.fs.model.yml index ac709c939b6..9e9ae4f97a1 100644 --- a/go/ql/lib/ext/io.fs.model.yml +++ b/go/ql/lib/ext/io.fs.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["io/fs", "", False, "FileInfoToDirEntry", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io/fs", "", False, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io/fs", "", False, "ReadDir", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io/fs", "", False, "ReadFile", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io/fs", "", False, "Sub", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", True, "FileInfoToDirEntry", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io/fs", "", True, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", True, "ReadDir", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", True, "ReadFile", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", True, "Sub", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "DirEntry", True, "Info", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "DirEntry", True, "Name", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["io/fs", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] @@ -20,6 +20,6 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["io/fs", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["io/fs", "", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - ["io/fs", "ReadFileFS", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - - ["io/fs", "FS", True, "Open", "", "", "ReturnValue[0]", "file", "manual"] \ No newline at end of file + - ["io/fs", "FS", True, "Open", "", "", "ReturnValue[0]", "file", "manual"] diff --git a/go/ql/lib/ext/io.ioutil.model.yml b/go/ql/lib/ext/io.ioutil.model.yml index dda811c97bf..592e45fd9fe 100644 --- a/go/ql/lib/ext/io.ioutil.model.yml +++ b/go/ql/lib/ext/io.ioutil.model.yml @@ -3,19 +3,19 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["io/ioutil", "", False, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] - - ["io/ioutil", "", False, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["io/ioutil", "", False, "TempDir", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["io/ioutil", "", False, "TempFile", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["io/ioutil", "", False, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["io/ioutil", "", True, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] + - ["io/ioutil", "", True, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["io/ioutil", "", True, "TempDir", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["io/ioutil", "", True, "TempFile", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["io/ioutil", "", True, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["io/ioutil", "", False, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io/ioutil", "", False, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/ioutil", "", True, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io/ioutil", "", True, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel data: - - ["io/ioutil", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] \ No newline at end of file + - ["io/ioutil", "", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] diff --git a/go/ql/lib/ext/io.model.yml b/go/ql/lib/ext/io.model.yml index d9c7190026d..40256276ea8 100644 --- a/go/ql/lib/ext/io.model.yml +++ b/go/ql/lib/ext/io.model.yml @@ -3,18 +3,18 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["io", "", False, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["io", "", False, "CopyBuffer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["io", "", False, "CopyN", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["io", "", False, "LimitReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", False, "NewSectionReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", False, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", False, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io", "", False, "ReadAtLeast", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["io", "", False, "ReadFull", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["io", "", False, "TeeReader", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["io", "", False, "TeeReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", False, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", True, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", True, "CopyBuffer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", True, "CopyN", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", True, "LimitReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", True, "NewSectionReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", True, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", True, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io", "", True, "ReadAtLeast", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["io", "", True, "ReadFull", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["io", "", True, "TeeReader", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["io", "", True, "TeeReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", True, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["io", "Reader", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["io", "ReaderAt", True, "ReadAt", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["io", "ReaderFrom", True, "ReadFrom", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml b/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml index e960b741ac7..f964e1afd42 100644 --- a/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml +++ b/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml @@ -3,26 +3,26 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_int", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_string", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_runtime_Object_To_runtime_RawExtension", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_runtime_RawExtension_To_runtime_Object", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Decode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "DecodeInto", "", "", "Argument[1]", "Argument[2]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "DeepCopyJSON", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "DeepCopyJSONValue", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Encode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "EncodeOrDie", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "Field", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "FieldPtr", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "NewEncodable", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "NewEncodableList", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "SetField", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", False, "UseOrCreateObject", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_int", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_string", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_runtime_Object_To_runtime_RawExtension", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_runtime_RawExtension_To_runtime_Object", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Decode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "DecodeInto", "", "", "Argument[1]", "Argument[2]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "DeepCopyJSON", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "DeepCopyJSONValue", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Encode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "EncodeOrDie", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "Field", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "FieldPtr", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "NewEncodable", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "NewEncodableList", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "SetField", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", True, "UseOrCreateObject", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] - ["k8s.io/apimachinery/pkg/runtime", "CacheableObject", True, "CacheEncode", "", "", "Argument[receiver]", "Argument[2]", "taint", "manual"] - ["k8s.io/apimachinery/pkg/runtime", "CacheableObject", True, "GetObject", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["k8s.io/apimachinery/pkg/runtime", "Decoder", True, "Decode", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] diff --git a/go/ql/lib/ext/math.big.model.yml b/go/ql/lib/ext/math.big.model.yml index 2e320251b2d..dc09561897c 100644 --- a/go/ql/lib/ext/math.big.model.yml +++ b/go/ql/lib/ext/math.big.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["math/big", "Int", False, "Int64", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] + - ["math/big", "Int", True, "Int64", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/mime.model.yml b/go/ql/lib/ext/mime.model.yml index 9027905423f..b8f81894cd7 100644 --- a/go/ql/lib/ext/mime.model.yml +++ b/go/ql/lib/ext/mime.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["mime", "", False, "FormatMediaType", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["mime", "", False, "ParseMediaType", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["mime", "", True, "FormatMediaType", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["mime", "", True, "ParseMediaType", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - ["mime", "WordDecoder", True, "Decode", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["mime", "WordDecoder", True, "DecodeHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["mime", "WordEncoder", True, "Encode", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/mime.multipart.model.yml b/go/ql/lib/ext/mime.multipart.model.yml index 410eac26af6..96e7072f611 100644 --- a/go/ql/lib/ext/mime.multipart.model.yml +++ b/go/ql/lib/ext/mime.multipart.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["mime/multipart", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["mime/multipart", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["mime/multipart", "FileHeader", True, "Open", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["mime/multipart", "Part", True, "FileName", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["mime/multipart", "Part", True, "FormName", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/mime.quotedprintable.model.yml b/go/ql/lib/ext/mime.quotedprintable.model.yml index 7ac77332727..aaf78da2641 100644 --- a/go/ql/lib/ext/mime.quotedprintable.model.yml +++ b/go/ql/lib/ext/mime.quotedprintable.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["mime/quotedprintable", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["mime/quotedprintable", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/net.http.httputil.model.yml b/go/ql/lib/ext/net.http.httputil.model.yml index 783322b36ae..7ddd5f31152 100644 --- a/go/ql/lib/ext/net.http.httputil.model.yml +++ b/go/ql/lib/ext/net.http.httputil.model.yml @@ -3,12 +3,12 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/http/httputil", "", False, "DumpRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http/httputil", "", False, "DumpRequestOut", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http/httputil", "", False, "DumpResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http/httputil", "", False, "NewChunkedReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/http/httputil", "", False, "NewClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["net/http/httputil", "", False, "NewProxyClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net/http/httputil", "", True, "DumpRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http/httputil", "", True, "DumpRequestOut", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http/httputil", "", True, "DumpResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http/httputil", "", True, "NewChunkedReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/http/httputil", "", True, "NewClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net/http/httputil", "", True, "NewProxyClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - ["net/http/httputil", "BufferPool", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/http/httputil", "BufferPool", True, "Put", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["net/http/httputil", "ClientConn", True, "Hijack", "", "", "Argument[receiver]", "ReturnValue[0..1]", "taint", "manual"] diff --git a/go/ql/lib/ext/net.http.model.yml b/go/ql/lib/ext/net.http.model.yml index f67ed795c4c..0cebf9bfffc 100644 --- a/go/ql/lib/ext/net.http.model.yml +++ b/go/ql/lib/ext/net.http.model.yml @@ -4,21 +4,21 @@ extensions: extensible: sinkModel data: # path-injection - - ["net/http", "", False, "ServeFile", "", "", "Argument[2]", "path-injection", "manual"] + - ["net/http", "", True, "ServeFile", "", "", "Argument[2]", "path-injection", "manual"] # url-redirection - ["net/http", "", True, "Redirect", "", "", "Argument[2]", "url-redirection[0]", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["net/http", "", False, "CanonicalHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/http", "", False, "Error", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["net/http", "", False, "MaxBytesReader", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["net/http", "", False, "NewRequest", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", False, "NewRequestWithContext", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", False, "ReadRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", False, "ReadResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", False, "SetCookie", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["net/http", "", True, "CanonicalHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/http", "", True, "Error", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["net/http", "", True, "MaxBytesReader", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["net/http", "", True, "NewRequest", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", True, "NewRequestWithContext", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", True, "ReadRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", True, "ReadResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", True, "SetCookie", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["net/http", "Header", True, "Add", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] - ["net/http", "Header", True, "Clone", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/http", "Header", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/net.mail.model.yml b/go/ql/lib/ext/net.mail.model.yml index 0bb4ef1884b..07532f365ff 100644 --- a/go/ql/lib/ext/net.mail.model.yml +++ b/go/ql/lib/ext/net.mail.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/mail", "", False, "ParseAddress", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/mail", "", False, "ParseAddressList", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/mail", "", False, "ReadMessage", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/mail", "", True, "ParseAddress", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/mail", "", True, "ParseAddressList", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/mail", "", True, "ReadMessage", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["net/mail", "AddressParser", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["net/mail", "AddressParser", True, "ParseList", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["net/mail", "Header", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/net.model.yml b/go/ql/lib/ext/net.model.yml index 0922b5b31d6..231f8f850db 100644 --- a/go/ql/lib/ext/net.model.yml +++ b/go/ql/lib/ext/net.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net", "", False, "FileConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net", "", False, "FilePacketConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net", "", False, "JoinHostPort", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["net", "", False, "SplitHostPort", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["net", "", True, "FileConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net", "", True, "FilePacketConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net", "", True, "JoinHostPort", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net", "", True, "SplitHostPort", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - ["net", "IPConn", True, "ReadFromIP", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["net", "IPConn", True, "ReadMsgIP", "", "", "Argument[receiver]", "Argument[0..1]", "taint", "manual"] - ["net", "IPConn", True, "WriteMsgIP", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/net.textproto.model.yml b/go/ql/lib/ext/net.textproto.model.yml index 63a9da4497a..4e2e25c71bd 100644 --- a/go/ql/lib/ext/net.textproto.model.yml +++ b/go/ql/lib/ext/net.textproto.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/textproto", "", False, "CanonicalMIMEHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", False, "NewConn", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", False, "TrimBytes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", False, "TrimString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", True, "CanonicalMIMEHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", True, "NewConn", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", True, "TrimBytes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", True, "TrimString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["net/textproto", "MIMEHeader", True, "Add", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] - ["net/textproto", "MIMEHeader", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/textproto", "MIMEHeader", True, "Set", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/net.url.model.yml b/go/ql/lib/ext/net.url.model.yml index 0b48aa2352c..fe615f4bd1c 100644 --- a/go/ql/lib/ext/net.url.model.yml +++ b/go/ql/lib/ext/net.url.model.yml @@ -3,15 +3,15 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/url", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", False, "ParseQuery", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", False, "ParseRequestURI", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", False, "PathEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/url", "", False, "PathUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", False, "QueryEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/url", "", False, "QueryUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", False, "User", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/url", "", False, "UserPassword", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net/url", "", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", True, "ParseQuery", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", True, "ParseRequestURI", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", True, "PathEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/url", "", True, "PathUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", True, "QueryEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/url", "", True, "QueryUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", True, "User", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/url", "", True, "UserPassword", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - ["net/url", "URL", True, "EscapedPath", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/url", "URL", True, "Hostname", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/url", "URL", True, "MarshalBinary", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/os.exec.model.yml b/go/ql/lib/ext/os.exec.model.yml index 6b3a80c372c..7ac1d3e20ad 100644 --- a/go/ql/lib/ext/os.exec.model.yml +++ b/go/ql/lib/ext/os.exec.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["os/exec", "", False, "Command", "", "", "Argument[0]", "command-injection", "manual"] - - ["os/exec", "", False, "CommandContext", "", "", "Argument[1]", "command-injection", "manual"] + - ["os/exec", "", True, "Command", "", "", "Argument[0]", "command-injection", "manual"] + - ["os/exec", "", True, "CommandContext", "", "", "Argument[1]", "command-injection", "manual"] diff --git a/go/ql/lib/ext/os.model.yml b/go/ql/lib/ext/os.model.yml index 3d87eefe43f..16c1d68cf3b 100644 --- a/go/ql/lib/ext/os.model.yml +++ b/go/ql/lib/ext/os.model.yml @@ -4,41 +4,41 @@ extensions: extensible: sinkModel data: # path-injection - - ["os", "", False, "Chdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Chmod", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Chown", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Chtimes", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Lchown", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Link", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", False, "Lstat", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "NewFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["os", "", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Readlink", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Rename", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", False, "Stat", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "Symlink", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", False, "Truncate", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "DirFS", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", False, "MkdirTemp", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", False, "CreateTemp", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", False, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Chdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Chmod", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Chown", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Chtimes", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Lchown", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Link", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", True, "Lstat", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "NewFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["os", "", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Readlink", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Remove", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Rename", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", True, "Stat", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "Symlink", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", True, "Truncate", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "DirFS", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", True, "MkdirTemp", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", True, "CreateTemp", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", True, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] # command-injection - - ["os", "", False, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] + - ["os", "", True, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["os", "", False, "Expand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["os", "", False, "ExpandEnv", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["os", "", False, "NewFile", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["os", "", True, "Expand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["os", "", True, "ExpandEnv", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["os", "", True, "NewFile", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["os", "File", True, "Fd", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["os", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["os", "File", True, "ReadAt", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] @@ -46,13 +46,13 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["os", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] # TODO: when sources can have access paths, use .ArrayElement - - ["os", "", False, "ExpandEnv", "", "", "ReturnValue", "environment", "manual"] - - ["os", "", False, "Getenv", "", "", "ReturnValue", "environment", "manual"] - - ["os", "", False, "LookupEnv", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "", False, "Open", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", False, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", False, "UserCacheDir", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "", False, "UserConfigDir", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "", False, "UserHomeDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", True, "Environ", "", "", "ReturnValue", "environment", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["os", "", True, "ExpandEnv", "", "", "ReturnValue", "environment", "manual"] + - ["os", "", True, "Getenv", "", "", "ReturnValue", "environment", "manual"] + - ["os", "", True, "LookupEnv", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", True, "Open", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", True, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", True, "UserCacheDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", True, "UserConfigDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", True, "UserHomeDir", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/ext/path.filepath.model.yml b/go/ql/lib/ext/path.filepath.model.yml index 15bcb7d386d..e997b2dcead 100644 --- a/go/ql/lib/ext/path.filepath.model.yml +++ b/go/ql/lib/ext/path.filepath.model.yml @@ -3,16 +3,16 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["path/filepath", "", False, "Abs", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", False, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "EvalSymlinks", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", False, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "FromSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", False, "Rel", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", False, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - - ["path/filepath", "", False, "SplitList", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "ToSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", False, "VolumeName", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "Abs", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", True, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "EvalSymlinks", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", True, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "FromSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", True, "Rel", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", True, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["path/filepath", "", True, "SplitList", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "ToSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", True, "VolumeName", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/path.model.yml b/go/ql/lib/ext/path.model.yml index 5a494b24d7c..945aa8d741b 100644 --- a/go/ql/lib/ext/path.model.yml +++ b/go/ql/lib/ext/path.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["path", "", False, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", False, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", False, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", False, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", False, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["path", "", True, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", True, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", True, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", True, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", True, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] diff --git a/go/ql/lib/ext/reflect.model.yml b/go/ql/lib/ext/reflect.model.yml index 75b207f73a0..19c76216186 100644 --- a/go/ql/lib/ext/reflect.model.yml +++ b/go/ql/lib/ext/reflect.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["reflect", "", False, "AppendSlice", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["reflect", "", False, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["reflect", "", False, "Indirect", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["reflect", "", False, "ValueOf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["reflect", "", True, "AppendSlice", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["reflect", "", True, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["reflect", "", True, "Indirect", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["reflect", "", True, "ValueOf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["reflect", "MapIter", True, "Key", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["reflect", "MapIter", True, "Value", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["reflect", "StructTag", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/regexp.model.yml b/go/ql/lib/ext/regexp.model.yml index ffb6205657a..c5a7ba001b2 100644 --- a/go/ql/lib/ext/regexp.model.yml +++ b/go/ql/lib/ext/regexp.model.yml @@ -17,7 +17,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["regexp", "", False, "QuoteMeta", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["regexp", "", True, "QuoteMeta", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["regexp", "Regexp", True, "Expand", "", "", "Argument[1..2]", "Argument[0]", "taint", "manual"] - ["regexp", "Regexp", True, "Expand", "", "", "Argument[1..2]", "ReturnValue", "taint", "manual"] - ["regexp", "Regexp", True, "ExpandString", "", "", "Argument[1..2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/sort.model.yml b/go/ql/lib/ext/sort.model.yml index 36d0070de66..132b81728df 100644 --- a/go/ql/lib/ext/sort.model.yml +++ b/go/ql/lib/ext/sort.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["sort", "", False, "Reverse", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sort", "", True, "Reverse", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/strconv.model.yml b/go/ql/lib/ext/strconv.model.yml index 65203b12106..50df3745c96 100644 --- a/go/ql/lib/ext/strconv.model.yml +++ b/go/ql/lib/ext/strconv.model.yml @@ -3,12 +3,12 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["strconv", "", False, "AppendQuote", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strconv", "", False, "AppendQuoteToASCII", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strconv", "", False, "AppendQuoteToGraphic", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strconv", "", False, "Quote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strconv", "", False, "QuoteToASCII", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strconv", "", False, "QuoteToGraphic", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strconv", "", False, "QuotedPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["strconv", "", False, "Unquote", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["strconv", "", False, "UnquoteChar", "", "", "Argument[0]", "ReturnValue[2]", "taint", "manual"] + - ["strconv", "", True, "AppendQuote", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strconv", "", True, "AppendQuoteToASCII", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strconv", "", True, "AppendQuoteToGraphic", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strconv", "", True, "Quote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strconv", "", True, "QuoteToASCII", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strconv", "", True, "QuoteToGraphic", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strconv", "", True, "QuotedPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["strconv", "", True, "Unquote", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["strconv", "", True, "UnquoteChar", "", "", "Argument[0]", "ReturnValue[2]", "taint", "manual"] diff --git a/go/ql/lib/ext/strings.model.yml b/go/ql/lib/ext/strings.model.yml index 01015b31517..5fcf4b43e96 100644 --- a/go/ql/lib/ext/strings.model.yml +++ b/go/ql/lib/ext/strings.model.yml @@ -3,37 +3,37 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["strings", "", False, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", False, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", True, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["strings", "Reader", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["strings", "Replacer", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["strings", "Replacer", True, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/sync.atomic.model.yml b/go/ql/lib/ext/sync.atomic.model.yml index 1dd7d995566..66e1556b199 100644 --- a/go/ql/lib/ext/sync.atomic.model.yml +++ b/go/ql/lib/ext/sync.atomic.model.yml @@ -3,18 +3,18 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["sync/atomic", "", False, "AddUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "AddUintptr", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", False, "CompareAndSwapPointer", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "CompareAndSwapUintptr", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "LoadPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", False, "LoadUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", False, "StorePointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "StoreUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "SwapPointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "SwapPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", False, "SwapUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", False, "SwapUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", True, "AddUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "AddUintptr", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", True, "CompareAndSwapPointer", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "CompareAndSwapUintptr", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "LoadPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", True, "LoadUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", True, "StorePointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "StoreUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "SwapPointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "SwapPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", True, "SwapUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", True, "SwapUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["sync/atomic", "Pointer", True, "Load", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["sync/atomic", "Pointer", True, "Store", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["sync/atomic", "Pointer", True, "Swap", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/syscall.model.yml b/go/ql/lib/ext/syscall.model.yml index 9d65f2bedbd..23617b1cd52 100644 --- a/go/ql/lib/ext/syscall.model.yml +++ b/go/ql/lib/ext/syscall.model.yml @@ -3,20 +3,20 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["syscall", "", False, "Exec", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", False, "ForkExec", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", False, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", False, "CreateProcess", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", False, "CreateProcessAsUser", "", "", "Argument[1]", "command-injection", "manual"] + - ["syscall", "", True, "Exec", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", True, "ForkExec", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", True, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", True, "CreateProcess", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", True, "CreateProcessAsUser", "", "", "Argument[1]", "command-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["syscall", "", False, "BytePtrFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["syscall", "", False, "ByteSliceFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["syscall", "", False, "StringBytePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["syscall", "", False, "StringByteSlice", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["syscall", "", False, "StringSlicePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["syscall", "", True, "BytePtrFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["syscall", "", True, "ByteSliceFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["syscall", "", True, "StringBytePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["syscall", "", True, "StringByteSlice", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["syscall", "", True, "StringSlicePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["syscall", "Conn", True, "SyscallConn", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["syscall", "RawConn", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["syscall", "RawConn", True, "Write", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] @@ -24,5 +24,5 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["syscall", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] - - ["syscall", "", False, "Getenv", "", "", "ReturnValue[0]", "environment", "manual"] \ No newline at end of file + - ["syscall", "", True, "Environ", "", "", "ReturnValue", "environment", "manual"] + - ["syscall", "", True, "Getenv", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/ext/text.template.model.yml b/go/ql/lib/ext/text.template.model.yml index 669af3a8854..b12fea65133 100644 --- a/go/ql/lib/ext/text.template.model.yml +++ b/go/ql/lib/ext/text.template.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["text/template", "", False, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["text/template", "", False, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["text/template", "", False, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["text/template", "", False, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["text/template", "", True, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["text/template", "", True, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["text/template", "", True, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["text/template", "", True, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["text/template", "Template", True, "Execute", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["text/template", "Template", True, "ExecuteTemplate", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml index e64313916ce..9bcf0cb83ad 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml @@ -9,7 +9,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml index fe7569e9600..100989327aa 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml @@ -10,7 +10,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml index 2c8e9d2530f..18904b1761c 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml @@ -10,8 +10,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] - + - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml index acac1a4e4f0..340050b6bc0 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml @@ -10,8 +10,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] - + - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml index c61a23e0e64..12bd819ac3b 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml @@ -11,8 +11,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] - + - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml index cc5a7847fd8..7c9aa3d7f5d 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml @@ -11,7 +11,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] From d31700cf92f5af2201034f5aefe531e489a54332 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 12 Nov 2024 11:34:29 +0000 Subject: [PATCH 2/5] Accept changes in models in .expected files --- .../DecompressionBombs.expected | 6 ++-- .../HTMLTemplateEscapingPassthrough.expected | 2 +- go/ql/test/experimental/CWE-918/SSRF.expected | 6 ++-- .../go/dataflow/HiddenNodes/test.expected | 2 +- .../threat-models-flowtest2.expected | 2 +- .../threat-models-flowtest3.expected | 6 ++-- .../threat-models-flowtest4.expected | 8 ++--- .../threat-models-flowtest5.expected | 4 +-- .../threat-models-flowtest6.expected | 4 +-- .../go/frameworks/Beego/ReflectedXss.expected | 34 +++++++++---------- .../go/frameworks/Beego/TaintedPath.expected | 12 +++---- .../go/frameworks/Echo/ReflectedXss.expected | 2 +- .../go/frameworks/Echo/TaintedPath.expected | 4 +-- .../go/frameworks/Encoding/jsoniter.expected | 6 ++-- .../go/frameworks/Gin/TaintedPath.expected | 8 ++--- .../frameworks/Gorestful/gorestful.expected | 2 +- .../go/frameworks/Revel/TaintedPath.expected | 2 +- .../frameworks/Twirp/RequestForgery.expected | 4 +-- .../frameworks/XNetHtml/ReflectedXss.expected | 14 ++++---- .../frameworks/XNetHtml/SqlInjection.expected | 2 +- .../UnhandledCloseWritableHandle.expected | 2 +- .../Security/CWE-022/TaintedPath.expected | 4 +-- .../CWE-022/UnsafeUnzipSymlink.expected | 2 +- .../Security/CWE-022/ZipSlip.expected | 10 +++--- .../CWE-078/CommandInjection.expected | 8 ++--- .../Security/CWE-078/StoredCommand.expected | 2 +- .../Security/CWE-079/ReflectedXss.expected | 4 +-- .../Security/CWE-089/SqlInjection.expected | 4 +-- .../Security/CWE-089/StringBreak.expected | 2 +- .../CWE-190/AllocationSizeOverflow.expected | 2 +- .../Security/CWE-327/UnsafeTLS.expected | 6 ++-- .../InsecureRandomness.expected | 2 +- .../BadRedirectCheck.expected | 2 +- .../Security/CWE-640/EmailInjection.expected | 4 +-- .../Security/CWE-643/XPathInjection.expected | 2 +- 35 files changed, 93 insertions(+), 93 deletions(-) diff --git a/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected b/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected index 34703cdeef4..29cca270972 100644 --- a/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected +++ b/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected @@ -233,10 +233,10 @@ edges models | 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | | 2 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | -| 3 | Summary: archive/tar; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: archive/tar; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | | 4 | Summary: archive/zip; File; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | -| 5 | Summary: bytes; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | -| 6 | Summary: io; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 5 | Summary: bytes; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 6 | Summary: io; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | nodes | test.go:59:16:59:44 | call to FormValue | semmle.label | call to FormValue | | test.go:60:15:60:26 | selection of Body | semmle.label | selection of Body | diff --git a/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected b/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected index c91fe813e9f..93d5d1d24ad 100644 --- a/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected +++ b/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected @@ -35,7 +35,7 @@ edges | HTMLTemplateEscapingPassthrough.go:91:64:91:66 | src | HTMLTemplateEscapingPassthrough.go:91:38:91:67 | call to HTMLEscapeString | provenance | MaD:2 | models | 1 | Source: net/http; Request; true; UserAgent; ; ; ReturnValue; remote; manual | -| 2 | Summary: html/template; ; false; HTMLEscapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: html/template; ; true; HTMLEscapeString; ; ; Argument[0]; ReturnValue; taint; manual | nodes | HTMLTemplateEscapingPassthrough.go:29:12:29:41 | type conversion | semmle.label | type conversion | | HTMLTemplateEscapingPassthrough.go:29:26:29:40 | call to UserAgent | semmle.label | call to UserAgent | diff --git a/go/ql/test/experimental/CWE-918/SSRF.expected b/go/ql/test/experimental/CWE-918/SSRF.expected index f4e1d1c9930..6e2e9a394cc 100644 --- a/go/ql/test/experimental/CWE-918/SSRF.expected +++ b/go/ql/test/experimental/CWE-918/SSRF.expected @@ -69,12 +69,12 @@ models | 7 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | | 8 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | | 9 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 10 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 10 | Summary: encoding/json; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | | 11 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 12 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 12 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 13 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 14 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 15 | Summary: strings; ; false; TrimPrefix; ; ; Argument[0]; ReturnValue; taint; manual | +| 15 | Summary: strings; ; true; TrimPrefix; ; ; Argument[0]; ReturnValue; taint; manual | nodes | builtin.go:19:12:19:34 | call to FormValue | semmle.label | call to FormValue | | builtin.go:22:21:22:62 | ...+... | semmle.label | ...+... | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected b/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected index 13aa3515962..0a6930c8c2e 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected @@ -1,5 +1,5 @@ models -| 1 | Summary: archive/tar; ; false; FileInfoHeader; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 1 | Summary: archive/tar; ; true; FileInfoHeader; ; ; Argument[0]; ReturnValue[0]; taint; manual | edges | test.go:14:8:14:15 | call to source | test.go:15:34:15:35 | fi | provenance | | | test.go:15:2:15:44 | ... := ...[0] | test.go:16:7:16:12 | header | provenance | | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected index cf59efbb6ac..bc4cbe638fe 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected @@ -1,5 +1,5 @@ models -| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | +| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 3 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 4 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected index c3138596ac2..644ab61c9c0 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected @@ -1,7 +1,7 @@ models -| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | -| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | -| 3 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual | +| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | +| 2 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 3 | Source: github.com/nonexistent/sources; ; true; ReadEnvironment; ; ; ReturnValue; environment; manual | | 4 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 5 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 6 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected index 37db602757c..e28ad58f2ea 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected @@ -1,8 +1,8 @@ models -| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | -| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | -| 3 | Source: github.com/nonexistent/sources; ; false; GetCustom; ; ; ReturnValue; custom; manual | -| 4 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual | +| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | +| 2 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 3 | Source: github.com/nonexistent/sources; ; true; GetCustom; ; ; ReturnValue; custom; manual | +| 4 | Source: github.com/nonexistent/sources; ; true; ReadEnvironment; ; ; ReturnValue; environment; manual | | 5 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 6 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 7 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected index 92b35dc609b..eac3843cfae 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected @@ -1,6 +1,6 @@ models -| 1 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | -| 2 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual | +| 1 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 2 | Source: github.com/nonexistent/sources; ; true; ReadEnvironment; ; ; ReturnValue; environment; manual | | 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 4 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 5 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected index a5a23bd0725..48b374d8d9c 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected @@ -1,6 +1,6 @@ models -| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | -| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | +| 2 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | | 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 4 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 5 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected index aa0345f221e..0d0a445d860 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected @@ -176,26 +176,26 @@ models | 19 | Source: group:beego; Controller; true; Input; ; ; ReturnValue[0]; remote; manual | | 20 | Source: group:beego; Controller; true; ParseForm; ; ; Argument[0]; remote; manual | | 21 | Source: net/http; Request; true; Form; ; ; ; remote; manual | -| 22 | Summary: group:beego-utils; ; false; SliceChunk; ; ; Argument[0]; ReturnValue; taint; manual | -| 23 | Summary: group:beego-utils; ; false; SliceDiff; ; ; Argument[0]; ReturnValue; taint; manual | -| 24 | Summary: group:beego-utils; ; false; SliceFilter; ; ; Argument[0]; ReturnValue; taint; manual | -| 25 | Summary: group:beego-utils; ; false; SliceIntersect; ; ; Argument[0..1]; ReturnValue; taint; manual | -| 26 | Summary: group:beego-utils; ; false; SliceMerge; ; ; Argument[0..1]; ReturnValue; taint; manual | -| 27 | Summary: group:beego-utils; ; false; SlicePad; ; ; Argument[0..2]; ReturnValue; taint; manual | -| 28 | Summary: group:beego-utils; ; false; SliceRand; ; ; Argument[0]; ReturnValue; taint; manual | -| 29 | Summary: group:beego-utils; ; false; SliceReduce; ; ; Argument[0]; ReturnValue; taint; manual | -| 30 | Summary: group:beego-utils; ; false; SliceShuffle; ; ; Argument[0]; ReturnValue; taint; manual | -| 31 | Summary: group:beego-utils; ; false; SliceUnique; ; ; Argument[0]; ReturnValue; taint; manual | +| 22 | Summary: group:beego-utils; ; true; SliceChunk; ; ; Argument[0]; ReturnValue; taint; manual | +| 23 | Summary: group:beego-utils; ; true; SliceDiff; ; ; Argument[0]; ReturnValue; taint; manual | +| 24 | Summary: group:beego-utils; ; true; SliceFilter; ; ; Argument[0]; ReturnValue; taint; manual | +| 25 | Summary: group:beego-utils; ; true; SliceIntersect; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 26 | Summary: group:beego-utils; ; true; SliceMerge; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 27 | Summary: group:beego-utils; ; true; SlicePad; ; ; Argument[0..2]; ReturnValue; taint; manual | +| 28 | Summary: group:beego-utils; ; true; SliceRand; ; ; Argument[0]; ReturnValue; taint; manual | +| 29 | Summary: group:beego-utils; ; true; SliceReduce; ; ; Argument[0]; ReturnValue; taint; manual | +| 30 | Summary: group:beego-utils; ; true; SliceShuffle; ; ; Argument[0]; ReturnValue; taint; manual | +| 31 | Summary: group:beego-utils; ; true; SliceUnique; ; ; Argument[0]; ReturnValue; taint; manual | | 32 | Summary: group:beego-utils; BeeMap; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | | 33 | Summary: group:beego-utils; BeeMap; true; Items; ; ; Argument[receiver]; ReturnValue; taint; manual | | 34 | Summary: group:beego-utils; BeeMap; true; Set; ; ; Argument[1]; Argument[receiver]; taint; manual | -| 35 | Summary: group:beego; ; false; HTML2str; ; ; Argument[0]; ReturnValue; taint; manual | -| 36 | Summary: group:beego; ; false; Htmlunquote; ; ; Argument[0]; ReturnValue; taint; manual | -| 37 | Summary: group:beego; ; false; MapGet; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 38 | Summary: group:beego; ; false; ParseForm; ; ; Argument[0]; Argument[1]; taint; manual | -| 39 | Summary: group:beego; ; false; Str2html; ; ; Argument[0]; ReturnValue; taint; manual | -| 40 | Summary: group:beego; ; false; Substr; ; ; Argument[0]; ReturnValue; taint; manual | -| 41 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 35 | Summary: group:beego; ; true; HTML2str; ; ; Argument[0]; ReturnValue; taint; manual | +| 36 | Summary: group:beego; ; true; Htmlunquote; ; ; Argument[0]; ReturnValue; taint; manual | +| 37 | Summary: group:beego; ; true; MapGet; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 38 | Summary: group:beego; ; true; ParseForm; ; ; Argument[0]; Argument[1]; taint; manual | +| 39 | Summary: group:beego; ; true; Str2html; ; ; Argument[0]; ReturnValue; taint; manual | +| 40 | Summary: group:beego; ; true; Substr; ; ; Argument[0]; ReturnValue; taint; manual | +| 41 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | nodes | test.go:33:6:33:10 | definition of bound | semmle.label | definition of bound | | test.go:35:13:35:30 | type conversion | semmle.label | type conversion | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected index 796143aee9e..875d267025e 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected @@ -16,14 +16,14 @@ edges | test.go:340:15:340:26 | call to Data | test.go:342:53:342:61 | untrusted | provenance | Src:MaD:6 Sink:MaD:4 | | test.go:340:15:340:26 | call to Data | test.go:344:23:344:31 | untrusted | provenance | Src:MaD:6 Sink:MaD:1 | models -| 1 | Sink: group:beego-context; BeegoOutput; false; Download; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: group:beego; ; false; Walk; ; ; Argument[1]; path-injection; manual | -| 3 | Sink: group:beego; Controller; false; SaveToFile; ; ; Argument[1]; path-injection; manual | -| 4 | Sink: group:beego; Controller; false; SaveToFileWithBuffer; ; ; Argument[1]; path-injection; manual | -| 5 | Sink: group:beego; FileSystem; false; Open; ; ; Argument[0]; path-injection; manual | +| 1 | Sink: group:beego-context; BeegoOutput; true; Download; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: group:beego; ; true; Walk; ; ; Argument[1]; path-injection; manual | +| 3 | Sink: group:beego; Controller; true; SaveToFile; ; ; Argument[1]; path-injection; manual | +| 4 | Sink: group:beego; Controller; true; SaveToFileWithBuffer; ; ; Argument[1]; path-injection; manual | +| 5 | Sink: group:beego; FileSystem; true; Open; ; ; Argument[0]; path-injection; manual | | 6 | Source: group:beego-context; BeegoInput; true; Data; ; ; ReturnValue[0]; remote; manual | | 7 | Source: group:beego-context; BeegoInput; true; RequestBody; ; ; ; remote; manual | -| 8 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 8 | Summary: encoding/json; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | nodes | test.go:215:15:215:26 | call to Data | semmle.label | call to Data | | test.go:216:18:216:26 | untrusted | semmle.label | untrusted | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected index 61b8706f4e0..c115d4f8643 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected @@ -74,7 +74,7 @@ models | 16 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | | 17 | Summary: mime/multipart; FileHeader; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | | 18 | Summary: os; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | -| 19 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 19 | Summary: strings; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | nodes | test.go:15:11:15:32 | call to Param | semmle.label | call to Param | | test.go:16:16:16:20 | param | semmle.label | param | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Echo/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Echo/TaintedPath.expected index aaefd9799be..c579c480fb3 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Echo/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Echo/TaintedPath.expected @@ -5,8 +5,8 @@ edges | test.go:221:15:221:38 | call to QueryParam | test.go:222:17:222:24 | filepath | provenance | Src:MaD:3 Sink:MaD:2 | | test.go:225:15:225:38 | call to QueryParam | test.go:226:23:226:30 | filepath | provenance | Src:MaD:3 Sink:MaD:1 | models -| 1 | Sink: github.com/labstack/echo; Context; false; Attachment; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: github.com/labstack/echo; Context; false; File; ; ; Argument[0]; path-injection; manual | +| 1 | Sink: github.com/labstack/echo; Context; true; Attachment; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: github.com/labstack/echo; Context; true; File; ; ; Argument[0]; path-injection; manual | | 3 | Source: github.com/labstack/echo; Context; true; QueryParam; ; ; ReturnValue[0]; remote; manual | nodes | test.go:221:15:221:38 | call to QueryParam | semmle.label | call to QueryParam | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected b/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected index 0e79c3135b0..9ff49f5b929 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected @@ -1,7 +1,7 @@ models -| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | -| 2 | Summary: github.com/json-iterator/go; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 3 | Summary: github.com/json-iterator/go; ; false; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual | +| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | +| 2 | Summary: github.com/json-iterator/go; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 3 | Summary: github.com/json-iterator/go; ; true; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual | | 4 | Summary: github.com/json-iterator/go; API; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | | 5 | Summary: github.com/json-iterator/go; API; true; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual | edges diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected index e73729936bd..d16514649f3 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected @@ -9,10 +9,10 @@ edges | Gin.go:24:15:24:33 | call to Query | Gin.go:27:20:27:27 | filepath | provenance | Src:MaD:5 Sink:MaD:2 | | Gin.go:24:15:24:33 | call to Query | Gin.go:29:32:29:39 | filepath | provenance | Src:MaD:5 Sink:MaD:3 | models -| 1 | Sink: github.com/gin-gonic/gin; Context; false; File; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: github.com/gin-gonic/gin; Context; false; FileAttachment; ; ; Argument[0]; path-injection; manual | -| 3 | Sink: github.com/gin-gonic/gin; Context; false; SaveUploadedFile; ; ; Argument[1]; path-injection; manual | -| 4 | Sink: net/http; ; false; ServeFile; ; ; Argument[2]; path-injection; manual | +| 1 | Sink: github.com/gin-gonic/gin; Context; true; File; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: github.com/gin-gonic/gin; Context; true; FileAttachment; ; ; Argument[0]; path-injection; manual | +| 3 | Sink: github.com/gin-gonic/gin; Context; true; SaveUploadedFile; ; ; Argument[1]; path-injection; manual | +| 4 | Sink: net/http; ; true; ServeFile; ; ; Argument[2]; path-injection; manual | | 5 | Source: github.com/gin-gonic/gin; Context; true; Query; ; ; ReturnValue; remote; manual | nodes | Gin.go:24:15:24:33 | call to Query | semmle.label | call to Query | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected b/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected index 4cdacabe873..7ec09bf530d 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected @@ -1,5 +1,5 @@ models -| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | +| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | | 2 | Source: github.com/emicklei/go-restful; Request; true; BodyParameter; ; ; ReturnValue[0]; remote; manual | | 3 | Source: github.com/emicklei/go-restful; Request; true; PathParameters; ; ; ReturnValue; remote; manual | | 4 | Source: github.com/emicklei/go-restful; Request; true; QueryParameters; ; ; ReturnValue; remote; manual | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected index 7337f636c47..7706161f2f2 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected @@ -8,7 +8,7 @@ edges | EndToEnd.go:64:26:64:38 | selection of Form | EndToEnd.go:64:26:64:55 | call to Get | provenance | MaD:4 Sink:MaD:1 | models | 1 | Sink: group:revel; Controller; true; RenderFileName; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: os; ; false; Open; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: os; ; true; Open; ; ; Argument[0]; path-injection; manual | | 3 | Source: group:revel; Controller; true; Params; ; ; ; remote; manual | | 4 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected b/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected index 82c4c950c6e..648650dcb57 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected @@ -25,8 +25,8 @@ edges | server/main.go:19:56:19:61 | definition of params [Return] | rpc/notes/service.twirp.go:574:2:574:2 | capture variable reqContent | provenance | | models | 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | -| 2 | Summary: google.golang.org/protobuf/proto; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 3 | Summary: io; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 2 | Summary: google.golang.org/protobuf/proto; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 3 | Summary: io; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | nodes | client/main.go:16:35:16:78 | &... | semmle.label | &... | | rpc/notes/service.twirp.go:473:6:473:13 | definition of typedReq | semmle.label | definition of typedReq | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected index b94733d5054..bb1af2a7a3f 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected @@ -71,13 +71,13 @@ edges models | 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 3 | Summary: golang.org/x/net/html; ; false; NewTokenizer; ; ; Argument[0]; ReturnValue; taint; manual | -| 4 | Summary: golang.org/x/net/html; ; false; NewTokenizerFragment; ; ; Argument[0]; ReturnValue; taint; manual | -| 5 | Summary: golang.org/x/net/html; ; false; Parse; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 6 | Summary: golang.org/x/net/html; ; false; ParseFragment; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 7 | Summary: golang.org/x/net/html; ; false; ParseFragmentWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 8 | Summary: golang.org/x/net/html; ; false; ParseWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 9 | Summary: golang.org/x/net/html; ; false; UnescapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: golang.org/x/net/html; ; true; NewTokenizer; ; ; Argument[0]; ReturnValue; taint; manual | +| 4 | Summary: golang.org/x/net/html; ; true; NewTokenizerFragment; ; ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: golang.org/x/net/html; ; true; Parse; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 6 | Summary: golang.org/x/net/html; ; true; ParseFragment; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 7 | Summary: golang.org/x/net/html; ; true; ParseFragmentWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 8 | Summary: golang.org/x/net/html; ; true; ParseWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 9 | Summary: golang.org/x/net/html; ; true; UnescapeString; ; ; Argument[0]; ReturnValue; taint; manual | | 10 | Summary: golang.org/x/net/html; Node; true; AppendChild; ; ; Argument[0]; Argument[receiver]; taint; manual | | 11 | Summary: golang.org/x/net/html; Node; true; InsertBefore; ; ; Argument[0]; Argument[receiver]; taint; manual | | 12 | Summary: golang.org/x/net/html; Tokenizer; true; Buffered; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected index c28b1058e7c..c25bd5f5c38 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected @@ -5,7 +5,7 @@ edges | test.go:57:29:57:40 | selection of Value | test.go:57:11:57:41 | call to EscapeString | provenance | MaD:2 | models | 1 | Source: net/http; Request; true; Cookie; ; ; ReturnValue[0]; remote; manual | -| 2 | Summary: golang.org/x/net/html; ; false; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: golang.org/x/net/html; ; true; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | nodes | test.go:56:2:56:42 | ... := ...[0] | semmle.label | ... := ...[0] | | test.go:57:11:57:41 | call to EscapeString | semmle.label | call to EscapeString | diff --git a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected index dc54af70dbb..ee8bb8d7375 100644 --- a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected +++ b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected @@ -24,7 +24,7 @@ edges | tests.go:108:5:108:78 | ... := ...[0] | tests.go:110:9:110:9 | f | provenance | Src:MaD:1 | | tests.go:125:5:125:78 | ... := ...[0] | tests.go:129:3:129:3 | f | provenance | Src:MaD:1 | models -| 1 | Source: os; ; false; OpenFile; ; ; ReturnValue[0]; file; manual | +| 1 | Source: os; ; true; OpenFile; ; ; ReturnValue[0]; file; manual | nodes | tests.go:8:24:8:24 | definition of f | semmle.label | definition of f | | tests.go:9:8:9:8 | f | semmle.label | f | diff --git a/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected b/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected index 839d35f663c..ba73f68772f 100644 --- a/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected +++ b/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected @@ -10,10 +10,10 @@ edges | TaintedPath.go:21:57:21:68 | tainted_path | TaintedPath.go:21:28:21:69 | call to Join | provenance | FunctionModel Sink:MaD:1 | | TaintedPath.go:68:39:68:56 | ...+... | TaintedPath.go:68:28:68:57 | call to Clean | provenance | MaD:4 Sink:MaD:1 | models -| 1 | Sink: io/ioutil; ; false; ReadFile; ; ; Argument[0]; path-injection; manual | +| 1 | Sink: io/ioutil; ; true; ReadFile; ; ; Argument[0]; path-injection; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 3 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 4 | Summary: path; ; false; Clean; ; ; Argument[0]; ReturnValue; taint; manual | +| 4 | Summary: path; ; true; Clean; ; ; Argument[0]; ReturnValue; taint; manual | nodes | TaintedPath.go:14:18:14:22 | selection of URL | semmle.label | selection of URL | | TaintedPath.go:14:18:14:30 | call to Query | semmle.label | call to Query | diff --git a/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected b/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected index 3276c077109..e0444bcdab0 100644 --- a/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected +++ b/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected @@ -10,7 +10,7 @@ edges | UnsafeUnzipSymlink.go:126:17:126:31 | selection of Linkname | UnsafeUnzipSymlink.go:111:19:111:26 | definition of linkName | provenance | | | UnsafeUnzipSymlink.go:126:34:126:44 | selection of Name | UnsafeUnzipSymlink.go:111:29:111:36 | definition of fileName | provenance | | models -| 1 | Sink: os; ; false; Symlink; ; ; Argument[0..1]; path-injection; manual | +| 1 | Sink: os; ; true; Symlink; ; ; Argument[0..1]; path-injection; manual | nodes | UnsafeUnzipSymlink.go:31:15:31:29 | selection of Linkname | semmle.label | selection of Linkname | | UnsafeUnzipSymlink.go:31:32:31:42 | selection of Name | semmle.label | selection of Name | diff --git a/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected b/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected index 7cb981667da..5641fe1e3ea 100644 --- a/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected +++ b/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected @@ -17,11 +17,11 @@ edges | tarslip.go:16:23:16:33 | selection of Name | tarslip.go:16:14:16:34 | call to Dir | provenance | MaD:5 Sink:MaD:2 | | tst.go:23:2:43:2 | range statement[1] | tst.go:29:20:29:23 | path | provenance | Sink:MaD:1 | models -| 1 | Sink: io/ioutil; ; false; WriteFile; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: os; ; false; MkdirAll; ; ; Argument[0]; path-injection; manual | -| 3 | Sink: os; ; false; Readlink; ; ; Argument[0]; path-injection; manual | -| 4 | Summary: path/filepath; ; false; Abs; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 5 | Summary: path; ; false; Dir; ; ; Argument[0]; ReturnValue; taint; manual | +| 1 | Sink: io/ioutil; ; true; WriteFile; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: os; ; true; MkdirAll; ; ; Argument[0]; path-injection; manual | +| 3 | Sink: os; ; true; Readlink; ; ; Argument[0]; path-injection; manual | +| 4 | Summary: path/filepath; ; true; Abs; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 5 | Summary: path; ; true; Dir; ; ; Argument[0]; ReturnValue; taint; manual | nodes | UnsafeUnzipSymlinkGood.go:52:24:52:32 | definition of candidate | semmle.label | definition of candidate | | UnsafeUnzipSymlinkGood.go:61:31:61:62 | call to Join | semmle.label | call to Join | diff --git a/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected b/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected index ce713390403..5ade5857fb8 100644 --- a/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected @@ -146,11 +146,11 @@ edges | SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append | provenance | MaD:3 | | SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append [array] | provenance | MaD:3 | models -| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | +| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 3 | Summary: ; ; false; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | -| 4 | Summary: ; ; false; append; ; ; Argument[0]; ReturnValue; taint; manual | -| 5 | Summary: ; ; false; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 3 | Summary: ; ; true; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 4 | Summary: ; ; true; append; ; ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: ; ; true; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | | 6 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | | 7 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected b/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected index 12be518a98b..0ee36cc39e5 100644 --- a/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected +++ b/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected @@ -5,7 +5,7 @@ edges | StoredCommand.go:13:2:13:5 | rows | StoredCommand.go:13:12:13:19 | &... | provenance | FunctionModel | | StoredCommand.go:13:12:13:19 | &... | StoredCommand.go:14:22:14:28 | cmdName | provenance | Sink:MaD:1 | models -| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | +| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | nodes | StoredCommand.go:11:2:11:27 | ... := ...[0] | semmle.label | ... := ...[0] | | StoredCommand.go:13:2:13:5 | rows | semmle.label | rows | diff --git a/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected b/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected index 0c9d1d6b22a..ef6843cb553 100644 --- a/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected +++ b/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected @@ -81,13 +81,13 @@ models | 10 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 11 | Source: nhooyr.io/websocket; Conn; true; Read; ; ; ReturnValue[1]; remote; manual | | 12 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 13 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 13 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 14 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | | 15 | Summary: mime/multipart; Part; true; FileName; ; ; Argument[receiver]; ReturnValue; taint; manual | | 16 | Summary: mime/multipart; Reader; true; NextPart; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | | 17 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 18 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 19 | Summary: strings; ; false; Join; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 19 | Summary: strings; ; true; Join; ; ; Argument[0..1]; ReturnValue; taint; manual | nodes | ReflectedXss.go:11:15:11:20 | selection of Form | semmle.label | selection of Form | | ReflectedXss.go:11:15:11:36 | call to Get | semmle.label | call to Get | diff --git a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected index b4ba00050a5..06cd819269a 100644 --- a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected @@ -139,9 +139,9 @@ models | 3 | Source: net/http; Request; true; Header; ; ; ; remote; manual | | 4 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | | 5 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 6 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 6 | Summary: encoding/json; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | | 7 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 8 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 8 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 9 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | | 10 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected b/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected index 5deab249337..8528aa86a12 100644 --- a/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected +++ b/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected @@ -11,7 +11,7 @@ edges | StringBreakMismatched.go:25:13:25:61 | call to Replace | StringBreakMismatched.go:29:27:29:33 | escaped | provenance | | | StringBreakMismatched.go:25:29:25:47 | type conversion | StringBreakMismatched.go:25:13:25:61 | call to Replace | provenance | MaD:1 | models -| 1 | Summary: strings; ; false; Replace; ; ; Argument[0]; ReturnValue; taint; manual | +| 1 | Summary: strings; ; true; Replace; ; ; Argument[0]; ReturnValue; taint; manual | nodes | StringBreak.go:10:2:10:40 | ... := ...[0] | semmle.label | ... := ...[0] | | StringBreak.go:14:47:14:57 | versionJSON | semmle.label | versionJSON | diff --git a/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected b/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected index 3a9de1ebe60..196eaa36718 100644 --- a/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected +++ b/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected @@ -31,7 +31,7 @@ edges | tst.go:34:2:34:30 | ... = ...[0] | tst.go:35:26:35:33 | jsonData | provenance | | | tst.go:35:26:35:33 | jsonData | tst.go:35:22:35:34 | call to len | provenance | Config | models -| 1 | Source: io/ioutil; ; false; ReadFile; ; ; ReturnValue[0]; file; manual | +| 1 | Source: io/ioutil; ; true; ReadFile; ; ; ReturnValue[0]; file; manual | nodes | AllocationSizeOverflow.go:6:2:6:33 | ... := ...[0] | semmle.label | ... := ...[0] | | AllocationSizeOverflow.go:10:10:10:22 | call to len | semmle.label | call to len | diff --git a/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected b/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected index 539e1070af8..9e7c44ec3b4 100644 --- a/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected +++ b/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected @@ -87,9 +87,9 @@ edges | UnsafeTLS.go:450:6:450:48 | selection of TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | UnsafeTLS.go:449:19:451:5 | slice literal | provenance | | | UnsafeTLS.go:457:6:457:48 | selection of TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | UnsafeTLS.go:456:19:458:5 | slice literal | provenance | | models -| 1 | Summary: ; ; false; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | -| 2 | Summary: ; ; false; append; ; ; Argument[0]; ReturnValue; taint; manual | -| 3 | Summary: ; ; false; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 1 | Summary: ; ; true; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 2 | Summary: ; ; true; append; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: ; ; true; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | nodes | UnsafeTLS.go:21:23:21:23 | 0 | semmle.label | 0 | | UnsafeTLS.go:25:23:25:23 | 0 | semmle.label | 0 | diff --git a/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected b/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected index cf5b484716c..b4936b77b3d 100644 --- a/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected +++ b/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected @@ -23,7 +23,7 @@ edges | sample.go:56:29:56:38 | randNumber | sample.go:56:18:56:39 | index expression | provenance | Config | models | 1 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 2 | Summary: io; ; false; ReadFull; ; ; Argument[0]; Argument[1]; taint; manual | +| 2 | Summary: io; ; true; ReadFull; ; ; Argument[0]; Argument[1]; taint; manual | nodes | InsecureRandomness.go:12:18:12:40 | call to Intn | semmle.label | call to Intn | | sample.go:15:10:15:64 | call to Sum256 | semmle.label | call to Sum256 | diff --git a/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected b/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected index 1ac1033433e..10b4b3f3505 100644 --- a/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected +++ b/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected @@ -30,7 +30,7 @@ edges | main.go:87:9:87:14 | selection of Path | main.go:91:25:91:39 | call to getTarget2 | provenance | Sink:MaD:1 | models | 1 | Sink: net/http; ; true; Redirect; ; ; Argument[2]; url-redirection[0]; manual | -| 2 | Summary: path; ; false; Clean; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: path; ; true; Clean; ; ; Argument[0]; ReturnValue; taint; manual | nodes | BadRedirectCheck.go:3:18:3:22 | argument corresponding to redir | semmle.label | argument corresponding to redir | | BadRedirectCheck.go:3:18:3:22 | definition of redir | semmle.label | definition of redir | diff --git a/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected b/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected index ac5985f110d..864b55a25db 100644 --- a/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected @@ -33,8 +33,8 @@ edges models | 1 | Source: net/http; Request; true; Header; ; ; ; remote; manual | | 2 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | -| 3 | Summary: github.com/sendgrid/sendgrid-go/helpers/mail; ; false; NewContent; ; ; Argument[1]; ReturnValue; taint; manual | -| 4 | Summary: io; ; false; WriteString; ; ; Argument[1]; Argument[0]; taint; manual | +| 3 | Summary: github.com/sendgrid/sendgrid-go/helpers/mail; ; true; NewContent; ; ; Argument[1]; ReturnValue; taint; manual | +| 4 | Summary: io; ; true; WriteString; ; ; Argument[1]; Argument[0]; taint; manual | | 5 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes | EmailBad.go:9:10:9:17 | selection of Header | semmle.label | selection of Header | diff --git a/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected b/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected index 3914ab37db4..d5380ed1e6e 100644 --- a/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected @@ -138,7 +138,7 @@ models | 35 | Sink: group:xmlpath; ; true; MustCompile; ; ; Argument[0]; xpath-injection; manual | | 36 | Source: net/http; Request; true; Form; ; ; ; remote; manual | | 37 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 38 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 38 | Summary: strings; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | nodes | XPathInjection.go:13:14:13:19 | selection of Form | semmle.label | selection of Form | | XPathInjection.go:13:14:13:35 | call to Get | semmle.label | call to Get | From 44e865114a5ed6c69b102393785aa56cde80fbf3 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 12 Nov 2024 11:37:07 +0000 Subject: [PATCH 3/5] Add change note --- .../change-notes/2024-11-12-models-as-data-subtypes-true.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md diff --git a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md new file mode 100644 index 00000000000..b1c78815ea3 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. From 574596946200e59d755d88c769c4a1a7c9003ae8 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Sat, 16 Nov 2024 19:34:23 +0000 Subject: [PATCH 4/5] Set subtypes=false when it has no meaning --- go/ql/lib/ext/archive.tar.model.yml | 4 +- go/ql/lib/ext/archive.zip.model.yml | 6 +- go/ql/lib/ext/bufio.model.yml | 16 ++-- go/ql/lib/ext/builtin.model.yml | 16 ++-- go/ql/lib/ext/bytes.model.yml | 76 +++++++++--------- go/ql/lib/ext/compress.bzip2.model.yml | 2 +- go/ql/lib/ext/compress.flate.model.yml | 4 +- go/ql/lib/ext/compress.gzip.model.yml | 2 +- go/ql/lib/ext/compress.lzw.model.yml | 2 +- go/ql/lib/ext/compress.zlib.model.yml | 4 +- go/ql/lib/ext/container.heap.model.yml | 6 +- go/ql/lib/ext/context.model.yml | 8 +- go/ql/lib/ext/crypto.rsa.model.yml | 4 +- go/ql/lib/ext/crypto.tls.model.yml | 6 +- go/ql/lib/ext/crypto.x509.model.yml | 2 +- go/ql/lib/ext/database.sql.model.yml | 2 +- go/ql/lib/ext/encoding.ascii85.model.yml | 4 +- go/ql/lib/ext/encoding.asn1.model.yml | 16 ++-- go/ql/lib/ext/encoding.base32.model.yml | 2 +- go/ql/lib/ext/encoding.base64.model.yml | 2 +- go/ql/lib/ext/encoding.binary.model.yml | 4 +- go/ql/lib/ext/encoding.csv.model.yml | 2 +- go/ql/lib/ext/encoding.gob.model.yml | 2 +- go/ql/lib/ext/encoding.hex.model.yml | 6 +- go/ql/lib/ext/encoding.json.model.yml | 14 ++-- go/ql/lib/ext/encoding.pem.model.yml | 6 +- go/ql/lib/ext/encoding.xml.model.yml | 16 ++-- go/ql/lib/ext/errors.model.yml | 6 +- go/ql/lib/ext/fmt.model.yml | 22 ++--- .../github.com.antchfx.htmlquery.model.yml | 8 +- .../github.com.antchfx.jsonquery.model.yml | 8 +- .../ext/github.com.antchfx.xmlquery.model.yml | 12 +-- .../ext/github.com.antchfx.xpath.model.yml | 8 +- ...ithub.com.beego.beego.core.utils.model.yml | 20 ++--- ...m.beego.beego.server.web.context.model.yml | 2 +- ...ithub.com.beego.beego.server.web.model.yml | 16 ++-- .../lib/ext/github.com.caarlos0.env.model.yml | 14 ++-- ...github.com.christrenkamp.goxpath.model.yml | 6 +- .../github.com.codeskyblue.go-sh.model.yml | 2 +- .../ext/github.com.couchbase.gocb.model.yml | 4 +- .../ext/github.com.cristalhq.jwt.model.yml | 2 +- .../ext/github.com.dgrijalva.jwt-go.model.yml | 14 ++-- .../github.com.evanphx.json-patch.model.yml | 8 +- go/ql/lib/ext/github.com.go-chi.chi.model.yml | 4 +- .../ext/github.com.go-chi.jwtauth.model.yml | 2 +- .../github.com.go-jose.go-jose.jwt.model.yml | 4 +- .../github.com.go-kit.kit.auth.jwt.model.yml | 2 +- .../github.com.go-xmlpath.xmlpath.model.yml | 4 +- .../ext/github.com.gobuffalo.envy.model.yml | 14 ++-- go/ql/lib/ext/github.com.gobwas.ws.model.yml | 4 +- .../ext/github.com.golang-jwt.jwt.model.yml | 18 ++--- ...github.com.golang.protobuf.proto.model.yml | 8 +- .../lib/ext/github.com.gorilla.mux.model.yml | 2 +- .../github.com.gorilla.websocket.model.yml | 2 +- ...github.com.hashicorp.go-envparse.model.yml | 2 +- .../ext/github.com.joho.godotenv.model.yml | 8 +- .../ext/github.com.json-iterator.go.model.yml | 4 +- ....com.kataras.iris.middleware.jwt.model.yml | 2 +- .../lib/ext/github.com.kataras.jwt.model.yml | 8 +- ...ub.com.kelseyhightower.envconfig.model.yml | 12 +-- .../github.com.lestrrat-go.jwx.jwk.model.yml | 2 +- .../ext/github.com.lestrrat-go.jwx.model.yml | 2 +- .../github.com.lestrrat.go-jwx.jwk.model.yml | 2 +- ...ithub.com.moovweb.gokogiri.xpath.model.yml | 2 +- ....com.santhosh-tekuri.xpathparser.model.yml | 4 +- ...endgrid.sendgrid-go.helpers.mail.model.yml | 2 +- .../ext/github.com.valyala.fasthttp.model.yml | 26 +++--- go/ql/lib/ext/go.uber.org.zap.model.yml | 22 ++--- .../ext/golang.org.x.net.context.model.yml | 8 +- go/ql/lib/ext/golang.org.x.net.html.model.yml | 18 ++--- ...google.golang.org.protobuf.proto.model.yml | 8 +- go/ql/lib/ext/gopkg.in.yaml.model.yml | 8 +- go/ql/lib/ext/html.model.yml | 4 +- go/ql/lib/ext/html.template.model.yml | 8 +- go/ql/lib/ext/io.fs.model.yml | 12 +-- go/ql/lib/ext/io.ioutil.model.yml | 16 ++-- go/ql/lib/ext/io.model.yml | 24 +++--- .../k8s.io.apimachinery.pkg.runtime.model.yml | 40 +++++----- go/ql/lib/ext/mime.model.yml | 4 +- go/ql/lib/ext/mime.multipart.model.yml | 2 +- go/ql/lib/ext/mime.quotedprintable.model.yml | 2 +- go/ql/lib/ext/net.http.httputil.model.yml | 12 +-- go/ql/lib/ext/net.http.model.yml | 20 ++--- go/ql/lib/ext/net.mail.model.yml | 6 +- go/ql/lib/ext/net.model.yml | 8 +- go/ql/lib/ext/net.textproto.model.yml | 10 +-- go/ql/lib/ext/net.url.model.yml | 18 ++--- go/ql/lib/ext/os.exec.model.yml | 4 +- go/ql/lib/ext/os.model.yml | 80 +++++++++---------- go/ql/lib/ext/path.filepath.model.yml | 26 +++--- go/ql/lib/ext/path.model.yml | 10 +-- go/ql/lib/ext/reflect.model.yml | 8 +- go/ql/lib/ext/regexp.model.yml | 16 ++-- go/ql/lib/ext/sort.model.yml | 2 +- go/ql/lib/ext/strconv.model.yml | 18 ++--- go/ql/lib/ext/strings.model.yml | 62 +++++++------- go/ql/lib/ext/sync.atomic.model.yml | 24 +++--- go/ql/lib/ext/syscall.model.yml | 24 +++--- go/ql/lib/ext/text.template.model.yml | 8 +- .../threat-models-flowtest1.ext.yml | 8 +- .../threat-models-flowtest2.ext.yml | 8 +- .../threat-models-flowtest3.ext.yml | 8 +- .../threat-models-flowtest4.ext.yml | 8 +- .../threat-models-flowtest5.ext.yml | 8 +- .../threat-models-flowtest6.ext.yml | 8 +- 105 files changed, 553 insertions(+), 553 deletions(-) diff --git a/go/ql/lib/ext/archive.tar.model.yml b/go/ql/lib/ext/archive.tar.model.yml index 82d4647323b..f1212e35c02 100644 --- a/go/ql/lib/ext/archive.tar.model.yml +++ b/go/ql/lib/ext/archive.tar.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["archive/tar", "", True, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["archive/tar", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["archive/tar", "", False, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/tar", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["archive/tar", "Header", True, "FileInfo", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["archive/tar", "Reader", True, "Next", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["archive/tar", "Writer", True, "WriteHeader", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/archive.zip.model.yml b/go/ql/lib/ext/archive.zip.model.yml index 4749d5433c9..17e2bb0bd78 100644 --- a/go/ql/lib/ext/archive.zip.model.yml +++ b/go/ql/lib/ext/archive.zip.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["archive/zip", "", True, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["archive/zip", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["archive/zip", "", True, "OpenReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/zip", "", False, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/zip", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["archive/zip", "", False, "OpenReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["archive/zip", "File", True, "Open", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["archive/zip", "File", True, "OpenRaw", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["archive/zip", "Writer", True, "Copy", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/bufio.model.yml b/go/ql/lib/ext/bufio.model.yml index 1a7cbb4742d..e9dd22e6686 100644 --- a/go/ql/lib/ext/bufio.model.yml +++ b/go/ql/lib/ext/bufio.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["bufio", "", True, "NewReadWriter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", True, "NewReaderSize", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", True, "NewScanner", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bufio", "", True, "ScanBytes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - - ["bufio", "", True, "ScanLines", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - - ["bufio", "", True, "ScanRunes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - - ["bufio", "", True, "ScanWords", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", False, "NewReadWriter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", False, "NewReaderSize", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", False, "NewScanner", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bufio", "", False, "ScanBytes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", False, "ScanLines", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", False, "ScanRunes", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] + - ["bufio", "", False, "ScanWords", "", "", "Argument[0]", "ReturnValue[1]", "taint", "manual"] - ["bufio", "Reader", True, "Peek", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["bufio", "Reader", True, "ReadBytes", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["bufio", "Reader", True, "ReadLine", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/builtin.model.yml b/go/ql/lib/ext/builtin.model.yml index 22f5ac39d84..816c89008a8 100644 --- a/go/ql/lib/ext/builtin.model.yml +++ b/go/ql/lib/ext/builtin.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["", "", True, "append", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... - - ["", "", True, "append", "", "", "Argument[0].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] - - ["", "", True, "append", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... - - ["", "", True, "append", "", "", "Argument[1].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] - - ["", "", True, "copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring - - ["", "", True, "copy", "", "", "Argument[1].ArrayElement", "Argument[0].ArrayElement", "value", "manual"] - - ["", "", True, "max", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] - - ["", "", True, "min", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] + - ["", "", False, "append", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... + - ["", "", False, "append", "", "", "Argument[0].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] + - ["", "", False, "append", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring and is followed by ... + - ["", "", False, "append", "", "", "Argument[1].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] + - ["", "", False, "copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] # special case for when arg[0] has core type []byte and second argument has core type bytestring + - ["", "", False, "copy", "", "", "Argument[1].ArrayElement", "Argument[0].ArrayElement", "value", "manual"] + - ["", "", False, "max", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] + - ["", "", False, "min", "", "", "Argument[0..1000]", "ReturnValue", "value", "manual"] diff --git a/go/ql/lib/ext/bytes.model.yml b/go/ql/lib/ext/bytes.model.yml index 03b4787e867..762d0ca16ee 100644 --- a/go/ql/lib/ext/bytes.model.yml +++ b/go/ql/lib/ext/bytes.model.yml @@ -3,44 +3,44 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["bytes", "", True, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Cut", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - - ["bytes", "", True, "CutPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["bytes", "", True, "CutSuffix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["bytes", "", True, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "NewBuffer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "NewBufferString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Runes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["bytes", "", True, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Cut", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["bytes", "", False, "CutPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["bytes", "", False, "CutSuffix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["bytes", "", False, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "NewBuffer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "NewBufferString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Runes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["bytes", "", False, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["bytes", "Buffer", True, "Bytes", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["bytes", "Buffer", True, "Next", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["bytes", "Buffer", True, "ReadBytes", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.bzip2.model.yml b/go/ql/lib/ext/compress.bzip2.model.yml index 4848caa1f69..38719037de1 100644 --- a/go/ql/lib/ext/compress.bzip2.model.yml +++ b/go/ql/lib/ext/compress.bzip2.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/bzip2", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/bzip2", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.flate.model.yml b/go/ql/lib/ext/compress.flate.model.yml index 7d5611782b2..5b36372c8c0 100644 --- a/go/ql/lib/ext/compress.flate.model.yml +++ b/go/ql/lib/ext/compress.flate.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/flate", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["compress/flate", "", True, "NewReaderDict", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/flate", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/flate", "", False, "NewReaderDict", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["compress/flate", "Resetter", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["compress/flate", "Writer", True, "Reset", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.gzip.model.yml b/go/ql/lib/ext/compress.gzip.model.yml index eb0f7562c6a..d3da545b448 100644 --- a/go/ql/lib/ext/compress.gzip.model.yml +++ b/go/ql/lib/ext/compress.gzip.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/gzip", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["compress/gzip", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["compress/gzip", "Reader", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["compress/gzip", "Writer", True, "Reset", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.lzw.model.yml b/go/ql/lib/ext/compress.lzw.model.yml index 46077643d8e..5db30e14ec3 100644 --- a/go/ql/lib/ext/compress.lzw.model.yml +++ b/go/ql/lib/ext/compress.lzw.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/lzw", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["compress/lzw", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/compress.zlib.model.yml b/go/ql/lib/ext/compress.zlib.model.yml index de73d4e849a..abd162c3392 100644 --- a/go/ql/lib/ext/compress.zlib.model.yml +++ b/go/ql/lib/ext/compress.zlib.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["compress/zlib", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["compress/zlib", "", True, "NewReaderDict", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["compress/zlib", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["compress/zlib", "", False, "NewReaderDict", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["compress/zlib", "Resetter", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["compress/zlib", "Writer", True, "Reset", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/container.heap.model.yml b/go/ql/lib/ext/container.heap.model.yml index 64501a41927..57aabd12ea2 100644 --- a/go/ql/lib/ext/container.heap.model.yml +++ b/go/ql/lib/ext/container.heap.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["container/heap", "", True, "Pop", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["container/heap", "", True, "Push", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["container/heap", "", True, "Remove", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["container/heap", "", False, "Pop", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["container/heap", "", False, "Push", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["container/heap", "", False, "Remove", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["container/heap", "Interface", True, "Pop", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["container/heap", "Interface", True, "Push", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/context.model.yml b/go/ql/lib/ext/context.model.yml index dc5cddecdc5..b71adeb6b3c 100644 --- a/go/ql/lib/ext/context.model.yml +++ b/go/ql/lib/ext/context.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["context", "", True, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["context", "", True, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["context", "", True, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["context", "", True, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] + - ["context", "", False, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["context", "", False, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["context", "", False, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["context", "", False, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] - ["context", "Context", True, "Value", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/crypto.rsa.model.yml b/go/ql/lib/ext/crypto.rsa.model.yml index 447fca7584f..851251973a6 100644 --- a/go/ql/lib/ext/crypto.rsa.model.yml +++ b/go/ql/lib/ext/crypto.rsa.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["crypto/rsa", "", True, "DecryptOAEP", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] - - ["crypto/rsa", "", True, "DecryptPKCS1v15", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] + - ["crypto/rsa", "", False, "DecryptOAEP", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] + - ["crypto/rsa", "", False, "DecryptPKCS1v15", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/crypto.tls.model.yml b/go/ql/lib/ext/crypto.tls.model.yml index 26f15eefb32..ecb4c885994 100644 --- a/go/ql/lib/ext/crypto.tls.model.yml +++ b/go/ql/lib/ext/crypto.tls.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["crypto/tls", "", True, "Client", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["crypto/tls", "", True, "NewListener", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["crypto/tls", "", True, "Server", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["crypto/tls", "", False, "Client", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["crypto/tls", "", False, "NewListener", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["crypto/tls", "", False, "Server", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/crypto.x509.model.yml b/go/ql/lib/ext/crypto.x509.model.yml index ee389de2db0..dd16777a75b 100644 --- a/go/ql/lib/ext/crypto.x509.model.yml +++ b/go/ql/lib/ext/crypto.x509.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["crypto/x509", "", True, "DecryptPEMBlock", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["crypto/x509", "", False, "DecryptPEMBlock", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/database.sql.model.yml b/go/ql/lib/ext/database.sql.model.yml index 9d4d31aa0d1..e1083f6e49a 100644 --- a/go/ql/lib/ext/database.sql.model.yml +++ b/go/ql/lib/ext/database.sql.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["database/sql", "", True, "Named", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["database/sql", "", False, "Named", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - ["database/sql", "Conn", True, "PrepareContext", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - ["database/sql", "DB", True, "Prepare", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["database/sql", "DB", True, "PrepareContext", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.ascii85.model.yml b/go/ql/lib/ext/encoding.ascii85.model.yml index cd4b2ae258b..51c15078176 100644 --- a/go/ql/lib/ext/encoding.ascii85.model.yml +++ b/go/ql/lib/ext/encoding.ascii85.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/ascii85", "", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/ascii85", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/ascii85", "", False, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/ascii85", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.asn1.model.yml b/go/ql/lib/ext/encoding.asn1.model.yml index e6443cadf1f..e0c08cc216e 100644 --- a/go/ql/lib/ext/encoding.asn1.model.yml +++ b/go/ql/lib/ext/encoding.asn1.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/asn1", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", True, "MarshalWithParams", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["encoding/asn1", "", True, "Unmarshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] - - ["encoding/asn1", "", True, "UnmarshalWithParams", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", False, "MarshalWithParams", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/asn1", "", False, "Unmarshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] + - ["encoding/asn1", "", False, "UnmarshalWithParams", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.base32.model.yml b/go/ql/lib/ext/encoding.base32.model.yml index 72830e6a581..5cabdb05a41 100644 --- a/go/ql/lib/ext/encoding.base32.model.yml +++ b/go/ql/lib/ext/encoding.base32.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/base32", "", True, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["encoding/base32", "", False, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - ["encoding/base32", "Encoding", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["encoding/base32", "Encoding", True, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.base64.model.yml b/go/ql/lib/ext/encoding.base64.model.yml index 81ff2247bfd..1e199c5f469 100644 --- a/go/ql/lib/ext/encoding.base64.model.yml +++ b/go/ql/lib/ext/encoding.base64.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/base64", "", True, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["encoding/base64", "", False, "NewDecoder", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - ["encoding/base64", "Encoding", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["encoding/base64", "Encoding", True, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.binary.model.yml b/go/ql/lib/ext/encoding.binary.model.yml index c6131f014d6..34705c1364e 100644 --- a/go/ql/lib/ext/encoding.binary.model.yml +++ b/go/ql/lib/ext/encoding.binary.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/binary", "", True, "Read", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] - - ["encoding/binary", "", True, "Write", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] + - ["encoding/binary", "", False, "Read", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["encoding/binary", "", False, "Write", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.csv.model.yml b/go/ql/lib/ext/encoding.csv.model.yml index 77f999798c4..2f2611ad83a 100644 --- a/go/ql/lib/ext/encoding.csv.model.yml +++ b/go/ql/lib/ext/encoding.csv.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/csv", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/csv", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["encoding/csv", "Reader", True, "Read", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["encoding/csv", "Reader", True, "ReadAll", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["encoding/csv", "Writer", True, "Write", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.gob.model.yml b/go/ql/lib/ext/encoding.gob.model.yml index da44e80b3e8..c7ce389bd1c 100644 --- a/go/ql/lib/ext/encoding.gob.model.yml +++ b/go/ql/lib/ext/encoding.gob.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/gob", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/gob", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["encoding/gob", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["encoding/gob", "Decoder", True, "DecodeValue", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["encoding/gob", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.hex.model.yml b/go/ql/lib/ext/encoding.hex.model.yml index a081018a3c5..2c9dbdac031 100644 --- a/go/ql/lib/ext/encoding.hex.model.yml +++ b/go/ql/lib/ext/encoding.hex.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/hex", "", True, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/hex", "", True, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/hex", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/hex", "", False, "Decode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/hex", "", False, "DecodeString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/hex", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.json.model.yml b/go/ql/lib/ext/encoding.json.model.yml index 40812ff815b..b820561fa95 100644 --- a/go/ql/lib/ext/encoding.json.model.yml +++ b/go/ql/lib/ext/encoding.json.model.yml @@ -3,13 +3,13 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/json", "", True, "Compact", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/json", "", True, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/json", "", True, "Indent", "", "", "Argument[1..3]", "Argument[0]", "taint", "manual"] - - ["encoding/json", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/json", "", True, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/json", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/json", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/json", "", False, "Compact", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/json", "", False, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/json", "", False, "Indent", "", "", "Argument[1..3]", "Argument[0]", "taint", "manual"] + - ["encoding/json", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/json", "", False, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/json", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/json", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["encoding/json", "Decoder", True, "Buffered", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["encoding/json", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["encoding/json", "Decoder", True, "Token", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.pem.model.yml b/go/ql/lib/ext/encoding.pem.model.yml index 5ad944c14ad..57c0f1fc662 100644 --- a/go/ql/lib/ext/encoding.pem.model.yml +++ b/go/ql/lib/ext/encoding.pem.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/pem", "", True, "Decode", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - - ["encoding/pem", "", True, "Encode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/pem", "", True, "EncodeToMemory", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/pem", "", False, "Decode", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["encoding/pem", "", False, "Encode", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/pem", "", False, "EncodeToMemory", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/encoding.xml.model.yml b/go/ql/lib/ext/encoding.xml.model.yml index f42878b4b45..40824a28c9e 100644 --- a/go/ql/lib/ext/encoding.xml.model.yml +++ b/go/ql/lib/ext/encoding.xml.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["encoding/xml", "", True, "CopyToken", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/xml", "", True, "Escape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/xml", "", True, "EscapeText", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["encoding/xml", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/xml", "", True, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] - - ["encoding/xml", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/xml", "", True, "NewTokenDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["encoding/xml", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["encoding/xml", "", False, "CopyToken", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/xml", "", False, "Escape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/xml", "", False, "EscapeText", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["encoding/xml", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/xml", "", False, "MarshalIndent", "", "", "Argument[0..2]", "ReturnValue[0]", "taint", "manual"] + - ["encoding/xml", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/xml", "", False, "NewTokenDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["encoding/xml", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["encoding/xml", "CharData", True, "Copy", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["encoding/xml", "Comment", True, "Copy", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["encoding/xml", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/errors.model.yml b/go/ql/lib/ext/errors.model.yml index 3ef4b4545bb..a94c8e558ff 100644 --- a/go/ql/lib/ext/errors.model.yml +++ b/go/ql/lib/ext/errors.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["errors", "", True, "As", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["errors", "", True, "New", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["errors", "", True, "Unwrap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["errors", "", False, "As", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["errors", "", False, "New", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["errors", "", False, "Unwrap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/fmt.model.yml b/go/ql/lib/ext/fmt.model.yml index 5234b509933..cad64ce0fdf 100644 --- a/go/ql/lib/ext/fmt.model.yml +++ b/go/ql/lib/ext/fmt.model.yml @@ -8,14 +8,14 @@ extensions: - ["fmt", "ScanState", True, "Token", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["fmt", "State", True, "Write", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["fmt", "Stringer", True, "String", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Append", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Append", "", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Appendf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Appendf", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Appendf", "", "", "Argument[2].ArrayElement", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Appendln", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Appendln", "", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Sprint", "", "", "Argument[0].ArrayElement", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Sprintf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Sprintf", "", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"] - - ["fmt", "", True, "Sprintln", "", "", "Argument[0].ArrayElement", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Append", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Append", "", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Appendf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Appendf", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Appendf", "", "", "Argument[2].ArrayElement", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Appendln", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Appendln", "", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Sprint", "", "", "Argument[0].ArrayElement", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Sprintf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Sprintf", "", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"] + - ["fmt", "", False, "Sprintln", "", "", "Argument[0].ArrayElement", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.antchfx.htmlquery.model.yml b/go/ql/lib/ext/github.com.antchfx.htmlquery.model.yml index f8481e58cb9..14402f65a8c 100644 --- a/go/ql/lib/ext/github.com.antchfx.htmlquery.model.yml +++ b/go/ql/lib/ext/github.com.antchfx.htmlquery.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/antchfx/htmlquery", "", True, "Find", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/htmlquery", "", True, "FindOne", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/htmlquery", "", True, "Query", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/htmlquery", "", True, "QueryAll", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/htmlquery", "", False, "Find", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/htmlquery", "", False, "FindOne", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/htmlquery", "", False, "Query", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/htmlquery", "", False, "QueryAll", "", "", "Argument[1]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.antchfx.jsonquery.model.yml b/go/ql/lib/ext/github.com.antchfx.jsonquery.model.yml index 436867a8ab5..f50bbff2ff4 100644 --- a/go/ql/lib/ext/github.com.antchfx.jsonquery.model.yml +++ b/go/ql/lib/ext/github.com.antchfx.jsonquery.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/antchfx/jsonquery", "", True, "Find", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/jsonquery", "", True, "FindOne", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/jsonquery", "", True, "Query", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/jsonquery", "", True, "QueryAll", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/jsonquery", "", False, "Find", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/jsonquery", "", False, "FindOne", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/jsonquery", "", False, "Query", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/jsonquery", "", False, "QueryAll", "", "", "Argument[1]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.antchfx.xmlquery.model.yml b/go/ql/lib/ext/github.com.antchfx.xmlquery.model.yml index 6da9327681d..5a9eec5af7e 100644 --- a/go/ql/lib/ext/github.com.antchfx.xmlquery.model.yml +++ b/go/ql/lib/ext/github.com.antchfx.xmlquery.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/antchfx/xmlquery", "", True, "Find", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/xmlquery", "", True, "FindOne", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/xmlquery", "", True, "FindEach", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/xmlquery", "", True, "FindEachWithBreak", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/xmlquery", "", True, "Query", "", "", "Argument[1]", "xpath-injection", "manual"] - - ["github.com/antchfx/xmlquery", "", True, "QueryAll", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xmlquery", "", False, "Find", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xmlquery", "", False, "FindOne", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xmlquery", "", False, "FindEach", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xmlquery", "", False, "FindEachWithBreak", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xmlquery", "", False, "Query", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xmlquery", "", False, "QueryAll", "", "", "Argument[1]", "xpath-injection", "manual"] - ["github.com/antchfx/xmlquery", "Node", True, "SelectElement", "", "", "Argument[0]", "xpath-injection", "manual"] - ["github.com/antchfx/xmlquery", "Node", True, "SelectElements", "", "", "Argument[0]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.antchfx.xpath.model.yml b/go/ql/lib/ext/github.com.antchfx.xpath.model.yml index dada694552f..bb087f381ad 100644 --- a/go/ql/lib/ext/github.com.antchfx.xpath.model.yml +++ b/go/ql/lib/ext/github.com.antchfx.xpath.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/antchfx/xpath", "", True, "Compile", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["github.com/antchfx/xpath", "", True, "CompileWithNS", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["github.com/antchfx/xpath", "", True, "MustCompile", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["github.com/antchfx/xpath", "", True, "Select", "", "", "Argument[1]", "xpath-injection", "manual"] + - ["github.com/antchfx/xpath", "", False, "Compile", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/antchfx/xpath", "", False, "CompileWithNS", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/antchfx/xpath", "", False, "MustCompile", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/antchfx/xpath", "", False, "Select", "", "", "Argument[1]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml b/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml index efcc6fd85d0..4eb0688e37e 100644 --- a/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.core.utils.model.yml @@ -10,16 +10,16 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:beego-utils", "", True, "SliceChunk", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceDiff", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceFilter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceIntersect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceMerge", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SlicePad", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceRand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceReduce", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceShuffle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego-utils", "", True, "SliceUnique", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceChunk", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceDiff", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceFilter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceIntersect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceMerge", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SlicePad", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceRand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceReduce", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceShuffle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego-utils", "", False, "SliceUnique", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["group:beego-utils", "BeeMap", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:beego-utils", "BeeMap", True, "Items", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:beego-utils", "BeeMap", True, "Set", "", "", "Argument[1]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml b/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml index 97b66e585e7..da59cc203df 100644 --- a/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.server.web.context.model.yml @@ -18,7 +18,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:beego-context", "", True, "WriteBody", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] + - ["group:beego-context", "", False, "WriteBody", "", "", "Argument[2]", "Argument[1]", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel diff --git a/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml b/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml index 6de91acfaf1..963000fffcc 100644 --- a/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml @@ -11,7 +11,7 @@ extensions: extensible: sinkModel data: # path-injection - - ["group:beego", "", True, "Walk", "", "", "Argument[1]", "path-injection", "manual"] + - ["group:beego", "", False, "Walk", "", "", "Argument[1]", "path-injection", "manual"] - ["group:beego", "Controller", True, "SaveToFile", "", "", "Argument[1]", "path-injection", "manual"] - ["group:beego", "Controller", True, "SaveToFileWithBuffer", "", "", "Argument[1]", "path-injection", "manual"] # only exists in v2 - ["group:beego", "FileSystem", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] @@ -21,13 +21,13 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:beego", "", True, "HTML2str", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", True, "Htmlquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", True, "Htmlunquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", True, "MapGet", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["group:beego", "", True, "ParseForm", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["group:beego", "", True, "Str2html", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:beego", "", True, "Substr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", False, "HTML2str", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", False, "Htmlquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", False, "Htmlunquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", False, "MapGet", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["group:beego", "", False, "ParseForm", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["group:beego", "", False, "Str2html", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:beego", "", False, "Substr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel diff --git a/go/ql/lib/ext/github.com.caarlos0.env.model.yml b/go/ql/lib/ext/github.com.caarlos0.env.model.yml index cf5bbc1d055..42f6380c3fa 100644 --- a/go/ql/lib/ext/github.com.caarlos0.env.model.yml +++ b/go/ql/lib/ext/github.com.caarlos0.env.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/caarlos0/env", "", True, "Parse", "", "", "Argument[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", True, "ParseAs", "", "", "ReturnValue[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", True, "ParseAsWithOptions", "", "", "ReturnValue[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", True, "ParseWithFuncs", "", "", "Argument[0]", "environment", "manual"] - - ["github.com/caarlos0/env", "", True, "ParseWithOptions", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "Parse", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "ParseAs", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "ParseAsWithOptions", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "ParseWithFuncs", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "ParseWithOptions", "", "", "Argument[0]", "environment", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/caarlos0/env", "", True, "Must", "", "", "Argument[0]", "ReturnValue", "value", "manual"] - - ["github.com/caarlos0/env", "", True, "ToMap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["github.com/caarlos0/env", "", False, "Must", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - ["github.com/caarlos0/env", "", False, "ToMap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.christrenkamp.goxpath.model.yml b/go/ql/lib/ext/github.com.christrenkamp.goxpath.model.yml index 6e527dd5d68..f5a4aeefb13 100644 --- a/go/ql/lib/ext/github.com.christrenkamp.goxpath.model.yml +++ b/go/ql/lib/ext/github.com.christrenkamp.goxpath.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/ChrisTrenkamp/goxpath", "", True, "MustParse", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["github.com/ChrisTrenkamp/goxpath", "", True, "Parse", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["github.com/ChrisTrenkamp/goxpath", "", True, "ParseExec", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/ChrisTrenkamp/goxpath", "", False, "MustParse", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/ChrisTrenkamp/goxpath", "", False, "Parse", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/ChrisTrenkamp/goxpath", "", False, "ParseExec", "", "", "Argument[0]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml b/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml index 2b6d9da1b38..fab0d5915ae 100644 --- a/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml +++ b/go/ql/lib/ext/github.com.codeskyblue.go-sh.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/codeskyblue/go-sh", "", True, "Command", "", "", "Argument[0]", "command-injection", "manual"] + - ["github.com/codeskyblue/go-sh", "", False, "Command", "", "", "Argument[0]", "command-injection", "manual"] - ["github.com/codeskyblue/go-sh", "Session", True, "Call", "", "", "Argument[0]", "command-injection", "manual"] - ["github.com/codeskyblue/go-sh", "Session", True, "Command", "", "", "Argument[0]", "command-injection", "manual"] - ["github.com/codeskyblue/go-sh", "Session", True, "Exec", "", "", "Argument[0]", "command-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.couchbase.gocb.model.yml b/go/ql/lib/ext/github.com.couchbase.gocb.model.yml index 71b11d26882..ff0a4c22c8d 100644 --- a/go/ql/lib/ext/github.com.couchbase.gocb.model.yml +++ b/go/ql/lib/ext/github.com.couchbase.gocb.model.yml @@ -10,8 +10,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:gocb", "", True, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "", True, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:gocb", "", False, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:gocb", "", False, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["group:gocb", "AnalyticsQuery", True, "ContextId", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:gocb", "AnalyticsQuery", True, "Deferred", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["group:gocb", "AnalyticsQuery", True, "Pretty", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.cristalhq.jwt.model.yml b/go/ql/lib/ext/github.com.cristalhq.jwt.model.yml index b4d2d3299a4..cdf84d23292 100644 --- a/go/ql/lib/ext/github.com.cristalhq.jwt.model.yml +++ b/go/ql/lib/ext/github.com.cristalhq.jwt.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/cristalhq/jwt", "", True, "NewSignerHS", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/cristalhq/jwt", "", False, "NewSignerHS", "", "", "Argument[1]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.dgrijalva.jwt-go.model.yml b/go/ql/lib/ext/github.com.dgrijalva.jwt-go.model.yml index 04db1290669..90b62a800db 100644 --- a/go/ql/lib/ext/github.com.dgrijalva.jwt-go.model.yml +++ b/go/ql/lib/ext/github.com.dgrijalva.jwt-go.model.yml @@ -10,12 +10,12 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/dgrijalva/jwt-go", "", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["github.com/dgrijalva/jwt-go", "Parser", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/dgrijalva/jwt-go", "", True, "ParseWithClaims", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "ParseWithClaims", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["github.com/dgrijalva/jwt-go", "Parser", True, "ParseWithClaims", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/dgrijalva/jwt-go", "", True, "ParseECPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/dgrijalva/jwt-go", "", True, "ParseECPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/dgrijalva/jwt-go", "", True, "ParseRSAPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/dgrijalva/jwt-go", "", True, "ParseRSAPrivateKeyFromPEMWithPassword", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/dgrijalva/jwt-go", "", True, "ParseRSAPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "ParseECPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "ParseECPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "ParseRSAPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "ParseRSAPrivateKeyFromPEMWithPassword", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/dgrijalva/jwt-go", "", False, "ParseRSAPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml b/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml index 56649f8dc7f..4824f521e4e 100644 --- a/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml +++ b/go/ql/lib/ext/github.com.evanphx.json-patch.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/evanphx/json-patch", "", True, "CreateMergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/evanphx/json-patch", "", True, "DecodePatch", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/evanphx/json-patch", "", True, "MergeMergePatches", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/evanphx/json-patch", "", True, "MergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", False, "CreateMergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", False, "DecodePatch", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", False, "MergeMergePatches", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/evanphx/json-patch", "", False, "MergePatch", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - ["github.com/evanphx/json-patch", "Patch", True, "Apply", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["github.com/evanphx/json-patch", "Patch", True, "Apply", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["github.com/evanphx/json-patch", "Patch", True, "ApplyIndent", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.go-chi.chi.model.yml b/go/ql/lib/ext/github.com.go-chi.chi.model.yml index 10cb0333aff..c24e7ab2b4a 100644 --- a/go/ql/lib/ext/github.com.go-chi.chi.model.yml +++ b/go/ql/lib/ext/github.com.go-chi.chi.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/go-chi/chi", "", True, "URLParam", "", "", "ReturnValue", "remote", "manual"] - - ["github.com/go-chi/chi", "", True, "URLParamFromCtx", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/go-chi/chi", "", False, "URLParam", "", "", "ReturnValue", "remote", "manual"] + - ["github.com/go-chi/chi", "", False, "URLParamFromCtx", "", "", "ReturnValue", "remote", "manual"] - ["github.com/go-chi/chi", "Context", True, "URLParam", "", "", "ReturnValue", "remote", "manual"] diff --git a/go/ql/lib/ext/github.com.go-chi.jwtauth.model.yml b/go/ql/lib/ext/github.com.go-chi.jwtauth.model.yml index eb9e54f171c..7cfb1ff80f5 100644 --- a/go/ql/lib/ext/github.com.go-chi.jwtauth.model.yml +++ b/go/ql/lib/ext/github.com.go-chi.jwtauth.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/go-chi/jwtauth", "", True, "New", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/go-chi/jwtauth", "", False, "New", "", "", "Argument[1]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.go-jose.go-jose.jwt.model.yml b/go/ql/lib/ext/github.com.go-jose.go-jose.jwt.model.yml index 33c9957a66b..ba06d21a93e 100644 --- a/go/ql/lib/ext/github.com.go-jose.go-jose.jwt.model.yml +++ b/go/ql/lib/ext/github.com.go-jose.go-jose.jwt.model.yml @@ -16,7 +16,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["group:go-jose/jwt", "", True, "ParseEncrypted", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["group:go-jose/jwt", "", True, "ParseSigned", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["group:go-jose/jwt", "", False, "ParseEncrypted", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["group:go-jose/jwt", "", False, "ParseSigned", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["group:go-jose/jwt", "NestedJSONWebToken", True, "ParseSignedAndEncrypted", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["group:go-jose/jwt", "NestedJSONWebToken", True, "Decrypt", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.go-kit.kit.auth.jwt.model.yml b/go/ql/lib/ext/github.com.go-kit.kit.auth.jwt.model.yml index 9ed0791dc54..7a9da5bd4b0 100644 --- a/go/ql/lib/ext/github.com.go-kit.kit.auth.jwt.model.yml +++ b/go/ql/lib/ext/github.com.go-kit.kit.auth.jwt.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/go-kit/kit/auth/jwt", "", True, "NewSigner", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/go-kit/kit/auth/jwt", "", False, "NewSigner", "", "", "Argument[1]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.go-xmlpath.xmlpath.model.yml b/go/ql/lib/ext/github.com.go-xmlpath.xmlpath.model.yml index bd002dd25c9..931e65f1832 100644 --- a/go/ql/lib/ext/github.com.go-xmlpath.xmlpath.model.yml +++ b/go/ql/lib/ext/github.com.go-xmlpath.xmlpath.model.yml @@ -14,5 +14,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["group:xmlpath", "", True, "Compile", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["group:xmlpath", "", True, "MustCompile", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["group:xmlpath", "", False, "Compile", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["group:xmlpath", "", False, "MustCompile", "", "", "Argument[0]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml b/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml index a47dbca9599..1d0d890560d 100644 --- a/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml +++ b/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/gobuffalo/envy", "", True, "Environ", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", True, "Get", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", True, "GoBin", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", True, "GoPath", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", True, "GoPaths", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", True, "Map", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", True, "MustGet", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "Get", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "GoBin", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "GoPath", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "GoPaths", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "Map", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "MustGet", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.gobwas.ws.model.yml b/go/ql/lib/ext/github.com.gobwas.ws.model.yml index bb03c8220c8..fcaaee08d91 100644 --- a/go/ql/lib/ext/github.com.gobwas.ws.model.yml +++ b/go/ql/lib/ext/github.com.gobwas.ws.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/gobwas/ws", "", True, "ReadFrame", "", "", "ReturnValue[0]", "remote", "manual"] - - ["github.com/gobwas/ws", "", True, "ReadHeader", "", "", "ReturnValue[0]", "remote", "manual"] + - ["github.com/gobwas/ws", "", False, "ReadFrame", "", "", "ReturnValue[0]", "remote", "manual"] + - ["github.com/gobwas/ws", "", False, "ReadHeader", "", "", "ReturnValue[0]", "remote", "manual"] diff --git a/go/ql/lib/ext/github.com.golang-jwt.jwt.model.yml b/go/ql/lib/ext/github.com.golang-jwt.jwt.model.yml index 3f6eaac89b6..494c9470999 100644 --- a/go/ql/lib/ext/github.com.golang-jwt.jwt.model.yml +++ b/go/ql/lib/ext/github.com.golang-jwt.jwt.model.yml @@ -10,14 +10,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/golang-jwt/jwt", "", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["github.com/golang-jwt/jwt", "Parser", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseWithClaims", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseWithClaims", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["github.com/golang-jwt/jwt", "Parser", True, "ParseWithClaims", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseECPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseECPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseEdPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseEdPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseRSAPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "ParseRSAPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang-jwt/jwt", "", True, "RegisterSigningMethod", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseECPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseECPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseEdPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseEdPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseRSAPrivateKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "ParseRSAPublicKeyFromPEM", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang-jwt/jwt", "", False, "RegisterSigningMethod", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml b/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml index 6daf9851e7d..8513d119816 100644 --- a/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml +++ b/go/ql/lib/ext/github.com.golang.protobuf.proto.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/golang/protobuf/proto", "", True, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["github.com/golang/protobuf/proto", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["github.com/golang/protobuf/proto", "", True, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["github.com/golang/protobuf/proto", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", False, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["github.com/golang/protobuf/proto", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.gorilla.mux.model.yml b/go/ql/lib/ext/github.com.gorilla.mux.model.yml index 438abdf559a..b97fc4d2c1d 100644 --- a/go/ql/lib/ext/github.com.gorilla.mux.model.yml +++ b/go/ql/lib/ext/github.com.gorilla.mux.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/gorilla/mux", "", True, "Vars", "", "", "ReturnValue", "remote", "manual"] # TODO: when sources can have access paths, use .MapValue (and .MapKey?) + - ["github.com/gorilla/mux", "", False, "Vars", "", "", "ReturnValue", "remote", "manual"] # TODO: when sources can have access paths, use .MapValue (and .MapKey?) diff --git a/go/ql/lib/ext/github.com.gorilla.websocket.model.yml b/go/ql/lib/ext/github.com.gorilla.websocket.model.yml index a4dafa18b0b..3f03bba8a48 100644 --- a/go/ql/lib/ext/github.com.gorilla.websocket.model.yml +++ b/go/ql/lib/ext/github.com.gorilla.websocket.model.yml @@ -3,6 +3,6 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/gorilla/websocket", "", True, "ReadJSON", "", "", "Argument[1]", "remote", "manual"] + - ["github.com/gorilla/websocket", "", False, "ReadJSON", "", "", "Argument[1]", "remote", "manual"] - ["github.com/gorilla/websocket", "Conn", True, "ReadJSON", "", "", "Argument[0]", "remote", "manual"] - ["github.com/gorilla/websocket", "Conn", True, "ReadMessage", "", "", "ReturnValue[1]", "remote", "manual"] diff --git a/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml b/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml index bd1303887ac..73a178fbdcc 100644 --- a/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml +++ b/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/hashicorp/go-envparse", "", True, "Parse", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/hashicorp/go-envparse", "", False, "Parse", "", "", "ReturnValue", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.joho.godotenv.model.yml b/go/ql/lib/ext/github.com.joho.godotenv.model.yml index 8221901f1cf..8bd62c5dd0b 100644 --- a/go/ql/lib/ext/github.com.joho.godotenv.model.yml +++ b/go/ql/lib/ext/github.com.joho.godotenv.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/joho/godotenv", "", True, "Parse", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/joho/godotenv", "", True, "Read", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/joho/godotenv", "", True, "Unmarshal", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/joho/godotenv", "", True, "UnmarshalBytes", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", False, "Parse", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", False, "Read", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", False, "Unmarshal", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", False, "UnmarshalBytes", "", "", "ReturnValue", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.json-iterator.go.model.yml b/go/ql/lib/ext/github.com.json-iterator.go.model.yml index f72ec191e06..bf974a17109 100644 --- a/go/ql/lib/ext/github.com.json-iterator.go.model.yml +++ b/go/ql/lib/ext/github.com.json-iterator.go.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/json-iterator/go", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["github.com/json-iterator/go", "", True, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["github.com/json-iterator/go", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["github.com/json-iterator/go", "", False, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["github.com/json-iterator/go", "API", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["github.com/json-iterator/go", "API", True, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.kataras.iris.middleware.jwt.model.yml b/go/ql/lib/ext/github.com.kataras.iris.middleware.jwt.model.yml index 52e7beacaab..5bcce412fd4 100644 --- a/go/ql/lib/ext/github.com.kataras.iris.middleware.jwt.model.yml +++ b/go/ql/lib/ext/github.com.kataras.iris.middleware.jwt.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/kataras/iris/middleware/jwt", "", True, "NewSigner", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/kataras/iris/middleware/jwt", "", False, "NewSigner", "", "", "Argument[1]", "credentials-key", "manual"] - ["github.com/kataras/iris/middleware/jwt", "Signer", True, "Key", "", "", "", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.kataras.jwt.model.yml b/go/ql/lib/ext/github.com.kataras.jwt.model.yml index ab87a747175..3ecb1e0e577 100644 --- a/go/ql/lib/ext/github.com.kataras.jwt.model.yml +++ b/go/ql/lib/ext/github.com.kataras.jwt.model.yml @@ -4,7 +4,7 @@ extensions: extensible: sinkModel data: - ["github.com/kataras/jwt", "Keys", True, "Register", "", "", "Argument[3]", "credentials-key", "manual"] - - ["github.com/kataras/jwt", "", True, "Sign", "", "", "Argument[1]", "credentials-key", "manual"] - - ["github.com/kataras/jwt", "", True, "SignEncrypted", "", "", "Argument[1]", "credentials-key", "manual"] - - ["github.com/kataras/jwt", "", True, "SignEncryptedWithHeader", "", "", "Argument[1]", "credentials-key", "manual"] - - ["github.com/kataras/jwt", "", True, "SignWithHeader", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/kataras/jwt", "", False, "Sign", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/kataras/jwt", "", False, "SignEncrypted", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/kataras/jwt", "", False, "SignEncryptedWithHeader", "", "", "Argument[1]", "credentials-key", "manual"] + - ["github.com/kataras/jwt", "", False, "SignWithHeader", "", "", "Argument[1]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml b/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml index 84b2cfc1fc0..3b1ba531849 100644 --- a/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml +++ b/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/kelseyhightower/envconfig", "", True, "CheckDisallowed", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", True, "MustProcess", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", True, "Process", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", True, "Usage", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", True, "Usagef", "", "", "Argument[1]", "environment", "manual"] - - ["github.com/kelseyhightower/envconfig", "", True, "Usaget", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "CheckDisallowed", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "MustProcess", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "Process", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "Usage", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "Usagef", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "Usaget", "", "", "Argument[1]", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.lestrrat-go.jwx.jwk.model.yml b/go/ql/lib/ext/github.com.lestrrat-go.jwx.jwk.model.yml index c395430db40..ed2b3f31053 100644 --- a/go/ql/lib/ext/github.com.lestrrat-go.jwx.jwk.model.yml +++ b/go/ql/lib/ext/github.com.lestrrat-go.jwx.jwk.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/lestrrat-go/jwx/jwk", "", True, "New", "", "", "Argument[0]", "credentials-key", "manual"] + - ["github.com/lestrrat-go/jwx/jwk", "", False, "New", "", "", "Argument[0]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.lestrrat-go.jwx.model.yml b/go/ql/lib/ext/github.com.lestrrat-go.jwx.model.yml index 14a5cdd7482..78162bf4855 100644 --- a/go/ql/lib/ext/github.com.lestrrat-go.jwx.model.yml +++ b/go/ql/lib/ext/github.com.lestrrat-go.jwx.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/lestrrat-go/jwx", "", True, "New", "", "", "Argument[0]", "credentials-key", "manual"] + - ["github.com/lestrrat-go/jwx", "", False, "New", "", "", "Argument[0]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.lestrrat.go-jwx.jwk.model.yml b/go/ql/lib/ext/github.com.lestrrat.go-jwx.jwk.model.yml index f194e1ec93c..e4d7fe43de6 100644 --- a/go/ql/lib/ext/github.com.lestrrat.go-jwx.jwk.model.yml +++ b/go/ql/lib/ext/github.com.lestrrat.go-jwx.jwk.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/lestrrat/go-jwx/jwk", "", True, "New", "", "", "Argument[0]", "credentials-key", "manual"] + - ["github.com/lestrrat/go-jwx/jwk", "", False, "New", "", "", "Argument[0]", "credentials-key", "manual"] diff --git a/go/ql/lib/ext/github.com.moovweb.gokogiri.xpath.model.yml b/go/ql/lib/ext/github.com.moovweb.gokogiri.xpath.model.yml index 4bac7eb1c18..144f34e9dfc 100644 --- a/go/ql/lib/ext/github.com.moovweb.gokogiri.xpath.model.yml +++ b/go/ql/lib/ext/github.com.moovweb.gokogiri.xpath.model.yml @@ -9,4 +9,4 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["group:gokogiri/xpath", "", True, "Compile", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["group:gokogiri/xpath", "", False, "Compile", "", "", "Argument[0]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.santhosh-tekuri.xpathparser.model.yml b/go/ql/lib/ext/github.com.santhosh-tekuri.xpathparser.model.yml index 8ac0e02cedf..b99bedf38cc 100644 --- a/go/ql/lib/ext/github.com.santhosh-tekuri.xpathparser.model.yml +++ b/go/ql/lib/ext/github.com.santhosh-tekuri.xpathparser.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["github.com/santhosh-tekuri/xpathparser", "", True, "Parse", "", "", "Argument[0]", "xpath-injection", "manual"] - - ["github.com/santhosh-tekuri/xpathparser", "", True, "MustParse", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/santhosh-tekuri/xpathparser", "", False, "Parse", "", "", "Argument[0]", "xpath-injection", "manual"] + - ["github.com/santhosh-tekuri/xpathparser", "", False, "MustParse", "", "", "Argument[0]", "xpath-injection", "manual"] diff --git a/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml b/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml index a84acc2624e..ce8ac14ccfa 100644 --- a/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml +++ b/go/ql/lib/ext/github.com.sendgrid.sendgrid-go.helpers.mail.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["github.com/sendgrid/sendgrid-go/helpers/mail", "", True, "NewContent", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["github.com/sendgrid/sendgrid-go/helpers/mail", "", False, "NewContent", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml b/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml index 92ef0132a33..57382527628 100644 --- a/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml +++ b/go/ql/lib/ext/github.com.valyala.fasthttp.model.yml @@ -4,14 +4,14 @@ extensions: extensible: sinkModel data: # request-forgery - - ["github.com/valyala/fasthttp", "", True, "Get", "", "", "Argument[1]", "request-forgery", "manual"] - - ["github.com/valyala/fasthttp", "", True, "GetDeadline", "", "", "Argument[1]", "request-forgery", "manual"] - - ["github.com/valyala/fasthttp", "", True, "GetTimeout", "", "", "Argument[1]", "request-forgery", "manual"] - - ["github.com/valyala/fasthttp", "", True, "Post", "", "", "Argument[1]", "request-forgery", "manual"] - - ["github.com/valyala/fasthttp", "", True, "Dial", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] - - ["github.com/valyala/fasthttp", "", True, "DialDualStack", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] - - ["github.com/valyala/fasthttp", "", True, "DialDualStackTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] - - ["github.com/valyala/fasthttp", "", True, "DialTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] + - ["github.com/valyala/fasthttp", "", False, "Get", "", "", "Argument[1]", "request-forgery", "manual"] + - ["github.com/valyala/fasthttp", "", False, "GetDeadline", "", "", "Argument[1]", "request-forgery", "manual"] + - ["github.com/valyala/fasthttp", "", False, "GetTimeout", "", "", "Argument[1]", "request-forgery", "manual"] + - ["github.com/valyala/fasthttp", "", False, "Post", "", "", "Argument[1]", "request-forgery", "manual"] + - ["github.com/valyala/fasthttp", "", False, "Dial", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] + - ["github.com/valyala/fasthttp", "", False, "DialDualStack", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] + - ["github.com/valyala/fasthttp", "", False, "DialDualStackTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] + - ["github.com/valyala/fasthttp", "", False, "DialTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] - ["github.com/valyala/fasthttp", "Client", True, "Get", "", "", "Argument[1]", "request-forgery", "manual"] - ["github.com/valyala/fasthttp", "Client", True, "GetDeadline", "", "", "Argument[1]", "request-forgery", "manual"] - ["github.com/valyala/fasthttp", "Client", True, "GetTimeout", "", "", "Argument[1]", "request-forgery", "manual"] @@ -30,11 +30,11 @@ extensions: - ["github.com/valyala/fasthttp", "TCPDialer", True, "DialDualStackTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] - ["github.com/valyala/fasthttp", "TCPDialer", True, "DialTimeout", "", "", "Argument[0]", "request-forgery[TCP Addr + Port]", "manual"] # path-injection - - ["github.com/valyala/fasthttp", "", True, "SaveMultipartFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", True, "ServeFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", True, "ServeFileBytes", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", True, "ServeFileBytesUncompressed", "", "", "Argument[1]", "path-injection", "manual"] - - ["github.com/valyala/fasthttp", "", True, "ServeFileUncompressed", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", False, "SaveMultipartFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", False, "ServeFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", False, "ServeFileBytes", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", False, "ServeFileBytesUncompressed", "", "", "Argument[1]", "path-injection", "manual"] + - ["github.com/valyala/fasthttp", "", False, "ServeFileUncompressed", "", "", "Argument[1]", "path-injection", "manual"] - ["github.com/valyala/fasthttp", "RequestCtx", True, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] - ["github.com/valyala/fasthttp", "RequestCtx", True, "SendFileBytes", "", "", "Argument[0]", "path-injection", "manual"] - ["github.com/valyala/fasthttp", "Response", True, "SendFile", "", "", "Argument[0]", "path-injection", "manual"] diff --git a/go/ql/lib/ext/go.uber.org.zap.model.yml b/go/ql/lib/ext/go.uber.org.zap.model.yml index 7d5b2cb231d..2ca7f7e8a80 100644 --- a/go/ql/lib/ext/go.uber.org.zap.model.yml +++ b/go/ql/lib/ext/go.uber.org.zap.model.yml @@ -3,14 +3,14 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["go.uber.org/zap", "", True, "Any", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "Binary", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "ByteString", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "ByteStrings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "Error", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "Errors", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "NamedError", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "Reflect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "String", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "Stringp", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["go.uber.org/zap", "", True, "Strings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Any", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Binary", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "ByteString", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "ByteStrings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Error", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Errors", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "NamedError", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Reflect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "String", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Stringp", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["go.uber.org/zap", "", False, "Strings", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/golang.org.x.net.context.model.yml b/go/ql/lib/ext/golang.org.x.net.context.model.yml index d1036f56d29..873de75761f 100644 --- a/go/ql/lib/ext/golang.org.x.net.context.model.yml +++ b/go/ql/lib/ext/golang.org.x.net.context.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["golang.org/x/net/context", "", True, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/context", "", True, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/context", "", True, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/context", "", True, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/context", "", False, "WithCancel", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/context", "", False, "WithDeadline", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/context", "", False, "WithTimeout", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/context", "", False, "WithValue", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"] - ["golang.org/x/net/context", "Context", True, "Value", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/golang.org.x.net.html.model.yml b/go/ql/lib/ext/golang.org.x.net.html.model.yml index d6be3e28a3a..5633e8b3b40 100644 --- a/go/ql/lib/ext/golang.org.x.net.html.model.yml +++ b/go/ql/lib/ext/golang.org.x.net.html.model.yml @@ -3,15 +3,15 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["golang.org/x/net/html", "", True, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "NewTokenizer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "NewTokenizerFragment", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "ParseFragment", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "ParseFragmentWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "ParseWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "Render", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["golang.org/x/net/html", "", True, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "NewTokenizer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "NewTokenizerFragment", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "ParseFragment", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "ParseFragmentWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "ParseWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "Render", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["golang.org/x/net/html", "", False, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["golang.org/x/net/html", "Node", True, "AppendChild", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["golang.org/x/net/html", "Node", True, "InsertBefore", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["golang.org/x/net/html", "Tokenizer", True, "Buffered", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml b/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml index 5f25f73381d..98855937256 100644 --- a/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml +++ b/go/ql/lib/ext/google.golang.org.protobuf.proto.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["google.golang.org/protobuf/proto", "", True, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["google.golang.org/protobuf/proto", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["google.golang.org/protobuf/proto", "", True, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["google.golang.org/protobuf/proto", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", False, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["google.golang.org/protobuf/proto", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - ["google.golang.org/protobuf/proto", "MarshalOptions", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["google.golang.org/protobuf/proto", "MarshalOptions", True, "MarshalAppend", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["google.golang.org/protobuf/proto", "MarshalOptions", True, "MarshalAppend", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/gopkg.in.yaml.model.yml b/go/ql/lib/ext/gopkg.in.yaml.model.yml index 23af4bb12fe..34b973e6719 100644 --- a/go/ql/lib/ext/gopkg.in.yaml.model.yml +++ b/go/ql/lib/ext/gopkg.in.yaml.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["gopkg.in/yaml", "", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["gopkg.in/yaml", "", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["gopkg.in/yaml", "", True, "UnmarshalStrict", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["gopkg.in/yaml", "", True, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["gopkg.in/yaml", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["gopkg.in/yaml", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["gopkg.in/yaml", "", False, "UnmarshalStrict", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["gopkg.in/yaml", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["gopkg.in/yaml", "Decoder", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["gopkg.in/yaml", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["gopkg.in/yaml", "Node", True, "Decode", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/html.model.yml b/go/ql/lib/ext/html.model.yml index 34003fb231f..24d4e70152c 100644 --- a/go/ql/lib/ext/html.model.yml +++ b/go/ql/lib/ext/html.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["html", "", True, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["html", "", True, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html", "", False, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html", "", False, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/html.template.model.yml b/go/ql/lib/ext/html.template.model.yml index 120ee2b304b..0ee840c4eae 100644 --- a/go/ql/lib/ext/html.template.model.yml +++ b/go/ql/lib/ext/html.template.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["html/template", "", True, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["html/template", "", True, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["html/template", "", True, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["html/template", "", True, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html/template", "", False, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["html/template", "", False, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["html/template", "", False, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["html/template", "", False, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["html/template", "Template", True, "Execute", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["html/template", "Template", True, "ExecuteTemplate", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/io.fs.model.yml b/go/ql/lib/ext/io.fs.model.yml index 9e9ae4f97a1..1b9be01aba9 100644 --- a/go/ql/lib/ext/io.fs.model.yml +++ b/go/ql/lib/ext/io.fs.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["io/fs", "", True, "FileInfoToDirEntry", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io/fs", "", True, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io/fs", "", True, "ReadDir", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io/fs", "", True, "ReadFile", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io/fs", "", True, "Sub", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", False, "FileInfoToDirEntry", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io/fs", "", False, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", False, "ReadDir", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", False, "ReadFile", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/fs", "", False, "Sub", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "DirEntry", True, "Info", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "DirEntry", True, "Name", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["io/fs", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] @@ -20,6 +20,6 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["io/fs", "", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["io/fs", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - ["io/fs", "ReadFileFS", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - ["io/fs", "FS", True, "Open", "", "", "ReturnValue[0]", "file", "manual"] diff --git a/go/ql/lib/ext/io.ioutil.model.yml b/go/ql/lib/ext/io.ioutil.model.yml index 592e45fd9fe..d5fae77c1d4 100644 --- a/go/ql/lib/ext/io.ioutil.model.yml +++ b/go/ql/lib/ext/io.ioutil.model.yml @@ -3,19 +3,19 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["io/ioutil", "", True, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] - - ["io/ioutil", "", True, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["io/ioutil", "", True, "TempDir", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["io/ioutil", "", True, "TempFile", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["io/ioutil", "", True, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["io/ioutil", "", False, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] + - ["io/ioutil", "", False, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["io/ioutil", "", False, "TempDir", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["io/ioutil", "", False, "TempFile", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["io/ioutil", "", False, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["io/ioutil", "", True, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io/ioutil", "", True, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io/ioutil", "", False, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io/ioutil", "", False, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel data: - - ["io/ioutil", "", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["io/ioutil", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] diff --git a/go/ql/lib/ext/io.model.yml b/go/ql/lib/ext/io.model.yml index 40256276ea8..d9c7190026d 100644 --- a/go/ql/lib/ext/io.model.yml +++ b/go/ql/lib/ext/io.model.yml @@ -3,18 +3,18 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["io", "", True, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["io", "", True, "CopyBuffer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["io", "", True, "CopyN", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["io", "", True, "LimitReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", True, "NewSectionReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", True, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", True, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["io", "", True, "ReadAtLeast", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["io", "", True, "ReadFull", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["io", "", True, "TeeReader", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["io", "", True, "TeeReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["io", "", True, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", False, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", False, "CopyBuffer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", False, "CopyN", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["io", "", False, "LimitReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", False, "NewSectionReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", False, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", False, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["io", "", False, "ReadAtLeast", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["io", "", False, "ReadFull", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["io", "", False, "TeeReader", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["io", "", False, "TeeReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["io", "", False, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["io", "Reader", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["io", "ReaderAt", True, "ReadAt", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["io", "ReaderFrom", True, "ReadFrom", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml b/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml index f964e1afd42..e960b741ac7 100644 --- a/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml +++ b/go/ql/lib/ext/k8s.io.apimachinery.pkg.runtime.model.yml @@ -3,26 +3,26 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_int", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_Slice_string_To_string", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_runtime_Object_To_runtime_RawExtension", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_runtime_RawExtension_To_runtime_Object", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Convert_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Decode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "DecodeInto", "", "", "Argument[1]", "Argument[2]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "DeepCopyJSON", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "DeepCopyJSONValue", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Encode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "EncodeOrDie", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "Field", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "FieldPtr", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "NewEncodable", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "NewEncodableList", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "SetField", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] - - ["k8s.io/apimachinery/pkg/runtime", "", True, "UseOrCreateObject", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_int", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_Slice_string_To_string", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_runtime_Object_To_runtime_RawExtension", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_runtime_RawExtension_To_runtime_Object", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Convert_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Decode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "DecodeInto", "", "", "Argument[1]", "Argument[2]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "DeepCopyJSON", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "DeepCopyJSONValue", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Encode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "EncodeOrDie", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "Field", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "FieldPtr", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "NewEncodable", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "NewEncodableList", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "SetField", "", "", "Argument[0]", "Argument[1]", "taint", "manual"] + - ["k8s.io/apimachinery/pkg/runtime", "", False, "UseOrCreateObject", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"] - ["k8s.io/apimachinery/pkg/runtime", "CacheableObject", True, "CacheEncode", "", "", "Argument[receiver]", "Argument[2]", "taint", "manual"] - ["k8s.io/apimachinery/pkg/runtime", "CacheableObject", True, "GetObject", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["k8s.io/apimachinery/pkg/runtime", "Decoder", True, "Decode", "", "", "Argument[0]", "Argument[2]", "taint", "manual"] diff --git a/go/ql/lib/ext/mime.model.yml b/go/ql/lib/ext/mime.model.yml index b8f81894cd7..9027905423f 100644 --- a/go/ql/lib/ext/mime.model.yml +++ b/go/ql/lib/ext/mime.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["mime", "", True, "FormatMediaType", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["mime", "", True, "ParseMediaType", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["mime", "", False, "FormatMediaType", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["mime", "", False, "ParseMediaType", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - ["mime", "WordDecoder", True, "Decode", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["mime", "WordDecoder", True, "DecodeHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["mime", "WordEncoder", True, "Encode", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/mime.multipart.model.yml b/go/ql/lib/ext/mime.multipart.model.yml index 96e7072f611..410eac26af6 100644 --- a/go/ql/lib/ext/mime.multipart.model.yml +++ b/go/ql/lib/ext/mime.multipart.model.yml @@ -3,7 +3,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["mime/multipart", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["mime/multipart", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["mime/multipart", "FileHeader", True, "Open", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["mime/multipart", "Part", True, "FileName", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["mime/multipart", "Part", True, "FormName", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/mime.quotedprintable.model.yml b/go/ql/lib/ext/mime.quotedprintable.model.yml index aaf78da2641..7ac77332727 100644 --- a/go/ql/lib/ext/mime.quotedprintable.model.yml +++ b/go/ql/lib/ext/mime.quotedprintable.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["mime/quotedprintable", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["mime/quotedprintable", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/net.http.httputil.model.yml b/go/ql/lib/ext/net.http.httputil.model.yml index 7ddd5f31152..783322b36ae 100644 --- a/go/ql/lib/ext/net.http.httputil.model.yml +++ b/go/ql/lib/ext/net.http.httputil.model.yml @@ -3,12 +3,12 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/http/httputil", "", True, "DumpRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http/httputil", "", True, "DumpRequestOut", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http/httputil", "", True, "DumpResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http/httputil", "", True, "NewChunkedReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/http/httputil", "", True, "NewClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["net/http/httputil", "", True, "NewProxyClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net/http/httputil", "", False, "DumpRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http/httputil", "", False, "DumpRequestOut", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http/httputil", "", False, "DumpResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http/httputil", "", False, "NewChunkedReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/http/httputil", "", False, "NewClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net/http/httputil", "", False, "NewProxyClientConn", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - ["net/http/httputil", "BufferPool", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/http/httputil", "BufferPool", True, "Put", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["net/http/httputil", "ClientConn", True, "Hijack", "", "", "Argument[receiver]", "ReturnValue[0..1]", "taint", "manual"] diff --git a/go/ql/lib/ext/net.http.model.yml b/go/ql/lib/ext/net.http.model.yml index 0cebf9bfffc..2bf417cf8f3 100644 --- a/go/ql/lib/ext/net.http.model.yml +++ b/go/ql/lib/ext/net.http.model.yml @@ -4,21 +4,21 @@ extensions: extensible: sinkModel data: # path-injection - - ["net/http", "", True, "ServeFile", "", "", "Argument[2]", "path-injection", "manual"] + - ["net/http", "", False, "ServeFile", "", "", "Argument[2]", "path-injection", "manual"] # url-redirection - - ["net/http", "", True, "Redirect", "", "", "Argument[2]", "url-redirection[0]", "manual"] + - ["net/http", "", False, "Redirect", "", "", "Argument[2]", "url-redirection[0]", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["net/http", "", True, "CanonicalHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/http", "", True, "Error", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["net/http", "", True, "MaxBytesReader", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["net/http", "", True, "NewRequest", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", True, "NewRequestWithContext", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", True, "ReadRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", True, "ReadResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/http", "", True, "SetCookie", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["net/http", "", False, "CanonicalHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/http", "", False, "Error", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["net/http", "", False, "MaxBytesReader", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["net/http", "", False, "NewRequest", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", False, "NewRequestWithContext", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", False, "ReadRequest", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", False, "ReadResponse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/http", "", False, "SetCookie", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["net/http", "Header", True, "Add", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] - ["net/http", "Header", True, "Clone", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/http", "Header", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/net.mail.model.yml b/go/ql/lib/ext/net.mail.model.yml index 07532f365ff..0bb4ef1884b 100644 --- a/go/ql/lib/ext/net.mail.model.yml +++ b/go/ql/lib/ext/net.mail.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/mail", "", True, "ParseAddress", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/mail", "", True, "ParseAddressList", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/mail", "", True, "ReadMessage", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/mail", "", False, "ParseAddress", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/mail", "", False, "ParseAddressList", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/mail", "", False, "ReadMessage", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["net/mail", "AddressParser", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["net/mail", "AddressParser", True, "ParseList", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["net/mail", "Header", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/net.model.yml b/go/ql/lib/ext/net.model.yml index 231f8f850db..0922b5b31d6 100644 --- a/go/ql/lib/ext/net.model.yml +++ b/go/ql/lib/ext/net.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net", "", True, "FileConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net", "", True, "FilePacketConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net", "", True, "JoinHostPort", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["net", "", True, "SplitHostPort", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["net", "", False, "FileConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net", "", False, "FilePacketConn", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net", "", False, "JoinHostPort", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net", "", False, "SplitHostPort", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - ["net", "IPConn", True, "ReadFromIP", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["net", "IPConn", True, "ReadMsgIP", "", "", "Argument[receiver]", "Argument[0..1]", "taint", "manual"] - ["net", "IPConn", True, "WriteMsgIP", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/net.textproto.model.yml b/go/ql/lib/ext/net.textproto.model.yml index 4e2e25c71bd..63a9da4497a 100644 --- a/go/ql/lib/ext/net.textproto.model.yml +++ b/go/ql/lib/ext/net.textproto.model.yml @@ -3,11 +3,11 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/textproto", "", True, "CanonicalMIMEHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", True, "NewConn", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", True, "TrimBytes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/textproto", "", True, "TrimString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", False, "CanonicalMIMEHeaderKey", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", False, "NewConn", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", False, "TrimBytes", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/textproto", "", False, "TrimString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["net/textproto", "MIMEHeader", True, "Add", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] - ["net/textproto", "MIMEHeader", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/textproto", "MIMEHeader", True, "Set", "", "", "Argument[0..1]", "Argument[receiver]", "taint", "manual"] diff --git a/go/ql/lib/ext/net.url.model.yml b/go/ql/lib/ext/net.url.model.yml index fe615f4bd1c..0b48aa2352c 100644 --- a/go/ql/lib/ext/net.url.model.yml +++ b/go/ql/lib/ext/net.url.model.yml @@ -3,15 +3,15 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["net/url", "", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", True, "ParseQuery", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", True, "ParseRequestURI", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", True, "PathEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/url", "", True, "PathUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", True, "QueryEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/url", "", True, "QueryUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["net/url", "", True, "User", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["net/url", "", True, "UserPassword", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["net/url", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", False, "ParseQuery", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", False, "ParseRequestURI", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", False, "PathEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/url", "", False, "PathUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", False, "QueryEscape", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/url", "", False, "QueryUnescape", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["net/url", "", False, "User", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["net/url", "", False, "UserPassword", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - ["net/url", "URL", True, "EscapedPath", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/url", "URL", True, "Hostname", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["net/url", "URL", True, "MarshalBinary", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/os.exec.model.yml b/go/ql/lib/ext/os.exec.model.yml index 7ac1d3e20ad..6b3a80c372c 100644 --- a/go/ql/lib/ext/os.exec.model.yml +++ b/go/ql/lib/ext/os.exec.model.yml @@ -3,5 +3,5 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["os/exec", "", True, "Command", "", "", "Argument[0]", "command-injection", "manual"] - - ["os/exec", "", True, "CommandContext", "", "", "Argument[1]", "command-injection", "manual"] + - ["os/exec", "", False, "Command", "", "", "Argument[0]", "command-injection", "manual"] + - ["os/exec", "", False, "CommandContext", "", "", "Argument[1]", "command-injection", "manual"] diff --git a/go/ql/lib/ext/os.model.yml b/go/ql/lib/ext/os.model.yml index 16c1d68cf3b..3d87eefe43f 100644 --- a/go/ql/lib/ext/os.model.yml +++ b/go/ql/lib/ext/os.model.yml @@ -4,41 +4,41 @@ extensions: extensible: sinkModel data: # path-injection - - ["os", "", True, "Chdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Chmod", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Chown", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Chtimes", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Create", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Lchown", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Link", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", True, "Lstat", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "NewFile", "", "", "Argument[1]", "path-injection", "manual"] - - ["os", "", True, "Open", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Readlink", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Remove", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Rename", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", True, "Stat", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "Symlink", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", True, "Truncate", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "DirFS", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] - - ["os", "", True, "MkdirTemp", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", True, "CreateTemp", "", "", "Argument[0..1]", "path-injection", "manual"] - - ["os", "", True, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Chdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Chmod", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Chown", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Chtimes", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Create", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Lchown", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Link", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", False, "Lstat", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "NewFile", "", "", "Argument[1]", "path-injection", "manual"] + - ["os", "", False, "Open", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Readlink", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Rename", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", False, "Stat", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "Symlink", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", False, "Truncate", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "DirFS", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"] + - ["os", "", False, "MkdirTemp", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", False, "CreateTemp", "", "", "Argument[0..1]", "path-injection", "manual"] + - ["os", "", False, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"] # command-injection - - ["os", "", True, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] + - ["os", "", False, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["os", "", True, "Expand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["os", "", True, "ExpandEnv", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["os", "", True, "NewFile", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["os", "", False, "Expand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["os", "", False, "ExpandEnv", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["os", "", False, "NewFile", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["os", "File", True, "Fd", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["os", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["os", "File", True, "ReadAt", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] @@ -46,13 +46,13 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["os", "", True, "Environ", "", "", "ReturnValue", "environment", "manual"] # TODO: when sources can have access paths, use .ArrayElement - - ["os", "", True, "ExpandEnv", "", "", "ReturnValue", "environment", "manual"] - - ["os", "", True, "Getenv", "", "", "ReturnValue", "environment", "manual"] - - ["os", "", True, "LookupEnv", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "", True, "Open", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", True, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", True, "UserCacheDir", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "", True, "UserConfigDir", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "", True, "UserHomeDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["os", "", False, "ExpandEnv", "", "", "ReturnValue", "environment", "manual"] + - ["os", "", False, "Getenv", "", "", "ReturnValue", "environment", "manual"] + - ["os", "", False, "LookupEnv", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", False, "Open", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", False, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", False, "UserCacheDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", False, "UserConfigDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", False, "UserHomeDir", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/ext/path.filepath.model.yml b/go/ql/lib/ext/path.filepath.model.yml index e997b2dcead..15bcb7d386d 100644 --- a/go/ql/lib/ext/path.filepath.model.yml +++ b/go/ql/lib/ext/path.filepath.model.yml @@ -3,16 +3,16 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["path/filepath", "", True, "Abs", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", True, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "EvalSymlinks", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", True, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "FromSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", True, "Rel", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] - - ["path/filepath", "", True, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] - - ["path/filepath", "", True, "SplitList", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "ToSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path/filepath", "", True, "VolumeName", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "Abs", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", False, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "EvalSymlinks", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", False, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "FromSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "Glob", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", False, "Rel", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"] + - ["path/filepath", "", False, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["path/filepath", "", False, "SplitList", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "ToSlash", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path/filepath", "", False, "VolumeName", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/path.model.yml b/go/ql/lib/ext/path.model.yml index 945aa8d741b..5a494b24d7c 100644 --- a/go/ql/lib/ext/path.model.yml +++ b/go/ql/lib/ext/path.model.yml @@ -3,8 +3,8 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["path", "", True, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", True, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", True, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", True, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["path", "", True, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] + - ["path", "", False, "Base", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", False, "Clean", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", False, "Dir", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", False, "Ext", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["path", "", False, "Split", "", "", "Argument[0]", "ReturnValue[0..1]", "taint", "manual"] diff --git a/go/ql/lib/ext/reflect.model.yml b/go/ql/lib/ext/reflect.model.yml index 19c76216186..75b207f73a0 100644 --- a/go/ql/lib/ext/reflect.model.yml +++ b/go/ql/lib/ext/reflect.model.yml @@ -3,10 +3,10 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["reflect", "", True, "AppendSlice", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["reflect", "", True, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["reflect", "", True, "Indirect", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["reflect", "", True, "ValueOf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["reflect", "", False, "AppendSlice", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["reflect", "", False, "Copy", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["reflect", "", False, "Indirect", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["reflect", "", False, "ValueOf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["reflect", "MapIter", True, "Key", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["reflect", "MapIter", True, "Value", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["reflect", "StructTag", True, "Get", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/regexp.model.yml b/go/ql/lib/ext/regexp.model.yml index c5a7ba001b2..427d708b12e 100644 --- a/go/ql/lib/ext/regexp.model.yml +++ b/go/ql/lib/ext/regexp.model.yml @@ -3,13 +3,13 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["regexp", "", True, "Compile", "", "", "Argument[0]", "regex-use[c]", "manual"] - - ["regexp", "", True, "CompilePOSIX", "", "", "Argument[0]", "regex-use[c]", "manual"] - - ["regexp", "", True, "MustCompile", "", "", "Argument[0]", "regex-use[c]", "manual"] - - ["regexp", "", True, "MustCompilePOSIX", "", "", "Argument[0]", "regex-use[c]", "manual"] - - ["regexp", "", True, "Match", "", "", "Argument[0]", "regex-use[1]", "manual"] - - ["regexp", "", True, "MatchReader", "", "", "Argument[0]", "regex-use[1]", "manual"] - - ["regexp", "", True, "MatchString", "", "", "Argument[0]", "regex-use[1]", "manual"] + - ["regexp", "", False, "Compile", "", "", "Argument[0]", "regex-use[c]", "manual"] + - ["regexp", "", False, "CompilePOSIX", "", "", "Argument[0]", "regex-use[c]", "manual"] + - ["regexp", "", False, "MustCompile", "", "", "Argument[0]", "regex-use[c]", "manual"] + - ["regexp", "", False, "MustCompilePOSIX", "", "", "Argument[0]", "regex-use[c]", "manual"] + - ["regexp", "", False, "Match", "", "", "Argument[0]", "regex-use[1]", "manual"] + - ["regexp", "", False, "MatchReader", "", "", "Argument[0]", "regex-use[1]", "manual"] + - ["regexp", "", False, "MatchString", "", "", "Argument[0]", "regex-use[1]", "manual"] - ["regexp", "Regexp", True, "Match", "", "", "Argument[receiver]", "regex-use[0]", "manual"] - ["regexp", "Regexp", True, "MatchReader", "", "", "Argument[receiver]", "regex-use[0]", "manual"] - ["regexp", "Regexp", True, "MatchString", "", "", "Argument[receiver]", "regex-use[0]", "manual"] @@ -17,7 +17,7 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["regexp", "", True, "QuoteMeta", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["regexp", "", False, "QuoteMeta", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["regexp", "Regexp", True, "Expand", "", "", "Argument[1..2]", "Argument[0]", "taint", "manual"] - ["regexp", "Regexp", True, "Expand", "", "", "Argument[1..2]", "ReturnValue", "taint", "manual"] - ["regexp", "Regexp", True, "ExpandString", "", "", "Argument[1..2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/sort.model.yml b/go/ql/lib/ext/sort.model.yml index 132b81728df..36d0070de66 100644 --- a/go/ql/lib/ext/sort.model.yml +++ b/go/ql/lib/ext/sort.model.yml @@ -3,4 +3,4 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["sort", "", True, "Reverse", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sort", "", False, "Reverse", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/strconv.model.yml b/go/ql/lib/ext/strconv.model.yml index 50df3745c96..65203b12106 100644 --- a/go/ql/lib/ext/strconv.model.yml +++ b/go/ql/lib/ext/strconv.model.yml @@ -3,12 +3,12 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["strconv", "", True, "AppendQuote", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strconv", "", True, "AppendQuoteToASCII", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strconv", "", True, "AppendQuoteToGraphic", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strconv", "", True, "Quote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strconv", "", True, "QuoteToASCII", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strconv", "", True, "QuoteToGraphic", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strconv", "", True, "QuotedPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["strconv", "", True, "Unquote", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["strconv", "", True, "UnquoteChar", "", "", "Argument[0]", "ReturnValue[2]", "taint", "manual"] + - ["strconv", "", False, "AppendQuote", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strconv", "", False, "AppendQuoteToASCII", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strconv", "", False, "AppendQuoteToGraphic", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strconv", "", False, "Quote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strconv", "", False, "QuoteToASCII", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strconv", "", False, "QuoteToGraphic", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strconv", "", False, "QuotedPrefix", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["strconv", "", False, "Unquote", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["strconv", "", False, "UnquoteChar", "", "", "Argument[0]", "ReturnValue[2]", "taint", "manual"] diff --git a/go/ql/lib/ext/strings.model.yml b/go/ql/lib/ext/strings.model.yml index 5fcf4b43e96..01015b31517 100644 --- a/go/ql/lib/ext/strings.model.yml +++ b/go/ql/lib/ext/strings.model.yml @@ -3,37 +3,37 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["strings", "", True, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["strings", "", True, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Fields", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "FieldsFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Map", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Repeat", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Replace", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ReplaceAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ReplaceAll", "", "", "Argument[2]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "SplitAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "SplitAfterN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "SplitN", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Title", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToLower", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToLowerSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToTitle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToTitleSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToUpper", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToUpperSpecial", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "ToValidUTF8", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "Trim", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimLeft", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimLeftFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimPrefix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimRight", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimRightFunc", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimSpace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["strings", "", False, "TrimSuffix", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["strings", "Reader", True, "Reset", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["strings", "Replacer", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["strings", "Replacer", True, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/lib/ext/sync.atomic.model.yml b/go/ql/lib/ext/sync.atomic.model.yml index 66e1556b199..1dd7d995566 100644 --- a/go/ql/lib/ext/sync.atomic.model.yml +++ b/go/ql/lib/ext/sync.atomic.model.yml @@ -3,18 +3,18 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["sync/atomic", "", True, "AddUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "AddUintptr", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", True, "CompareAndSwapPointer", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "CompareAndSwapUintptr", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "LoadPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", True, "LoadUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", True, "StorePointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "StoreUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "SwapPointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "SwapPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["sync/atomic", "", True, "SwapUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["sync/atomic", "", True, "SwapUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", False, "AddUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "AddUintptr", "", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", False, "CompareAndSwapPointer", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "CompareAndSwapUintptr", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "LoadPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", False, "LoadUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", False, "StorePointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "StoreUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "SwapPointer", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "SwapPointer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["sync/atomic", "", False, "SwapUintptr", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["sync/atomic", "", False, "SwapUintptr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["sync/atomic", "Pointer", True, "Load", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - ["sync/atomic", "Pointer", True, "Store", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] - ["sync/atomic", "Pointer", True, "Swap", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/syscall.model.yml b/go/ql/lib/ext/syscall.model.yml index 23617b1cd52..948cca3e298 100644 --- a/go/ql/lib/ext/syscall.model.yml +++ b/go/ql/lib/ext/syscall.model.yml @@ -3,20 +3,20 @@ extensions: pack: codeql/go-all extensible: sinkModel data: - - ["syscall", "", True, "Exec", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", True, "ForkExec", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", True, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", True, "CreateProcess", "", "", "Argument[0]", "command-injection", "manual"] - - ["syscall", "", True, "CreateProcessAsUser", "", "", "Argument[1]", "command-injection", "manual"] + - ["syscall", "", False, "Exec", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", False, "ForkExec", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", False, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", False, "CreateProcess", "", "", "Argument[0]", "command-injection", "manual"] + - ["syscall", "", False, "CreateProcessAsUser", "", "", "Argument[1]", "command-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["syscall", "", True, "BytePtrFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["syscall", "", True, "ByteSliceFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - - ["syscall", "", True, "StringBytePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["syscall", "", True, "StringByteSlice", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["syscall", "", True, "StringSlicePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["syscall", "", False, "BytePtrFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["syscall", "", False, "ByteSliceFromString", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - ["syscall", "", False, "StringBytePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["syscall", "", False, "StringByteSlice", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["syscall", "", False, "StringSlicePtr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["syscall", "Conn", True, "SyscallConn", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["syscall", "RawConn", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["syscall", "RawConn", True, "Write", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] @@ -24,5 +24,5 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["syscall", "", True, "Environ", "", "", "ReturnValue", "environment", "manual"] - - ["syscall", "", True, "Getenv", "", "", "ReturnValue[0]", "environment", "manual"] + - ["syscall", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] + - ["syscall", "", False, "Getenv", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/lib/ext/text.template.model.yml b/go/ql/lib/ext/text.template.model.yml index b12fea65133..669af3a8854 100644 --- a/go/ql/lib/ext/text.template.model.yml +++ b/go/ql/lib/ext/text.template.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/go-all extensible: summaryModel data: - - ["text/template", "", True, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["text/template", "", True, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["text/template", "", True, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - - ["text/template", "", True, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["text/template", "", False, "HTMLEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["text/template", "", False, "HTMLEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["text/template", "", False, "JSEscape", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - ["text/template", "", False, "JSEscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["text/template", "Template", True, "Execute", "", "", "Argument[1]", "Argument[0]", "taint", "manual"] - ["text/template", "Template", True, "ExecuteTemplate", "", "", "Argument[2]", "Argument[0]", "taint", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml index 9bcf0cb83ad..e64313916ce 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest1.ext.yml @@ -9,7 +9,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml index 100989327aa..fe7569e9600 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.ext.yml @@ -10,7 +10,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml index 18904b1761c..bb7762a5467 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.ext.yml @@ -10,7 +10,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml index 340050b6bc0..4754b0ef1f5 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.ext.yml @@ -10,7 +10,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml index 12bd819ac3b..713491d492e 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.ext.yml @@ -11,7 +11,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml index 7c9aa3d7f5d..cc5a7847fd8 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.ext.yml @@ -11,7 +11,7 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["github.com/nonexistent/sources", "", True, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] - - ["github.com/nonexistent/sources", "", True, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCustom", "", "", "ReturnValue", "custom", "manual"] - - ["github.com/nonexistent/sources", "", True, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] + - ["github.com/nonexistent/sources", "", False, "ExecuteQuery", "", "", "ReturnValue", "database", "manual"] + - ["github.com/nonexistent/sources", "", False, "ReadEnvironment", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCustom", "", "", "ReturnValue", "custom", "manual"] + - ["github.com/nonexistent/sources", "", False, "GetCliArg", "", "", "ReturnValue", "commandargs", "manual"] From 06b72e57826c257b2460a74f858cae7e6893c4dc Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Sat, 16 Nov 2024 19:44:32 +0000 Subject: [PATCH 5/5] Update models in test expectation files --- .../DecompressionBombs.expected | 6 +-- .../experimental/CWE-74/DsnInjection.expected | 2 +- .../CWE-74/DsnInjectionLocal.expected | 2 +- .../HTMLTemplateEscapingPassthrough.expected | 2 +- go/ql/test/experimental/CWE-918/SSRF.expected | 12 ++--- .../go/dataflow/HiddenNodes/test.expected | 2 +- .../threat-models-flowtest2.expected | 2 +- .../threat-models-flowtest3.expected | 6 +-- .../threat-models-flowtest4.expected | 8 +-- .../threat-models-flowtest5.expected | 4 +- .../threat-models-flowtest6.expected | 4 +- .../go/frameworks/Beego/ReflectedXss.expected | 34 ++++++------ .../go/frameworks/Beego/TaintedPath.expected | 4 +- .../go/frameworks/Chi/ReflectedXss.expected | 4 +- .../go/frameworks/Echo/ReflectedXss.expected | 2 +- .../go/frameworks/Encoding/jsoniter.expected | 6 +-- .../go/frameworks/Gin/TaintedPath.expected | 2 +- .../frameworks/Gorestful/gorestful.expected | 2 +- .../go/frameworks/Revel/TaintedPath.expected | 2 +- .../frameworks/Twirp/RequestForgery.expected | 4 +- .../frameworks/XNetHtml/ReflectedXss.expected | 14 ++--- .../frameworks/XNetHtml/SqlInjection.expected | 2 +- .../UnhandledCloseWritableHandle.expected | 2 +- .../IncompleteHostnameRegexp.expected | 4 +- .../Security/CWE-022/TaintedPath.expected | 4 +- .../CWE-022/UnsafeUnzipSymlink.expected | 2 +- .../Security/CWE-022/ZipSlip.expected | 10 ++-- .../CWE-078/CommandInjection.expected | 10 ++-- .../Security/CWE-078/StoredCommand.expected | 2 +- .../Security/CWE-079/ReflectedXss.expected | 8 +-- .../Security/CWE-089/SqlInjection.expected | 6 +-- .../Security/CWE-089/StringBreak.expected | 2 +- .../CWE-190/AllocationSizeOverflow.expected | 2 +- .../Security/CWE-327/UnsafeTLS.expected | 6 +-- .../InsecureRandomness.expected | 4 +- .../CWE-347/MissingJwtSignatureCheck.expected | 2 +- .../BadRedirectCheck.expected | 4 +- .../OpenUrlRedirect/OpenUrlRedirect.expected | 2 +- .../Security/CWE-640/EmailInjection.expected | 4 +- .../Security/CWE-643/XPathInjection.expected | 54 +++++++++---------- 40 files changed, 127 insertions(+), 127 deletions(-) diff --git a/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected b/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected index 29cca270972..34703cdeef4 100644 --- a/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected +++ b/go/ql/test/experimental/CWE-522-DecompressionBombs/DecompressionBombs.expected @@ -233,10 +233,10 @@ edges models | 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | | 2 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | -| 3 | Summary: archive/tar; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: archive/tar; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | | 4 | Summary: archive/zip; File; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | -| 5 | Summary: bytes; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | -| 6 | Summary: io; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 5 | Summary: bytes; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 6 | Summary: io; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | nodes | test.go:59:16:59:44 | call to FormValue | semmle.label | call to FormValue | | test.go:60:15:60:26 | selection of Body | semmle.label | selection of Body | diff --git a/go/ql/test/experimental/CWE-74/DsnInjection.expected b/go/ql/test/experimental/CWE-74/DsnInjection.expected index d92ad49a606..e1f66aa1413 100644 --- a/go/ql/test/experimental/CWE-74/DsnInjection.expected +++ b/go/ql/test/experimental/CWE-74/DsnInjection.expected @@ -8,7 +8,7 @@ edges | Dsn.go:49:102:49:105 | name | Dsn.go:49:11:49:106 | call to Sprintf | provenance | FunctionModel | models | 1 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | -| 2 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 2 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | nodes | Dsn.go:47:10:47:30 | call to FormValue | semmle.label | call to FormValue | | Dsn.go:49:11:49:106 | []type{args} [array] | semmle.label | []type{args} [array] | diff --git a/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected b/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected index 7b433794a6c..ff83f06ebb2 100644 --- a/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected +++ b/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected @@ -22,7 +22,7 @@ edges | Dsn.go:67:102:67:108 | selection of dsn | Dsn.go:67:11:67:109 | []type{args} [array] | provenance | | | Dsn.go:67:102:67:108 | selection of dsn | Dsn.go:67:11:67:109 | call to Sprintf | provenance | FunctionModel | models -| 1 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 1 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | nodes | Dsn.go:26:11:26:17 | selection of Args | semmle.label | selection of Args | | Dsn.go:28:11:28:110 | []type{args} [array] | semmle.label | []type{args} [array] | diff --git a/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected b/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected index 93d5d1d24ad..c91fe813e9f 100644 --- a/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected +++ b/go/ql/test/experimental/CWE-79/HTMLTemplateEscapingPassthrough.expected @@ -35,7 +35,7 @@ edges | HTMLTemplateEscapingPassthrough.go:91:64:91:66 | src | HTMLTemplateEscapingPassthrough.go:91:38:91:67 | call to HTMLEscapeString | provenance | MaD:2 | models | 1 | Source: net/http; Request; true; UserAgent; ; ; ReturnValue; remote; manual | -| 2 | Summary: html/template; ; true; HTMLEscapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: html/template; ; false; HTMLEscapeString; ; ; Argument[0]; ReturnValue; taint; manual | nodes | HTMLTemplateEscapingPassthrough.go:29:12:29:41 | type conversion | semmle.label | type conversion | | HTMLTemplateEscapingPassthrough.go:29:26:29:40 | call to UserAgent | semmle.label | call to UserAgent | diff --git a/go/ql/test/experimental/CWE-918/SSRF.expected b/go/ql/test/experimental/CWE-918/SSRF.expected index 6e2e9a394cc..87780085a54 100644 --- a/go/ql/test/experimental/CWE-918/SSRF.expected +++ b/go/ql/test/experimental/CWE-918/SSRF.expected @@ -63,18 +63,18 @@ models | 1 | Source: github.com/gin-gonic/gin; Context; true; Param; ; ; ReturnValue; remote; manual | | 2 | Source: github.com/gin-gonic/gin; Context; true; Query; ; ; ReturnValue; remote; manual | | 3 | Source: github.com/gin-gonic/gin; Context; true; ShouldBindJSON; ; ; Argument[0]; remote; manual | -| 4 | Source: github.com/go-chi/chi; ; true; URLParam; ; ; ReturnValue; remote; manual | -| 5 | Source: github.com/gorilla/mux; ; true; Vars; ; ; ReturnValue; remote; manual | +| 4 | Source: github.com/go-chi/chi; ; false; URLParam; ; ; ReturnValue; remote; manual | +| 5 | Source: github.com/gorilla/mux; ; false; Vars; ; ; ReturnValue; remote; manual | | 6 | Source: net/http; Request; true; Body; ; ; ; remote; manual | | 7 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | | 8 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | | 9 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 10 | Summary: encoding/json; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 11 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 12 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 10 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 11 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 12 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 13 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 14 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 15 | Summary: strings; ; true; TrimPrefix; ; ; Argument[0]; ReturnValue; taint; manual | +| 15 | Summary: strings; ; false; TrimPrefix; ; ; Argument[0]; ReturnValue; taint; manual | nodes | builtin.go:19:12:19:34 | call to FormValue | semmle.label | call to FormValue | | builtin.go:22:21:22:62 | ...+... | semmle.label | ...+... | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected b/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected index 0a6930c8c2e..13aa3515962 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/HiddenNodes/test.expected @@ -1,5 +1,5 @@ models -| 1 | Summary: archive/tar; ; true; FileInfoHeader; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 1 | Summary: archive/tar; ; false; FileInfoHeader; ; ; Argument[0]; ReturnValue[0]; taint; manual | edges | test.go:14:8:14:15 | call to source | test.go:15:34:15:35 | fi | provenance | | | test.go:15:2:15:44 | ... := ...[0] | test.go:16:7:16:12 | header | provenance | | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected index bc4cbe638fe..cf59efbb6ac 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest2.expected @@ -1,5 +1,5 @@ models -| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | +| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 3 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 4 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected index 644ab61c9c0..c3138596ac2 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest3.expected @@ -1,7 +1,7 @@ models -| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | -| 2 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | -| 3 | Source: github.com/nonexistent/sources; ; true; ReadEnvironment; ; ; ReturnValue; environment; manual | +| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | +| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 3 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual | | 4 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 5 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 6 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected index e28ad58f2ea..37db602757c 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest4.expected @@ -1,8 +1,8 @@ models -| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | -| 2 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | -| 3 | Source: github.com/nonexistent/sources; ; true; GetCustom; ; ; ReturnValue; custom; manual | -| 4 | Source: github.com/nonexistent/sources; ; true; ReadEnvironment; ; ; ReturnValue; environment; manual | +| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | +| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 3 | Source: github.com/nonexistent/sources; ; false; GetCustom; ; ; ReturnValue; custom; manual | +| 4 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual | | 5 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 6 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 7 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected index eac3843cfae..92b35dc609b 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest5.expected @@ -1,6 +1,6 @@ models -| 1 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | -| 2 | Source: github.com/nonexistent/sources; ; true; ReadEnvironment; ; ; ReturnValue; environment; manual | +| 1 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 2 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual | | 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 4 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 5 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected index 48b374d8d9c..a5a23bd0725 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/ThreatModels/threat-models-flowtest6.expected @@ -1,6 +1,6 @@ models -| 1 | Source: github.com/nonexistent/sources; ; true; ExecuteQuery; ; ; ReturnValue; database; manual | -| 2 | Source: github.com/nonexistent/sources; ; true; GetCliArg; ; ; ReturnValue; commandargs; manual | +| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual | +| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual | | 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 4 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 5 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected index 0d0a445d860..aa0345f221e 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.expected @@ -176,26 +176,26 @@ models | 19 | Source: group:beego; Controller; true; Input; ; ; ReturnValue[0]; remote; manual | | 20 | Source: group:beego; Controller; true; ParseForm; ; ; Argument[0]; remote; manual | | 21 | Source: net/http; Request; true; Form; ; ; ; remote; manual | -| 22 | Summary: group:beego-utils; ; true; SliceChunk; ; ; Argument[0]; ReturnValue; taint; manual | -| 23 | Summary: group:beego-utils; ; true; SliceDiff; ; ; Argument[0]; ReturnValue; taint; manual | -| 24 | Summary: group:beego-utils; ; true; SliceFilter; ; ; Argument[0]; ReturnValue; taint; manual | -| 25 | Summary: group:beego-utils; ; true; SliceIntersect; ; ; Argument[0..1]; ReturnValue; taint; manual | -| 26 | Summary: group:beego-utils; ; true; SliceMerge; ; ; Argument[0..1]; ReturnValue; taint; manual | -| 27 | Summary: group:beego-utils; ; true; SlicePad; ; ; Argument[0..2]; ReturnValue; taint; manual | -| 28 | Summary: group:beego-utils; ; true; SliceRand; ; ; Argument[0]; ReturnValue; taint; manual | -| 29 | Summary: group:beego-utils; ; true; SliceReduce; ; ; Argument[0]; ReturnValue; taint; manual | -| 30 | Summary: group:beego-utils; ; true; SliceShuffle; ; ; Argument[0]; ReturnValue; taint; manual | -| 31 | Summary: group:beego-utils; ; true; SliceUnique; ; ; Argument[0]; ReturnValue; taint; manual | +| 22 | Summary: group:beego-utils; ; false; SliceChunk; ; ; Argument[0]; ReturnValue; taint; manual | +| 23 | Summary: group:beego-utils; ; false; SliceDiff; ; ; Argument[0]; ReturnValue; taint; manual | +| 24 | Summary: group:beego-utils; ; false; SliceFilter; ; ; Argument[0]; ReturnValue; taint; manual | +| 25 | Summary: group:beego-utils; ; false; SliceIntersect; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 26 | Summary: group:beego-utils; ; false; SliceMerge; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 27 | Summary: group:beego-utils; ; false; SlicePad; ; ; Argument[0..2]; ReturnValue; taint; manual | +| 28 | Summary: group:beego-utils; ; false; SliceRand; ; ; Argument[0]; ReturnValue; taint; manual | +| 29 | Summary: group:beego-utils; ; false; SliceReduce; ; ; Argument[0]; ReturnValue; taint; manual | +| 30 | Summary: group:beego-utils; ; false; SliceShuffle; ; ; Argument[0]; ReturnValue; taint; manual | +| 31 | Summary: group:beego-utils; ; false; SliceUnique; ; ; Argument[0]; ReturnValue; taint; manual | | 32 | Summary: group:beego-utils; BeeMap; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | | 33 | Summary: group:beego-utils; BeeMap; true; Items; ; ; Argument[receiver]; ReturnValue; taint; manual | | 34 | Summary: group:beego-utils; BeeMap; true; Set; ; ; Argument[1]; Argument[receiver]; taint; manual | -| 35 | Summary: group:beego; ; true; HTML2str; ; ; Argument[0]; ReturnValue; taint; manual | -| 36 | Summary: group:beego; ; true; Htmlunquote; ; ; Argument[0]; ReturnValue; taint; manual | -| 37 | Summary: group:beego; ; true; MapGet; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 38 | Summary: group:beego; ; true; ParseForm; ; ; Argument[0]; Argument[1]; taint; manual | -| 39 | Summary: group:beego; ; true; Str2html; ; ; Argument[0]; ReturnValue; taint; manual | -| 40 | Summary: group:beego; ; true; Substr; ; ; Argument[0]; ReturnValue; taint; manual | -| 41 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 35 | Summary: group:beego; ; false; HTML2str; ; ; Argument[0]; ReturnValue; taint; manual | +| 36 | Summary: group:beego; ; false; Htmlunquote; ; ; Argument[0]; ReturnValue; taint; manual | +| 37 | Summary: group:beego; ; false; MapGet; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 38 | Summary: group:beego; ; false; ParseForm; ; ; Argument[0]; Argument[1]; taint; manual | +| 39 | Summary: group:beego; ; false; Str2html; ; ; Argument[0]; ReturnValue; taint; manual | +| 40 | Summary: group:beego; ; false; Substr; ; ; Argument[0]; ReturnValue; taint; manual | +| 41 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | nodes | test.go:33:6:33:10 | definition of bound | semmle.label | definition of bound | | test.go:35:13:35:30 | type conversion | semmle.label | type conversion | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected index 875d267025e..98b536aac65 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.expected @@ -17,13 +17,13 @@ edges | test.go:340:15:340:26 | call to Data | test.go:344:23:344:31 | untrusted | provenance | Src:MaD:6 Sink:MaD:1 | models | 1 | Sink: group:beego-context; BeegoOutput; true; Download; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: group:beego; ; true; Walk; ; ; Argument[1]; path-injection; manual | +| 2 | Sink: group:beego; ; false; Walk; ; ; Argument[1]; path-injection; manual | | 3 | Sink: group:beego; Controller; true; SaveToFile; ; ; Argument[1]; path-injection; manual | | 4 | Sink: group:beego; Controller; true; SaveToFileWithBuffer; ; ; Argument[1]; path-injection; manual | | 5 | Sink: group:beego; FileSystem; true; Open; ; ; Argument[0]; path-injection; manual | | 6 | Source: group:beego-context; BeegoInput; true; Data; ; ; ReturnValue[0]; remote; manual | | 7 | Source: group:beego-context; BeegoInput; true; RequestBody; ; ; ; remote; manual | -| 8 | Summary: encoding/json; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 8 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | nodes | test.go:215:15:215:26 | call to Data | semmle.label | call to Data | | test.go:216:18:216:26 | untrusted | semmle.label | untrusted | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Chi/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/Chi/ReflectedXss.expected index 654cff9463c..56bbc4ed605 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Chi/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Chi/ReflectedXss.expected @@ -11,8 +11,8 @@ edges | test.go:23:18:23:60 | call to URLParamFromCtx | test.go:23:11:23:61 | type conversion | provenance | Src:MaD:2 | | test.go:24:18:24:71 | call to URLParam | test.go:24:11:24:72 | type conversion | provenance | Src:MaD:3 | models -| 1 | Source: github.com/go-chi/chi; ; true; URLParam; ; ; ReturnValue; remote; manual | -| 2 | Source: github.com/go-chi/chi; ; true; URLParamFromCtx; ; ; ReturnValue; remote; manual | +| 1 | Source: github.com/go-chi/chi; ; false; URLParam; ; ; ReturnValue; remote; manual | +| 2 | Source: github.com/go-chi/chi; ; false; URLParamFromCtx; ; ; ReturnValue; remote; manual | | 3 | Source: github.com/go-chi/chi; Context; true; URLParam; ; ; ReturnValue; remote; manual | | 4 | Source: net/http; Request; true; URL; ; ; ; remote; manual | nodes diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected index c115d4f8643..61b8706f4e0 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected @@ -74,7 +74,7 @@ models | 16 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | | 17 | Summary: mime/multipart; FileHeader; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | | 18 | Summary: os; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | -| 19 | Summary: strings; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 19 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | nodes | test.go:15:11:15:32 | call to Param | semmle.label | call to Param | | test.go:16:16:16:20 | param | semmle.label | param | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected b/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected index 9ff49f5b929..0e79c3135b0 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.expected @@ -1,7 +1,7 @@ models -| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | -| 2 | Summary: github.com/json-iterator/go; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 3 | Summary: github.com/json-iterator/go; ; true; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual | +| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | +| 2 | Summary: github.com/json-iterator/go; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 3 | Summary: github.com/json-iterator/go; ; false; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual | | 4 | Summary: github.com/json-iterator/go; API; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | | 5 | Summary: github.com/json-iterator/go; API; true; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual | edges diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected index d16514649f3..4cb6f63a829 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Gin/TaintedPath.expected @@ -12,7 +12,7 @@ models | 1 | Sink: github.com/gin-gonic/gin; Context; true; File; ; ; Argument[0]; path-injection; manual | | 2 | Sink: github.com/gin-gonic/gin; Context; true; FileAttachment; ; ; Argument[0]; path-injection; manual | | 3 | Sink: github.com/gin-gonic/gin; Context; true; SaveUploadedFile; ; ; Argument[1]; path-injection; manual | -| 4 | Sink: net/http; ; true; ServeFile; ; ; Argument[2]; path-injection; manual | +| 4 | Sink: net/http; ; false; ServeFile; ; ; Argument[2]; path-injection; manual | | 5 | Source: github.com/gin-gonic/gin; Context; true; Query; ; ; ReturnValue; remote; manual | nodes | Gin.go:24:15:24:33 | call to Query | semmle.label | call to Query | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected b/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected index 7ec09bf530d..4cdacabe873 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Gorestful/gorestful.expected @@ -1,5 +1,5 @@ models -| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | +| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | | 2 | Source: github.com/emicklei/go-restful; Request; true; BodyParameter; ; ; ReturnValue[0]; remote; manual | | 3 | Source: github.com/emicklei/go-restful; Request; true; PathParameters; ; ; ReturnValue; remote; manual | | 4 | Source: github.com/emicklei/go-restful; Request; true; QueryParameters; ; ; ReturnValue; remote; manual | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected b/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected index 7706161f2f2..7337f636c47 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Revel/TaintedPath.expected @@ -8,7 +8,7 @@ edges | EndToEnd.go:64:26:64:38 | selection of Form | EndToEnd.go:64:26:64:55 | call to Get | provenance | MaD:4 Sink:MaD:1 | models | 1 | Sink: group:revel; Controller; true; RenderFileName; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: os; ; true; Open; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: os; ; false; Open; ; ; Argument[0]; path-injection; manual | | 3 | Source: group:revel; Controller; true; Params; ; ; ; remote; manual | | 4 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected b/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected index 648650dcb57..82c4c950c6e 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected @@ -25,8 +25,8 @@ edges | server/main.go:19:56:19:61 | definition of params [Return] | rpc/notes/service.twirp.go:574:2:574:2 | capture variable reqContent | provenance | | models | 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | -| 2 | Summary: google.golang.org/protobuf/proto; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 3 | Summary: io; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 2 | Summary: google.golang.org/protobuf/proto; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 3 | Summary: io; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | nodes | client/main.go:16:35:16:78 | &... | semmle.label | &... | | rpc/notes/service.twirp.go:473:6:473:13 | definition of typedReq | semmle.label | definition of typedReq | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected index bb1af2a7a3f..b94733d5054 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected @@ -71,13 +71,13 @@ edges models | 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 3 | Summary: golang.org/x/net/html; ; true; NewTokenizer; ; ; Argument[0]; ReturnValue; taint; manual | -| 4 | Summary: golang.org/x/net/html; ; true; NewTokenizerFragment; ; ; Argument[0]; ReturnValue; taint; manual | -| 5 | Summary: golang.org/x/net/html; ; true; Parse; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 6 | Summary: golang.org/x/net/html; ; true; ParseFragment; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 7 | Summary: golang.org/x/net/html; ; true; ParseFragmentWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 8 | Summary: golang.org/x/net/html; ; true; ParseWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 9 | Summary: golang.org/x/net/html; ; true; UnescapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: golang.org/x/net/html; ; false; NewTokenizer; ; ; Argument[0]; ReturnValue; taint; manual | +| 4 | Summary: golang.org/x/net/html; ; false; NewTokenizerFragment; ; ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: golang.org/x/net/html; ; false; Parse; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 6 | Summary: golang.org/x/net/html; ; false; ParseFragment; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 7 | Summary: golang.org/x/net/html; ; false; ParseFragmentWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 8 | Summary: golang.org/x/net/html; ; false; ParseWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 9 | Summary: golang.org/x/net/html; ; false; UnescapeString; ; ; Argument[0]; ReturnValue; taint; manual | | 10 | Summary: golang.org/x/net/html; Node; true; AppendChild; ; ; Argument[0]; Argument[receiver]; taint; manual | | 11 | Summary: golang.org/x/net/html; Node; true; InsertBefore; ; ; Argument[0]; Argument[receiver]; taint; manual | | 12 | Summary: golang.org/x/net/html; Tokenizer; true; Buffered; ; ; Argument[receiver]; ReturnValue; taint; manual | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected index c25bd5f5c38..c28b1058e7c 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected @@ -5,7 +5,7 @@ edges | test.go:57:29:57:40 | selection of Value | test.go:57:11:57:41 | call to EscapeString | provenance | MaD:2 | models | 1 | Source: net/http; Request; true; Cookie; ; ; ReturnValue[0]; remote; manual | -| 2 | Summary: golang.org/x/net/html; ; true; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: golang.org/x/net/html; ; false; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | nodes | test.go:56:2:56:42 | ... := ...[0] | semmle.label | ... := ...[0] | | test.go:57:11:57:41 | call to EscapeString | semmle.label | call to EscapeString | diff --git a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected index ee8bb8d7375..dc54af70dbb 100644 --- a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected +++ b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected @@ -24,7 +24,7 @@ edges | tests.go:108:5:108:78 | ... := ...[0] | tests.go:110:9:110:9 | f | provenance | Src:MaD:1 | | tests.go:125:5:125:78 | ... := ...[0] | tests.go:129:3:129:3 | f | provenance | Src:MaD:1 | models -| 1 | Source: os; ; true; OpenFile; ; ; ReturnValue[0]; file; manual | +| 1 | Source: os; ; false; OpenFile; ; ; ReturnValue[0]; file; manual | nodes | tests.go:8:24:8:24 | definition of f | semmle.label | definition of f | | tests.go:9:8:9:8 | f | semmle.label | f | diff --git a/go/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegexp/IncompleteHostnameRegexp.expected b/go/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegexp/IncompleteHostnameRegexp.expected index dd667536333..1b984aeedee 100644 --- a/go/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegexp/IncompleteHostnameRegexp.expected +++ b/go/ql/test/query-tests/Security/CWE-020/IncompleteHostnameRegexp/IncompleteHostnameRegexp.expected @@ -10,8 +10,8 @@ edges | main.go:49:21:49:45 | `https://www.example.com` | main.go:62:15:62:25 | sourceConst | provenance | | | main.go:62:15:62:25 | sourceConst | main.go:65:15:65:23 | localVar3 | provenance | Sink:MaD:1 | models -| 1 | Sink: regexp; ; true; Match; ; ; Argument[0]; regex-use[1]; manual | -| 2 | Sink: regexp; ; true; MatchString; ; ; Argument[0]; regex-use[1]; manual | +| 1 | Sink: regexp; ; false; Match; ; ; Argument[0]; regex-use[1]; manual | +| 2 | Sink: regexp; ; false; MatchString; ; ; Argument[0]; regex-use[1]; manual | nodes | IncompleteHostnameRegexp.go:11:8:11:36 | "^((www\|beta).)?example.com/" | semmle.label | "^((www\|beta).)?example.com/" | | IncompleteHostnameRegexp.go:12:38:12:39 | re | semmle.label | re | diff --git a/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected b/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected index ba73f68772f..839d35f663c 100644 --- a/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected +++ b/go/ql/test/query-tests/Security/CWE-022/TaintedPath.expected @@ -10,10 +10,10 @@ edges | TaintedPath.go:21:57:21:68 | tainted_path | TaintedPath.go:21:28:21:69 | call to Join | provenance | FunctionModel Sink:MaD:1 | | TaintedPath.go:68:39:68:56 | ...+... | TaintedPath.go:68:28:68:57 | call to Clean | provenance | MaD:4 Sink:MaD:1 | models -| 1 | Sink: io/ioutil; ; true; ReadFile; ; ; Argument[0]; path-injection; manual | +| 1 | Sink: io/ioutil; ; false; ReadFile; ; ; Argument[0]; path-injection; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 3 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 4 | Summary: path; ; true; Clean; ; ; Argument[0]; ReturnValue; taint; manual | +| 4 | Summary: path; ; false; Clean; ; ; Argument[0]; ReturnValue; taint; manual | nodes | TaintedPath.go:14:18:14:22 | selection of URL | semmle.label | selection of URL | | TaintedPath.go:14:18:14:30 | call to Query | semmle.label | call to Query | diff --git a/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected b/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected index e0444bcdab0..3276c077109 100644 --- a/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected +++ b/go/ql/test/query-tests/Security/CWE-022/UnsafeUnzipSymlink.expected @@ -10,7 +10,7 @@ edges | UnsafeUnzipSymlink.go:126:17:126:31 | selection of Linkname | UnsafeUnzipSymlink.go:111:19:111:26 | definition of linkName | provenance | | | UnsafeUnzipSymlink.go:126:34:126:44 | selection of Name | UnsafeUnzipSymlink.go:111:29:111:36 | definition of fileName | provenance | | models -| 1 | Sink: os; ; true; Symlink; ; ; Argument[0..1]; path-injection; manual | +| 1 | Sink: os; ; false; Symlink; ; ; Argument[0..1]; path-injection; manual | nodes | UnsafeUnzipSymlink.go:31:15:31:29 | selection of Linkname | semmle.label | selection of Linkname | | UnsafeUnzipSymlink.go:31:32:31:42 | selection of Name | semmle.label | selection of Name | diff --git a/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected b/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected index 5641fe1e3ea..7cb981667da 100644 --- a/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected +++ b/go/ql/test/query-tests/Security/CWE-022/ZipSlip.expected @@ -17,11 +17,11 @@ edges | tarslip.go:16:23:16:33 | selection of Name | tarslip.go:16:14:16:34 | call to Dir | provenance | MaD:5 Sink:MaD:2 | | tst.go:23:2:43:2 | range statement[1] | tst.go:29:20:29:23 | path | provenance | Sink:MaD:1 | models -| 1 | Sink: io/ioutil; ; true; WriteFile; ; ; Argument[0]; path-injection; manual | -| 2 | Sink: os; ; true; MkdirAll; ; ; Argument[0]; path-injection; manual | -| 3 | Sink: os; ; true; Readlink; ; ; Argument[0]; path-injection; manual | -| 4 | Summary: path/filepath; ; true; Abs; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 5 | Summary: path; ; true; Dir; ; ; Argument[0]; ReturnValue; taint; manual | +| 1 | Sink: io/ioutil; ; false; WriteFile; ; ; Argument[0]; path-injection; manual | +| 2 | Sink: os; ; false; MkdirAll; ; ; Argument[0]; path-injection; manual | +| 3 | Sink: os; ; false; Readlink; ; ; Argument[0]; path-injection; manual | +| 4 | Summary: path/filepath; ; false; Abs; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 5 | Summary: path; ; false; Dir; ; ; Argument[0]; ReturnValue; taint; manual | nodes | UnsafeUnzipSymlinkGood.go:52:24:52:32 | definition of candidate | semmle.label | definition of candidate | | UnsafeUnzipSymlinkGood.go:61:31:61:62 | call to Join | semmle.label | call to Join | diff --git a/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected b/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected index 5ade5857fb8..dff32df4e1f 100644 --- a/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-078/CommandInjection.expected @@ -146,12 +146,12 @@ edges | SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append | provenance | MaD:3 | | SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append [array] | provenance | MaD:3 | models -| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | +| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | | 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 3 | Summary: ; ; true; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | -| 4 | Summary: ; ; true; append; ; ; Argument[0]; ReturnValue; taint; manual | -| 5 | Summary: ; ; true; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | -| 6 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 3 | Summary: ; ; false; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 4 | Summary: ; ; false; append; ; ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: ; ; false; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 6 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | | 7 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes | ArgumentInjection.go:9:10:9:16 | selection of URL | semmle.label | selection of URL | diff --git a/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected b/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected index 0ee36cc39e5..12be518a98b 100644 --- a/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected +++ b/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected @@ -5,7 +5,7 @@ edges | StoredCommand.go:13:2:13:5 | rows | StoredCommand.go:13:12:13:19 | &... | provenance | FunctionModel | | StoredCommand.go:13:12:13:19 | &... | StoredCommand.go:14:22:14:28 | cmdName | provenance | Sink:MaD:1 | models -| 1 | Sink: os/exec; ; true; Command; ; ; Argument[0]; command-injection; manual | +| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | nodes | StoredCommand.go:11:2:11:27 | ... := ...[0] | semmle.label | ... := ...[0] | | StoredCommand.go:13:2:13:5 | rows | semmle.label | rows | diff --git a/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected b/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected index ef6843cb553..647113f3c6b 100644 --- a/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected +++ b/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected @@ -69,7 +69,7 @@ edges | websocketXss.go:50:3:50:10 | definition of gorilla2 | websocketXss.go:52:24:52:31 | gorilla2 | provenance | Src:MaD:2 | | websocketXss.go:54:3:54:38 | ... := ...[1] | websocketXss.go:55:24:55:31 | gorilla3 | provenance | Src:MaD:3 | models -| 1 | Source: github.com/gorilla/websocket; ; true; ReadJSON; ; ; Argument[1]; remote; manual | +| 1 | Source: github.com/gorilla/websocket; ; false; ReadJSON; ; ; Argument[1]; remote; manual | | 2 | Source: github.com/gorilla/websocket; Conn; true; ReadJSON; ; ; Argument[0]; remote; manual | | 3 | Source: github.com/gorilla/websocket; Conn; true; ReadMessage; ; ; ReturnValue[1]; remote; manual | | 4 | Source: golang.org/x/net/websocket; Codec; true; Receive; ; ; Argument[1]; remote; manual | @@ -80,14 +80,14 @@ models | 9 | Source: net/http; Request; true; MultipartReader; ; ; ReturnValue[0]; remote; manual | | 10 | Source: net/http; Request; true; URL; ; ; ; remote; manual | | 11 | Source: nhooyr.io/websocket; Conn; true; Read; ; ; ReturnValue[1]; remote; manual | -| 12 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 13 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 12 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 13 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 14 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | | 15 | Summary: mime/multipart; Part; true; FileName; ; ; Argument[receiver]; ReturnValue; taint; manual | | 16 | Summary: mime/multipart; Reader; true; NextPart; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | | 17 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 18 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 19 | Summary: strings; ; true; Join; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 19 | Summary: strings; ; false; Join; ; ; Argument[0..1]; ReturnValue; taint; manual | nodes | ReflectedXss.go:11:15:11:20 | selection of Form | semmle.label | selection of Form | | ReflectedXss.go:11:15:11:36 | call to Get | semmle.label | call to Get | diff --git a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected index 06cd819269a..79d8809e19f 100644 --- a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected @@ -139,9 +139,9 @@ models | 3 | Source: net/http; Request; true; Header; ; ; ; remote; manual | | 4 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | | 5 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 6 | Summary: encoding/json; ; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 7 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 8 | Summary: io/ioutil; ; true; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 6 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 7 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 8 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 9 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | | 10 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected b/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected index 8528aa86a12..5deab249337 100644 --- a/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected +++ b/go/ql/test/query-tests/Security/CWE-089/StringBreak.expected @@ -11,7 +11,7 @@ edges | StringBreakMismatched.go:25:13:25:61 | call to Replace | StringBreakMismatched.go:29:27:29:33 | escaped | provenance | | | StringBreakMismatched.go:25:29:25:47 | type conversion | StringBreakMismatched.go:25:13:25:61 | call to Replace | provenance | MaD:1 | models -| 1 | Summary: strings; ; true; Replace; ; ; Argument[0]; ReturnValue; taint; manual | +| 1 | Summary: strings; ; false; Replace; ; ; Argument[0]; ReturnValue; taint; manual | nodes | StringBreak.go:10:2:10:40 | ... := ...[0] | semmle.label | ... := ...[0] | | StringBreak.go:14:47:14:57 | versionJSON | semmle.label | versionJSON | diff --git a/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected b/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected index 196eaa36718..3a9de1ebe60 100644 --- a/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected +++ b/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected @@ -31,7 +31,7 @@ edges | tst.go:34:2:34:30 | ... = ...[0] | tst.go:35:26:35:33 | jsonData | provenance | | | tst.go:35:26:35:33 | jsonData | tst.go:35:22:35:34 | call to len | provenance | Config | models -| 1 | Source: io/ioutil; ; true; ReadFile; ; ; ReturnValue[0]; file; manual | +| 1 | Source: io/ioutil; ; false; ReadFile; ; ; ReturnValue[0]; file; manual | nodes | AllocationSizeOverflow.go:6:2:6:33 | ... := ...[0] | semmle.label | ... := ...[0] | | AllocationSizeOverflow.go:10:10:10:22 | call to len | semmle.label | call to len | diff --git a/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected b/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected index 9e7c44ec3b4..539e1070af8 100644 --- a/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected +++ b/go/ql/test/query-tests/Security/CWE-327/UnsafeTLS.expected @@ -87,9 +87,9 @@ edges | UnsafeTLS.go:450:6:450:48 | selection of TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | UnsafeTLS.go:449:19:451:5 | slice literal | provenance | | | UnsafeTLS.go:457:6:457:48 | selection of TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | UnsafeTLS.go:456:19:458:5 | slice literal | provenance | | models -| 1 | Summary: ; ; true; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | -| 2 | Summary: ; ; true; append; ; ; Argument[0]; ReturnValue; taint; manual | -| 3 | Summary: ; ; true; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 1 | Summary: ; ; false; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 2 | Summary: ; ; false; append; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: ; ; false; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | nodes | UnsafeTLS.go:21:23:21:23 | 0 | semmle.label | 0 | | UnsafeTLS.go:25:23:25:23 | 0 | semmle.label | 0 | diff --git a/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected b/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected index b4936b77b3d..b2659fffde7 100644 --- a/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected +++ b/go/ql/test/query-tests/Security/CWE-338/InsecureRandomness/InsecureRandomness.expected @@ -22,8 +22,8 @@ edges | sample.go:56:18:56:39 | index expression | sample.go:56:11:56:40 | type conversion | provenance | | | sample.go:56:29:56:38 | randNumber | sample.go:56:18:56:39 | index expression | provenance | Config | models -| 1 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 2 | Summary: io; ; true; ReadFull; ; ; Argument[0]; Argument[1]; taint; manual | +| 1 | Summary: fmt; ; false; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 2 | Summary: io; ; false; ReadFull; ; ; Argument[0]; Argument[1]; taint; manual | nodes | InsecureRandomness.go:12:18:12:40 | call to Intn | semmle.label | call to Intn | | sample.go:15:10:15:64 | call to Sum256 | semmle.label | call to Sum256 | diff --git a/go/ql/test/query-tests/Security/CWE-347/MissingJwtSignatureCheck.expected b/go/ql/test/query-tests/Security/CWE-347/MissingJwtSignatureCheck.expected index 23f814be7d6..2bfca2aa643 100644 --- a/go/ql/test/query-tests/Security/CWE-347/MissingJwtSignatureCheck.expected +++ b/go/ql/test/query-tests/Security/CWE-347/MissingJwtSignatureCheck.expected @@ -18,7 +18,7 @@ models | 1 | Sink: github.com/golang-jwt/jwt; Parser; true; ParseUnverified; ; ; Argument[0]; jwt; manual | | 2 | Sink: group:go-jose/jwt; JSONWebToken; true; UnsafeClaimsWithoutVerification; ; ; Argument[receiver]; jwt; manual | | 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 4 | Summary: group:go-jose/jwt; ; true; ParseSigned; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 4 | Summary: group:go-jose/jwt; ; false; ParseSigned; ; ; Argument[0]; ReturnValue[0]; taint; manual | | 5 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | | 6 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes diff --git a/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected b/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected index 10b4b3f3505..8d4aaba1446 100644 --- a/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected +++ b/go/ql/test/query-tests/Security/CWE-601/BadRedirectCheck/BadRedirectCheck.expected @@ -29,8 +29,8 @@ edges | main.go:77:36:77:38 | url | main.go:77:25:77:39 | call to getTarget1 | provenance | MaD:2 Sink:MaD:1 | | main.go:87:9:87:14 | selection of Path | main.go:91:25:91:39 | call to getTarget2 | provenance | Sink:MaD:1 | models -| 1 | Sink: net/http; ; true; Redirect; ; ; Argument[2]; url-redirection[0]; manual | -| 2 | Summary: path; ; true; Clean; ; ; Argument[0]; ReturnValue; taint; manual | +| 1 | Sink: net/http; ; false; Redirect; ; ; Argument[2]; url-redirection[0]; manual | +| 2 | Summary: path; ; false; Clean; ; ; Argument[0]; ReturnValue; taint; manual | nodes | BadRedirectCheck.go:3:18:3:22 | argument corresponding to redir | semmle.label | argument corresponding to redir | | BadRedirectCheck.go:3:18:3:22 | definition of redir | semmle.label | definition of redir | diff --git a/go/ql/test/query-tests/Security/CWE-601/OpenUrlRedirect/OpenUrlRedirect.expected b/go/ql/test/query-tests/Security/CWE-601/OpenUrlRedirect/OpenUrlRedirect.expected index 771c153e866..f8d193348ba 100644 --- a/go/ql/test/query-tests/Security/CWE-601/OpenUrlRedirect/OpenUrlRedirect.expected +++ b/go/ql/test/query-tests/Security/CWE-601/OpenUrlRedirect/OpenUrlRedirect.expected @@ -66,7 +66,7 @@ edges | stdlib.go:192:23:192:28 | target | stdlib.go:192:23:192:33 | selection of Path | provenance | Config Sink:MaD:1 | | stdlib.go:194:23:194:28 | target | stdlib.go:194:23:194:42 | call to EscapedPath | provenance | Config Sink:MaD:1 | models -| 1 | Sink: net/http; ; true; Redirect; ; ; Argument[2]; url-redirection[0]; manual | +| 1 | Sink: net/http; ; false; Redirect; ; ; Argument[2]; url-redirection[0]; manual | | 2 | Source: net/http; Request; true; Form; ; ; ; remote; manual | | 3 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | | 4 | Source: net/http; Request; true; URL; ; ; ; remote; manual | diff --git a/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected b/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected index 864b55a25db..ac5985f110d 100644 --- a/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-640/EmailInjection.expected @@ -33,8 +33,8 @@ edges models | 1 | Source: net/http; Request; true; Header; ; ; ; remote; manual | | 2 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | -| 3 | Summary: github.com/sendgrid/sendgrid-go/helpers/mail; ; true; NewContent; ; ; Argument[1]; ReturnValue; taint; manual | -| 4 | Summary: io; ; true; WriteString; ; ; Argument[1]; Argument[0]; taint; manual | +| 3 | Summary: github.com/sendgrid/sendgrid-go/helpers/mail; ; false; NewContent; ; ; Argument[1]; ReturnValue; taint; manual | +| 4 | Summary: io; ; false; WriteString; ; ; Argument[1]; Argument[0]; taint; manual | | 5 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes | EmailBad.go:9:10:9:17 | selection of Header | semmle.label | selection of Header | diff --git a/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected b/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected index d5380ed1e6e..0d492788c51 100644 --- a/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected @@ -101,44 +101,44 @@ edges | tst.go:139:14:139:35 | call to Get | tst.go:146:23:146:85 | ...+... | provenance | Sink:MaD:26 | | tst.go:145:41:145:103 | ...+... | tst.go:145:23:145:104 | call to NewReader | provenance | MaD:38 Sink:MaD:25 | models -| 1 | Sink: github.com/ChrisTrenkamp/goxpath; ; true; MustParse; ; ; Argument[0]; xpath-injection; manual | -| 2 | Sink: github.com/ChrisTrenkamp/goxpath; ; true; Parse; ; ; Argument[0]; xpath-injection; manual | -| 3 | Sink: github.com/ChrisTrenkamp/goxpath; ; true; ParseExec; ; ; Argument[0]; xpath-injection; manual | -| 4 | Sink: github.com/antchfx/htmlquery; ; true; Find; ; ; Argument[1]; xpath-injection; manual | -| 5 | Sink: github.com/antchfx/htmlquery; ; true; FindOne; ; ; Argument[1]; xpath-injection; manual | -| 6 | Sink: github.com/antchfx/htmlquery; ; true; Query; ; ; Argument[1]; xpath-injection; manual | -| 7 | Sink: github.com/antchfx/htmlquery; ; true; QueryAll; ; ; Argument[1]; xpath-injection; manual | -| 8 | Sink: github.com/antchfx/jsonquery; ; true; Find; ; ; Argument[1]; xpath-injection; manual | -| 9 | Sink: github.com/antchfx/jsonquery; ; true; FindOne; ; ; Argument[1]; xpath-injection; manual | -| 10 | Sink: github.com/antchfx/jsonquery; ; true; Query; ; ; Argument[1]; xpath-injection; manual | -| 11 | Sink: github.com/antchfx/jsonquery; ; true; QueryAll; ; ; Argument[1]; xpath-injection; manual | -| 12 | Sink: github.com/antchfx/xmlquery; ; true; Find; ; ; Argument[1]; xpath-injection; manual | -| 13 | Sink: github.com/antchfx/xmlquery; ; true; FindEach; ; ; Argument[1]; xpath-injection; manual | -| 14 | Sink: github.com/antchfx/xmlquery; ; true; FindEachWithBreak; ; ; Argument[1]; xpath-injection; manual | -| 15 | Sink: github.com/antchfx/xmlquery; ; true; FindOne; ; ; Argument[1]; xpath-injection; manual | -| 16 | Sink: github.com/antchfx/xmlquery; ; true; Query; ; ; Argument[1]; xpath-injection; manual | -| 17 | Sink: github.com/antchfx/xmlquery; ; true; QueryAll; ; ; Argument[1]; xpath-injection; manual | +| 1 | Sink: github.com/ChrisTrenkamp/goxpath; ; false; MustParse; ; ; Argument[0]; xpath-injection; manual | +| 2 | Sink: github.com/ChrisTrenkamp/goxpath; ; false; Parse; ; ; Argument[0]; xpath-injection; manual | +| 3 | Sink: github.com/ChrisTrenkamp/goxpath; ; false; ParseExec; ; ; Argument[0]; xpath-injection; manual | +| 4 | Sink: github.com/antchfx/htmlquery; ; false; Find; ; ; Argument[1]; xpath-injection; manual | +| 5 | Sink: github.com/antchfx/htmlquery; ; false; FindOne; ; ; Argument[1]; xpath-injection; manual | +| 6 | Sink: github.com/antchfx/htmlquery; ; false; Query; ; ; Argument[1]; xpath-injection; manual | +| 7 | Sink: github.com/antchfx/htmlquery; ; false; QueryAll; ; ; Argument[1]; xpath-injection; manual | +| 8 | Sink: github.com/antchfx/jsonquery; ; false; Find; ; ; Argument[1]; xpath-injection; manual | +| 9 | Sink: github.com/antchfx/jsonquery; ; false; FindOne; ; ; Argument[1]; xpath-injection; manual | +| 10 | Sink: github.com/antchfx/jsonquery; ; false; Query; ; ; Argument[1]; xpath-injection; manual | +| 11 | Sink: github.com/antchfx/jsonquery; ; false; QueryAll; ; ; Argument[1]; xpath-injection; manual | +| 12 | Sink: github.com/antchfx/xmlquery; ; false; Find; ; ; Argument[1]; xpath-injection; manual | +| 13 | Sink: github.com/antchfx/xmlquery; ; false; FindEach; ; ; Argument[1]; xpath-injection; manual | +| 14 | Sink: github.com/antchfx/xmlquery; ; false; FindEachWithBreak; ; ; Argument[1]; xpath-injection; manual | +| 15 | Sink: github.com/antchfx/xmlquery; ; false; FindOne; ; ; Argument[1]; xpath-injection; manual | +| 16 | Sink: github.com/antchfx/xmlquery; ; false; Query; ; ; Argument[1]; xpath-injection; manual | +| 17 | Sink: github.com/antchfx/xmlquery; ; false; QueryAll; ; ; Argument[1]; xpath-injection; manual | | 18 | Sink: github.com/antchfx/xmlquery; Node; true; SelectElement; ; ; Argument[0]; xpath-injection; manual | | 19 | Sink: github.com/antchfx/xmlquery; Node; true; SelectElements; ; ; Argument[0]; xpath-injection; manual | -| 20 | Sink: github.com/antchfx/xpath; ; true; Compile; ; ; Argument[0]; xpath-injection; manual | -| 21 | Sink: github.com/antchfx/xpath; ; true; CompileWithNS; ; ; Argument[0]; xpath-injection; manual | -| 22 | Sink: github.com/antchfx/xpath; ; true; MustCompile; ; ; Argument[0]; xpath-injection; manual | -| 23 | Sink: github.com/antchfx/xpath; ; true; Select; ; ; Argument[1]; xpath-injection; manual | +| 20 | Sink: github.com/antchfx/xpath; ; false; Compile; ; ; Argument[0]; xpath-injection; manual | +| 21 | Sink: github.com/antchfx/xpath; ; false; CompileWithNS; ; ; Argument[0]; xpath-injection; manual | +| 22 | Sink: github.com/antchfx/xpath; ; false; MustCompile; ; ; Argument[0]; xpath-injection; manual | +| 23 | Sink: github.com/antchfx/xpath; ; false; Select; ; ; Argument[1]; xpath-injection; manual | | 24 | Sink: github.com/lestrrat-go/libxml2/parser; Parser; true; Parse; ; ; Argument[0]; xpath-injection; manual | | 25 | Sink: github.com/lestrrat-go/libxml2/parser; Parser; true; ParseReader; ; ; Argument[0]; xpath-injection; manual | | 26 | Sink: github.com/lestrrat-go/libxml2/parser; Parser; true; ParseString; ; ; Argument[0]; xpath-injection; manual | -| 27 | Sink: github.com/santhosh-tekuri/xpathparser; ; true; MustParse; ; ; Argument[0]; xpath-injection; manual | -| 28 | Sink: github.com/santhosh-tekuri/xpathparser; ; true; Parse; ; ; Argument[0]; xpath-injection; manual | +| 27 | Sink: github.com/santhosh-tekuri/xpathparser; ; false; MustParse; ; ; Argument[0]; xpath-injection; manual | +| 28 | Sink: github.com/santhosh-tekuri/xpathparser; ; false; Parse; ; ; Argument[0]; xpath-injection; manual | | 29 | Sink: group:gokogiri/xml; Node; true; EvalXPath; ; ; Argument[0]; xpath-injection; manual | | 30 | Sink: group:gokogiri/xml; Node; true; EvalXPathAsBoolean; ; ; Argument[0]; xpath-injection; manual | | 31 | Sink: group:gokogiri/xml; Node; true; Search; ; ; Argument[0]; xpath-injection; manual | | 32 | Sink: group:gokogiri/xml; Node; true; SearchWithVariables; ; ; Argument[0]; xpath-injection; manual | -| 33 | Sink: group:gokogiri/xpath; ; true; Compile; ; ; Argument[0]; xpath-injection; manual | -| 34 | Sink: group:xmlpath; ; true; Compile; ; ; Argument[0]; xpath-injection; manual | -| 35 | Sink: group:xmlpath; ; true; MustCompile; ; ; Argument[0]; xpath-injection; manual | +| 33 | Sink: group:gokogiri/xpath; ; false; Compile; ; ; Argument[0]; xpath-injection; manual | +| 34 | Sink: group:xmlpath; ; false; Compile; ; ; Argument[0]; xpath-injection; manual | +| 35 | Sink: group:xmlpath; ; false; MustCompile; ; ; Argument[0]; xpath-injection; manual | | 36 | Source: net/http; Request; true; Form; ; ; ; remote; manual | | 37 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 38 | Summary: strings; ; true; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 38 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | nodes | XPathInjection.go:13:14:13:19 | selection of Form | semmle.label | selection of Form | | XPathInjection.go:13:14:13:35 | call to Get | semmle.label | call to Get |