Merge pull request #12750 from smowton/smowton/admin/add-dataflow-viableParamArgSpecific-hook

Go: mass-convert taint-flow models to models-as-data format (with `viableParamArgSpecific` hook)
This commit is contained in:
Chris Smowton
2023-04-12 17:11:18 +01:00
committed by GitHub
240 changed files with 3681 additions and 4173 deletions

View File

@@ -79,3 +79,13 @@ class ArgumentPosition extends int {
/** Holds if arguments at position `apos` match parameters at position `ppos`. */
pragma[inline]
predicate parameterMatch(ParameterPosition ppos, ArgumentPosition apos) { ppos = apos }
/**
* Holds if flow from `call`'s argument `arg` to parameter `p` is permissible.
*
* This is a temporary hook to support technical debt in the Go language; do not use.
*/
pragma[inline]
predicate golangSpecificParamArgFilter(DataFlowCall call, ParameterNode p, ArgumentNode arg) {
any()
}

View File

@@ -425,7 +425,8 @@ private module Cached {
exists(ParameterPosition ppos |
viableParam(call, ppos, p) and
argumentPositionMatch(call, arg, ppos) and
compatibleTypes(getNodeDataFlowType(arg), getNodeDataFlowType(p))
compatibleTypes(getNodeDataFlowType(arg), getNodeDataFlowType(p)) and
golangSpecificParamArgFilter(call, p, arg)
)
}

View File

@@ -271,3 +271,13 @@ Function viableImplInCallContext(CallInstruction call, CallInstruction ctx) {
/** Holds if arguments at position `apos` match parameters at position `ppos`. */
pragma[inline]
predicate parameterMatch(ParameterPosition ppos, ArgumentPosition apos) { ppos = apos }
/**
* Holds if flow from `call`'s argument `arg` to parameter `p` is permissible.
*
* This is a temporary hook to support technical debt in the Go language; do not use.
*/
pragma[inline]
predicate golangSpecificParamArgFilter(DataFlowCall call, ParameterNode p, ArgumentNode arg) {
any()
}

View File

@@ -425,7 +425,8 @@ private module Cached {
exists(ParameterPosition ppos |
viableParam(call, ppos, p) and
argumentPositionMatch(call, arg, ppos) and
compatibleTypes(getNodeDataFlowType(arg), getNodeDataFlowType(p))
compatibleTypes(getNodeDataFlowType(arg), getNodeDataFlowType(p)) and
golangSpecificParamArgFilter(call, p, arg)
)
}

View File

@@ -555,3 +555,13 @@ predicate parameterMatch(ParameterPosition ppos, ArgumentPosition apos) {
apos.isImplicitCapturedArgumentPosition(v)
)
}
/**
* Holds if flow from `call`'s argument `arg` to parameter `p` is permissible.
*
* This is a temporary hook to support technical debt in the Go language; do not use.
*/
pragma[inline]
predicate golangSpecificParamArgFilter(DataFlowCall call, ParameterNode p, ArgumentNode arg) {
any()
}

View File

@@ -425,7 +425,8 @@ private module Cached {
exists(ParameterPosition ppos |
viableParam(call, ppos, p) and
argumentPositionMatch(call, arg, ppos) and
compatibleTypes(getNodeDataFlowType(arg), getNodeDataFlowType(p))
compatibleTypes(getNodeDataFlowType(arg), getNodeDataFlowType(p)) and
golangSpecificParamArgFilter(call, p, arg)
)
}

View File

@@ -0,0 +1,10 @@
extensions:
- addsTo:
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", "Header", True, "FileInfo", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["archive/tar", "Reader", True, "Next", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["archive/tar", "Writer", True, "WriteHeader", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,11 @@
extensions:
- addsTo:
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", "File", True, "Open", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["archive/zip", "File", True, "OpenRaw", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["archive/zip", "Writer", True, "Copy", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]

View File

@@ -1,6 +0,0 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["archive/tar", "", True, "FileInfoHeader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,22 @@
extensions:
- addsTo:
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", "Reader", True, "Peek", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["bufio", "Reader", True, "ReadBytes", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["bufio", "Reader", True, "ReadLine", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["bufio", "Reader", True, "ReadSlice", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["bufio", "Reader", True, "ReadString", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["bufio", "Reader", True, "Reset", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["bufio", "Scanner", True, "Bytes", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["bufio", "Scanner", True, "Text", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["bufio", "Writer", True, "Reset", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]

View File

@@ -0,0 +1,48 @@
extensions:
- addsTo:
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", "Buffer", True, "Bytes", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["bytes", "Buffer", True, "Next", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["bytes", "Buffer", True, "ReadBytes", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["bytes", "Buffer", True, "ReadString", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["bytes", "Reader", True, "Reset", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["compress/bzip2", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,9 @@
extensions:
- addsTo:
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", "Resetter", True, "Reset", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["compress/flate", "Writer", True, "Reset", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]

View File

@@ -0,0 +1,8 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["compress/gzip", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["compress/gzip", "Reader", True, "Reset", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["compress/gzip", "Writer", True, "Reset", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["compress/lzw", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,9 @@
extensions:
- addsTo:
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", "Resetter", True, "Reset", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["compress/zlib", "Writer", True, "Reset", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]

View File

@@ -0,0 +1,10 @@
extensions:
- addsTo:
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", "Interface", True, "Pop", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["container/heap", "Interface", True, "Push", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,25 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["container/list", "Element", True, "Next", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["container/list", "Element", True, "Prev", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["container/list", "List", True, "Back", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["container/list", "List", True, "Front", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["container/list", "List", True, "Init", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["container/list", "List", True, "InsertAfter", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["container/list", "List", True, "InsertAfter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["container/list", "List", True, "InsertBefore", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["container/list", "List", True, "InsertBefore", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["container/list", "List", True, "MoveAfter", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["container/list", "List", True, "MoveBefore", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["container/list", "List", True, "MoveToBack", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["container/list", "List", True, "MoveToFront", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["container/list", "List", True, "PushBack", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["container/list", "List", True, "PushBack", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["container/list", "List", True, "PushBackList", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["container/list", "List", True, "PushFront", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["container/list", "List", True, "PushFront", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["container/list", "List", True, "PushFrontList", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["container/list", "List", True, "Remove", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,10 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["container/ring", "Ring", True, "Link", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["container/ring", "Ring", True, "Move", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["container/ring", "Ring", True, "Next", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["container/ring", "Ring", True, "Prev", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["container/ring", "Ring", True, "Unlink", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,10 @@
extensions:
- addsTo:
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", "Context", True, "Value", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,8 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["crypto/cipher", "AEAD", True, "Open", "", "", "Argument[2]", "Argument[0]", "taint", "manual"]
- ["crypto/cipher", "AEAD", True, "Open", "", "", "Argument[2]", "ReturnValue[0]", "taint", "manual"]
- ["crypto/cipher", "Block", True, "Decrypt", "", "", "Argument[1]", "Argument[0]", "taint", "manual"]

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["crypto", "Decrypter", True, "Decrypt", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,7 @@
extensions:
- addsTo:
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"]

View File

@@ -0,0 +1,8 @@
extensions:
- addsTo:
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"]

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["crypto/x509", "", False, "DecryptPEMBlock", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,9 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["database/sql/driver", "Conn", True, "Prepare", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["database/sql/driver", "ConnPrepareContext", True, "PrepareContext", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"]
- ["database/sql/driver", "ValueConverter", True, "ConvertValue", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["database/sql/driver", "Valuer", True, "Value", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,12 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["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"]
- ["database/sql", "Scanner", True, "Scan", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["database/sql", "Tx", True, "Prepare", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["database/sql", "Tx", True, "PrepareContext", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,7 @@
extensions:
- addsTo:
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"]

View File

@@ -0,0 +1,13 @@
extensions:
- addsTo:
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"]

View File

@@ -0,0 +1,8 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["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"]

View File

@@ -0,0 +1,8 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["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"]

View File

@@ -0,0 +1,7 @@
extensions:
- addsTo:
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"]

View File

@@ -0,0 +1,10 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["encoding/csv", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["encoding/csv", "Reader", True, "Read", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["encoding/csv", "Reader", True, "ReadAll", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["encoding/csv", "Writer", True, "Write", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["encoding/csv", "Writer", True, "WriteAll", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,12 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["encoding/gob", "", False, "NewDecoder", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["encoding/gob", "Decoder", True, "Decode", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["encoding/gob", "Decoder", True, "DecodeValue", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["encoding/gob", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["encoding/gob", "Encoder", True, "EncodeValue", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["encoding/gob", "GobDecoder", True, "GobDecode", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["encoding/gob", "GobEncoder", True, "GobEncode", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,8 @@
extensions:
- addsTo:
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"]

View File

@@ -0,0 +1,19 @@
extensions:
- addsTo:
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", "Decoder", True, "Buffered", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["encoding/json", "Decoder", True, "Decode", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["encoding/json", "Decoder", True, "Token", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["encoding/json", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["encoding/json", "Encoder", True, "SetIndent", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["encoding/json", "Marshaler", True, "MarshalJSON", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["encoding/json", "Unmarshaler", True, "UnmarshalJSON", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,9 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["encoding", "BinaryMarshaler", True, "MarshalBinary", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["encoding", "BinaryUnmarshaler", True, "UnmarshalBinary", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["encoding", "TextMarshaler", True, "MarshalText", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["encoding", "TextUnmarshaler", True, "UnmarshalText", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,8 @@
extensions:
- addsTo:
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"]

View File

@@ -0,0 +1,28 @@
extensions:
- addsTo:
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", "CharData", True, "Copy", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["encoding/xml", "Comment", True, "Copy", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["encoding/xml", "Decoder", True, "Decode", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["encoding/xml", "Decoder", True, "DecodeElement", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["encoding/xml", "Decoder", True, "RawToken", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["encoding/xml", "Directive", True, "Copy", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["encoding/xml", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["encoding/xml", "Encoder", True, "EncodeElement", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["encoding/xml", "Encoder", True, "EncodeToken", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["encoding/xml", "Encoder", True, "Indent", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["encoding/xml", "Marshaler", True, "MarshalXML", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["encoding/xml", "ProcInst", True, "Copy", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["encoding/xml", "StartElement", True, "Copy", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["encoding/xml", "TokenReader", True, "Token", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["encoding/xml", "Unmarshaler", True, "UnmarshalXML", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,8 @@
extensions:
- addsTo:
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"]

View File

@@ -0,0 +1,11 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["expvar", "Func", True, "Value", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["expvar", "Map", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["expvar", "Map", True, "Set", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["expvar", "String", True, "Set", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["expvar", "String", True, "Value", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["expvar", "Var", True, "String", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,10 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["fmt", "GoStringer", True, "GoString", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["fmt", "ScanState", True, "Read", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["fmt", "ScanState", True, "Token", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["fmt", "State", True, "Write", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["fmt", "Stringer", True, "String", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,7 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["github.com/astaxie/beego/context", "", False, "WriteBody", "", "", "Argument[2]", "Argument[1]", "taint", "manual"]
- ["github.com/beego/beego/server/web/context", "", False, "WriteBody", "", "", "Argument[2]", "Argument[1]", "taint", "manual"]

View File

@@ -0,0 +1,19 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["github.com/astaxie/beego", "", False, "HTML2str", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego", "", False, "Htmlquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego", "", False, "Htmlunquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego", "", False, "MapGet", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["github.com/astaxie/beego", "", False, "ParseForm", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["github.com/astaxie/beego", "", False, "Str2html", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego", "", False, "Substr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/server/web", "", False, "HTML2str", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/server/web", "", False, "Htmlquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/server/web", "", False, "Htmlunquote", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/server/web", "", False, "MapGet", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["github.com/beego/beego/server/web", "", False, "ParseForm", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["github.com/beego/beego/server/web", "", False, "Str2html", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/server/web", "", False, "Substr", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,31 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["github.com/astaxie/beego/utils", "", False, "SliceChunk", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego/utils", "", False, "SliceDiff", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego/utils", "", False, "SliceFilter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego/utils", "", False, "SliceIntersect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego/utils", "", False, "SliceMerge", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego/utils", "", False, "SlicePad", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego/utils", "", False, "SliceRand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego/utils", "", False, "SliceReduce", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego/utils", "", False, "SliceShuffle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego/utils", "", False, "SliceUnique", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego/utils", "BeeMap", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego/utils", "BeeMap", True, "Items", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/astaxie/beego/utils", "BeeMap", True, "Set", "", "", "Argument[1]", "Argument[-1]", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "", False, "SliceChunk", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "", False, "SliceDiff", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "", False, "SliceFilter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "", False, "SliceIntersect", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "", False, "SliceMerge", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "", False, "SlicePad", "", "", "Argument[0..2]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "", False, "SliceRand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "", False, "SliceReduce", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "", False, "SliceShuffle", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "", False, "SliceUnique", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "BeeMap", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "BeeMap", True, "Items", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/beego/beego/core/utils", "BeeMap", True, "Set", "", "", "Argument[1]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,7 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["github.com/elazarl/goproxy", "CertStorage", True, "Fetch", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["github.com/elazarl/goproxy", "CertStorage", True, "Fetch", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,17 @@
extensions:
- addsTo:
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", "Patch", True, "Apply", "", "", "Argument[-1]", "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[-1]", "ReturnValue[0]", "taint", "manual"]
- ["github.com/evanphx/json-patch", "Patch", True, "ApplyIndent", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["github.com/evanphx/json-patch", "Patch", True, "ApplyIndentWithOptions", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["github.com/evanphx/json-patch", "Patch", True, "ApplyIndentWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["github.com/evanphx/json-patch", "Patch", True, "ApplyWithOptions", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["github.com/evanphx/json-patch", "Patch", True, "ApplyWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,7 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["github.com/gin-gonic/gin", "Params", True, "ByName", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/gin-gonic/gin", "Params", True, "Get", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,11 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["github.com/go-pg/pg/$ANYVERSION/orm", "Formatter", True, "Append", "", "", "Argument[1]", "ReturnValue", "taint", "manual"]
- ["github.com/go-pg/pg/$ANYVERSION/orm", "Formatter", True, "Append", "", "", "Argument[1]", "Argument[0]", "taint", "manual"]
- ["github.com/go-pg/pg/$ANYVERSION/orm", "Formatter", True, "AppendBytes", "", "", "Argument[1]", "ReturnValue", "taint", "manual"]
- ["github.com/go-pg/pg/$ANYVERSION/orm", "Formatter", True, "AppendBytes", "", "", "Argument[1]", "Argument[0]", "taint", "manual"]
- ["github.com/go-pg/pg/$ANYVERSION/orm", "Formatter", True, "FormatQuery", "", "", "Argument[1]", "ReturnValue", "taint", "manual"]
- ["github.com/go-pg/pg/$ANYVERSION/orm", "Formatter", True, "FormatQuery", "", "", "Argument[1]", "Argument[0]", "taint", "manual"]

View File

@@ -0,0 +1,9 @@
extensions:
- addsTo:
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", "API", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["github.com/json-iterator/go", "API", True, "UnmarshalFromString", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]

View File

@@ -0,0 +1,7 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["github.com/labstack/echo", "Context", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/labstack/echo", "Context", True, "Set", "", "", "Argument[1]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,25 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["github.com/revel/revel", "Params", True, "Bind", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["github.com/revel/revel", "Params", True, "BindJSON", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["github.com/revel/revel", "RevelHeader", True, "Add", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["github.com/revel/revel", "RevelHeader", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/revel/revel", "RevelHeader", True, "GetAll", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/revel/revel", "RevelHeader", True, "Set", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["github.com/revel/revel", "RevelHeader", True, "SetCookie", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["github.com/revel/revel", "ServerCookie", True, "GetValue", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/revel/revel", "ServerMultipartForm", True, "GetFiles", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/revel/revel", "ServerMultipartForm", True, "GetValues", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/robfig/revel", "Params", True, "Bind", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["github.com/robfig/revel", "Params", True, "BindJSON", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["github.com/robfig/revel", "RevelHeader", True, "Add", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["github.com/robfig/revel", "RevelHeader", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/robfig/revel", "RevelHeader", True, "GetAll", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/robfig/revel", "RevelHeader", True, "Set", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["github.com/robfig/revel", "RevelHeader", True, "SetCookie", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["github.com/robfig/revel", "ServerCookie", True, "GetValue", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/robfig/revel", "ServerMultipartForm", True, "GetFiles", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/robfig/revel", "ServerMultipartForm", True, "GetValues", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["github.com/sendgrid/sendgrid-go/$ANYVERSION/helpers/mail", "", False, "NewContent", "", "", "Argument[1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,16 @@
extensions:
- addsTo:
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"]

View File

@@ -0,0 +1,10 @@
extensions:
- addsTo:
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", "Context", True, "Value", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,21 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["golang.org/x/net/$ANYVERSION/html", "", False, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "", False, "NewTokenizer", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "", False, "NewTokenizerFragment", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "", False, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "", False, "ParseFragment", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "", False, "ParseFragmentWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "", False, "ParseWithOptions", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "", False, "Render", "", "", "Argument[1]", "Argument[0]", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "", False, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "Node", True, "AppendChild", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "Node", True, "InsertBefore", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "Tokenizer", True, "Buffered", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "Tokenizer", True, "Raw", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "Tokenizer", True, "TagAttr", "", "", "Argument[-1]", "ReturnValue[1]", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "Tokenizer", True, "Text", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["golang.org/x/net/$ANYVERSION/html", "Tokenizer", True, "Token", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["google.golang.org/protobuf/$ANYVERSION/internal/encoding/text", "Token", True, "String", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,7 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["google.golang.org/protobuf/$ANYVERSION/internal/impl", "aberrantMessage", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["google.golang.org/protobuf/$ANYVERSION/internal/impl", "aberrantMessage", True, "GetUnknown", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,17 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["github.com/golang/protobuf/$ANYVERSION/proto", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/golang/protobuf/$ANYVERSION/proto", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["github.com/golang/protobuf/$ANYVERSION/proto", "", False, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"]
- ["github.com/golang/protobuf/$ANYVERSION/proto", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["google.golang.org/protobuf/$ANYVERSION/proto", "", False, "Clone", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["google.golang.org/protobuf/$ANYVERSION/proto", "", False, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["google.golang.org/protobuf/$ANYVERSION/proto", "", False, "Merge", "", "", "Argument[1]", "Argument[0]", "taint", "manual"]
- ["google.golang.org/protobuf/$ANYVERSION/proto", "", False, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["google.golang.org/protobuf/$ANYVERSION/proto", "MarshalOptions", True, "Marshal", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["google.golang.org/protobuf/$ANYVERSION/proto", "MarshalOptions", True, "MarshalAppend", "", "", "Argument[1]", "Argument[0]", "taint", "manual"]
- ["google.golang.org/protobuf/$ANYVERSION/proto", "MarshalOptions", True, "MarshalAppend", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"]
- ["google.golang.org/protobuf/$ANYVERSION/proto", "UnmarshalOptions", True, "Unmarshal", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["google.golang.org/protobuf/$ANYVERSION/reflect/protoreflect", "ProtoMessage", True, "ProtoReflect", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,59 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["gopkg.in/couchbase/gocb", "", False, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "", False, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "AnalyticsQuery", True, "ContextId", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "AnalyticsQuery", True, "Deferred", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "AnalyticsQuery", True, "Pretty", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "AnalyticsQuery", True, "Priority", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "AnalyticsQuery", True, "RawParam", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "AnalyticsQuery", True, "ServerSideTimeout", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "N1qlQuery", True, "AdHoc", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "N1qlQuery", True, "Consistency", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "N1qlQuery", True, "ConsistentWith", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "N1qlQuery", True, "Custom", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "N1qlQuery", True, "PipelineBatch", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "N1qlQuery", True, "PipelineCap", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "N1qlQuery", True, "Profile", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "N1qlQuery", True, "ReadOnly", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "N1qlQuery", True, "ScanCap", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["gopkg.in/couchbase/gocb", "N1qlQuery", True, "Timeout", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "", False, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "", False, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "AnalyticsQuery", True, "ContextId", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "AnalyticsQuery", True, "Deferred", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "AnalyticsQuery", True, "Pretty", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "AnalyticsQuery", True, "Priority", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "AnalyticsQuery", True, "RawParam", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "AnalyticsQuery", True, "ServerSideTimeout", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "N1qlQuery", True, "AdHoc", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "N1qlQuery", True, "Consistency", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "N1qlQuery", True, "ConsistentWith", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "N1qlQuery", True, "Custom", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "N1qlQuery", True, "PipelineBatch", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "N1qlQuery", True, "PipelineCap", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "N1qlQuery", True, "Profile", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "N1qlQuery", True, "ReadOnly", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "N1qlQuery", True, "ScanCap", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbase/gocb", "N1qlQuery", True, "Timeout", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "", False, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "", False, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "AnalyticsQuery", True, "ContextId", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "AnalyticsQuery", True, "Deferred", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "AnalyticsQuery", True, "Pretty", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "AnalyticsQuery", True, "Priority", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "AnalyticsQuery", True, "RawParam", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "AnalyticsQuery", True, "ServerSideTimeout", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "N1qlQuery", True, "AdHoc", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "N1qlQuery", True, "Consistency", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "N1qlQuery", True, "ConsistentWith", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "N1qlQuery", True, "Custom", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "N1qlQuery", True, "PipelineBatch", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "N1qlQuery", True, "PipelineCap", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "N1qlQuery", True, "Profile", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "N1qlQuery", True, "ReadOnly", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "N1qlQuery", True, "ScanCap", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["github.com/couchbaselabs/gocb", "N1qlQuery", True, "Timeout", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["gopkg.in/macaron", "RequestBody", True, "String", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,14 @@
extensions:
- addsTo:
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", "Decoder", True, "Decode", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["gopkg.in/yaml", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["gopkg.in/yaml", "Node", True, "Decode", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["gopkg.in/yaml", "Node", True, "Encode", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["gopkg.in/yaml", "Node", True, "SetString", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,7 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["html", "", False, "EscapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["html", "", False, "UnescapeString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,11 @@
extensions:
- addsTo:
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", "Template", True, "Execute", "", "", "Argument[1]", "Argument[0]", "taint", "manual"]
- ["html/template", "Template", True, "ExecuteTemplate", "", "", "Argument[2]", "Argument[0]", "taint", "manual"]

View File

@@ -0,0 +1,17 @@
extensions:
- addsTo:
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", "DirEntry", True, "Info", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["io/fs", "DirEntry", True, "Name", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["io/fs", "FS", True, "Open", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["io/fs", "GlobFS", True, "Glob", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["io/fs", "ReadDirFS", True, "ReadDir", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["io/fs", "ReadFileFS", True, "ReadFile", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["io/fs", "SubFS", True, "Sub", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,7 @@
extensions:
- 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"]

View File

@@ -0,0 +1,24 @@
extensions:
- addsTo:
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", "Reader", True, "Read", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["io", "ReaderAt", True, "ReadAt", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["io", "ReaderFrom", True, "ReadFrom", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["io", "StringWriter", True, "WriteString", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["io", "Writer", True, "Write", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["io", "WriterAt", True, "WriteAt", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["io", "WriterTo", True, "WriteTo", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]

View File

@@ -0,0 +1,15 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["k8s.io/api/core", "Secret", True, "DeepCopy", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["k8s.io/api/core", "Secret", True, "DeepCopyInto", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["k8s.io/api/core", "Secret", True, "DeepCopyObject", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["k8s.io/api/core", "Secret", True, "Marshal", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["k8s.io/api/core", "Secret", True, "Unmarshal", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["k8s.io/api/core", "SecretList", True, "DeepCopy", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["k8s.io/api/core", "SecretList", True, "DeepCopyInto", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["k8s.io/api/core", "SecretList", True, "DeepCopyObject", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["k8s.io/api/core", "SecretList", True, "Marshal", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["k8s.io/api/core", "SecretList", True, "Unmarshal", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]

View File

@@ -0,0 +1,52 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "Convert_Slice_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "Convert_Slice_string_To_int", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "Convert_Slice_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "Convert_Slice_string_To_string", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "Convert_runtime_Object_To_runtime_RawExtension", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "Convert_runtime_RawExtension_To_runtime_Object", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "Convert_string_To_Pointer_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "Convert_string_To_int64", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "Decode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "DecodeInto", "", "", "Argument[1]", "Argument[2]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "DeepCopyJSON", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "DeepCopyJSONValue", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "Encode", "", "", "Argument[1]", "ReturnValue[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "EncodeOrDie", "", "", "Argument[1]", "ReturnValue", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "Field", "", "", "Argument[0]", "Argument[2]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "FieldPtr", "", "", "Argument[0]", "Argument[2]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "NewEncodable", "", "", "Argument[1]", "ReturnValue", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "NewEncodableList", "", "", "Argument[1]", "ReturnValue", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "SetField", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "", False, "UseOrCreateObject", "", "", "Argument[3]", "ReturnValue[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "CacheableObject", True, "CacheEncode", "", "", "Argument[-1]", "Argument[2]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "CacheableObject", True, "GetObject", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Decoder", True, "Decode", "", "", "Argument[0]", "Argument[2]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Decoder", True, "Decode", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Encoder", True, "Encode", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Framer", True, "NewFrameReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Framer", True, "NewFrameWriter", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Object", True, "DeepCopyObject", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "ObjectConvertor", True, "Convert", "", "", "Argument[0]", "Argument[1]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "ObjectVersioner", True, "ConvertToVersion", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "ParameterCodec", True, "DecodeParameters", "", "", "Argument[0]", "Argument[2]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "ParameterCodec", True, "EncodeParameters", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "ProtobufMarshaller", True, "MarshalTo", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "ProtobufReverseMarshaller", True, "MarshalToSizedBuffer", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "RawExtension", True, "DeepCopy", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "RawExtension", True, "DeepCopyInto", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "RawExtension", True, "Marshal", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "RawExtension", True, "Unmarshal", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Unknown", True, "DeepCopy", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Unknown", True, "DeepCopyInto", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Unknown", True, "Marshal", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Unknown", True, "NestedMarshalTo", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Unknown", True, "Unmarshal", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Unstructured", True, "SetUnstructuredContent", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "Unstructured", True, "UnstructuredContent", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "WithoutVersionDecoder", True, "Decode", "", "", "Argument[0]", "Argument[2]", "taint", "manual"]
- ["k8s.io/apimachinery/$ANYVERSION/pkg/runtime", "WithoutVersionDecoder", True, "Decode", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,8 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["log", "Logger", True, "SetOutput", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["log", "Logger", True, "SetPrefix", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["log", "Logger", True, "Writer", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,10 @@
extensions:
- addsTo:
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", "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"]

View File

@@ -0,0 +1,13 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["mime/multipart", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["mime/multipart", "FileHeader", True, "Open", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["mime/multipart", "Part", True, "FileName", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["mime/multipart", "Part", True, "FormName", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["mime/multipart", "Reader", True, "NextPart", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["mime/multipart", "Reader", True, "NextRawPart", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["mime/multipart", "Reader", True, "ReadForm", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["mime/multipart", "Writer", True, "WriteField", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["mime/quotedprintable", "", False, "NewReader", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,15 @@
extensions:
- addsTo:
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", "BufferPool", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/http/httputil", "BufferPool", True, "Put", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["net/http/httputil", "ClientConn", True, "Hijack", "", "", "Argument[-1]", "ReturnValue[0..1]", "taint", "manual"]
- ["net/http/httputil", "ServerConn", True, "Hijack", "", "", "Argument[-1]", "ReturnValue[0..1]", "taint", "manual"]

View File

@@ -0,0 +1,39 @@
extensions:
- 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", "Header", True, "Add", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["net/http", "Header", True, "Clone", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/http", "Header", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/http", "Header", True, "Set", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["net/http", "Header", True, "Values", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/http", "Header", True, "Write", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["net/http", "Header", True, "WriteSubset", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["net/http", "Hijacker", True, "Hijack", "", "", "Argument[-1]", "ReturnValue[0..1]", "taint", "manual"]
- ["net/http", "Request", True, "AddCookie", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["net/http", "Request", True, "Clone", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/http", "Request", True, "Write", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["net/http", "Request", True, "WriteProxy", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["net/http", "Response", True, "Write", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["net/http", "Transport", True, "Clone", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- addsTo:
pack: codeql/go-all
extensible: sourceModel
data:
- ["net/http", "Request", True, "Cookie", "", "", "ReturnValue[0]", "remote", "manual"]
- ["net/http", "Request", True, "Cookies", "", "", "ReturnValue.ArrayElement", "remote", "manual"]
- ["net/http", "Request", True, "FormFile", "", "", "ReturnValue[0..1]", "remote", "manual"]
- ["net/http", "Request", True, "FormValue", "", "", "ReturnValue", "remote", "manual"]
- ["net/http", "Request", True, "MultipartReader", "", "", "ReturnValue[0]", "remote", "manual"]
- ["net/http", "Request", True, "PostFormValue", "", "", "ReturnValue", "remote", "manual"]
- ["net/http", "Request", True, "Referer", "", "", "ReturnValue", "remote", "manual"]
- ["net/http", "Request", True, "UserAgent", "", "", "ReturnValue", "remote", "manual"]

View File

@@ -0,0 +1,11 @@
extensions:
- addsTo:
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", "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[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,25 @@
extensions:
- addsTo:
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", "IPConn", True, "ReadFromIP", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["net", "IPConn", True, "ReadMsgIP", "", "", "Argument[-1]", "Argument[0..1]", "taint", "manual"]
- ["net", "IPConn", True, "WriteMsgIP", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["net", "IPConn", True, "WriteToIP", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["net", "PacketConn", True, "ReadFrom", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["net", "PacketConn", True, "WriteTo", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["net", "TCPListener", True, "File", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["net", "UDPConn", True, "ReadFromUDP", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["net", "UDPConn", True, "ReadMsgUDP", "", "", "Argument[-1]", "Argument[0..1]", "taint", "manual"]
- ["net", "UDPConn", True, "WriteMsgUDP", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["net", "UDPConn", True, "WriteToUDP", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["net", "UnixConn", True, "ReadFromUnix", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["net", "UnixConn", True, "ReadMsgUnix", "", "", "Argument[-1]", "Argument[0..1]", "taint", "manual"]
- ["net", "UnixConn", True, "WriteMsgUnix", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["net", "UnixConn", True, "WriteToUnix", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["net", "UnixListener", True, "File", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]

View File

@@ -0,0 +1,24 @@
extensions:
- addsTo:
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", "MIMEHeader", True, "Add", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["net/textproto", "MIMEHeader", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/textproto", "MIMEHeader", True, "Set", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["net/textproto", "MIMEHeader", True, "Values", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/textproto", "Reader", True, "DotReader", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/textproto", "Reader", True, "ReadCodeLine", "", "", "Argument[-1]", "ReturnValue[1]", "taint", "manual"]
- ["net/textproto", "Reader", True, "ReadContinuedLine", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["net/textproto", "Reader", True, "ReadContinuedLineBytes", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["net/textproto", "Reader", True, "ReadDotBytes", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["net/textproto", "Reader", True, "ReadDotLines", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["net/textproto", "Reader", True, "ReadLine", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["net/textproto", "Reader", True, "ReadLineBytes", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["net/textproto", "Reader", True, "ReadMIMEHeader", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["net/textproto", "Reader", True, "ReadResponse", "", "", "Argument[-1]", "ReturnValue[1]", "taint", "manual"]

View File

@@ -0,0 +1,28 @@
extensions:
- addsTo:
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", "URL", True, "EscapedPath", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/url", "URL", True, "Hostname", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/url", "URL", True, "MarshalBinary", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["net/url", "URL", True, "Parse", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["net/url", "URL", True, "Parse", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"]
- ["net/url", "URL", True, "Port", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/url", "URL", True, "Query", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/url", "URL", True, "RequestURI", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/url", "URL", True, "ResolveReference", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/url", "URL", True, "ResolveReference", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["net/url", "Userinfo", True, "Password", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["net/url", "Userinfo", True, "Username", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/url", "Values", True, "Encode", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["net/url", "Values", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -1,13 +0,0 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: sourceModel
data:
- ["net/http", "Request", True, "Cookie", "", "", "ReturnValue[0]", "remote", "manual"]
- ["net/http", "Request", True, "Cookies", "", "", "ReturnValue.ArrayElement", "remote", "manual"]
- ["net/http", "Request", True, "FormFile", "", "", "ReturnValue[0..1]", "remote", "manual"]
- ["net/http", "Request", True, "FormValue", "", "", "ReturnValue", "remote", "manual"]
- ["net/http", "Request", True, "MultipartReader", "", "", "ReturnValue[0]", "remote", "manual"]
- ["net/http", "Request", True, "PostFormValue", "", "", "ReturnValue", "remote", "manual"]
- ["net/http", "Request", True, "Referer", "", "", "ReturnValue", "remote", "manual"]
- ["net/http", "Request", True, "UserAgent", "", "", "ReturnValue", "remote", "manual"]

View File

@@ -0,0 +1,9 @@
extensions:
- 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", "File", True, "Fd", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,18 @@
extensions:
- addsTo:
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"]

View File

@@ -0,0 +1,10 @@
extensions:
- addsTo:
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"]

View File

@@ -0,0 +1,42 @@
extensions:
- addsTo:
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", "MapIter", True, "Key", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "MapIter", True, "Value", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "StructTag", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "StructTag", True, "Lookup", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["reflect", "Value", True, "Addr", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "Bytes", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "Convert", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "Elem", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "Field", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "FieldByIndex", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "FieldByName", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "FieldByNameFunc", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "Index", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "Interface", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "InterfaceData", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "MapIndex", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "MapKeys", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "MapRange", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "Method", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "MethodByName", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "Pointer", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "Recv", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["reflect", "Value", True, "Send", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["reflect", "Value", True, "Set", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["reflect", "Value", True, "SetBytes", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["reflect", "Value", True, "SetMapIndex", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["reflect", "Value", True, "SetPointer", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["reflect", "Value", True, "SetString", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["reflect", "Value", True, "Slice", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "Slice3", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["reflect", "Value", True, "TryRecv", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["reflect", "Value", True, "TrySend", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["reflect", "Value", True, "UnsafeAddr", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,25 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["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"]
- ["regexp", "Regexp", True, "ExpandString", "", "", "Argument[1..2]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "Find", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "FindAll", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "FindAllString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "FindAllStringSubmatch", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "FindAllSubmatch", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "FindString", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "FindStringSubmatch", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "FindSubmatch", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "ReplaceAll", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "ReplaceAllFunc", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "ReplaceAllLiteral", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "ReplaceAllLiteralString", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "ReplaceAllString", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "ReplaceAllStringFunc", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"]
- ["regexp", "Regexp", True, "Split", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["sort", "", False, "Reverse", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,14 @@
extensions:
- addsTo:
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"]

View File

@@ -0,0 +1,39 @@
extensions:
- addsTo:
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", "Reader", True, "Reset", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["strings", "Replacer", True, "Replace", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["strings", "Replacer", True, "WriteString", "", "", "Argument[1]", "Argument[0]", "taint", "manual"]

View File

@@ -0,0 +1,29 @@
extensions:
- addsTo:
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", "Pointer", True, "Load", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["sync/atomic", "Pointer", True, "Store", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["sync/atomic", "Pointer", True, "Swap", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["sync/atomic", "Pointer", True, "Swap", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["sync/atomic", "Uintptr", True, "Load", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["sync/atomic", "Uintptr", True, "Store", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["sync/atomic", "Uintptr", True, "Swap", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["sync/atomic", "Uintptr", True, "Swap", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["sync/atomic", "Value", True, "Load", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["sync/atomic", "Value", True, "Store", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["sync/atomic", "Value", True, "Swap", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["sync/atomic", "Value", True, "Swap", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,15 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["sync", "Map", True, "CompareAndSwap", "", "", "Argument[2]", "Argument[-1]", "taint", "manual"]
- ["sync", "Map", True, "Load", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["sync", "Map", True, "LoadOrStore", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["sync", "Map", True, "LoadOrStore", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["sync", "Map", True, "LoadOrStore", "", "", "Argument[0..1]", "ReturnValue[0]", "taint", "manual"]
- ["sync", "Map", True, "Store", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["sync", "Map", True, "Swap", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["sync", "Map", True, "Swap", "", "", "Argument[0..1]", "Argument[-1]", "taint", "manual"]
- ["sync", "Pool", True, "Get", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
- ["sync", "Pool", True, "Put", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,13 @@
extensions:
- 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", "Conn", True, "SyscallConn", "", "", "Argument[-1]", "ReturnValue[0]", "taint", "manual"]
- ["syscall", "RawConn", True, "Read", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]
- ["syscall", "RawConn", True, "Write", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]

View File

@@ -0,0 +1,8 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["text/scanner", "Scanner", True, "Init", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
- ["text/scanner", "Scanner", True, "Init", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["text/scanner", "Scanner", True, "TokenText", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

View File

@@ -0,0 +1,6 @@
extensions:
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["text/tabwriter", "Writer", True, "Init", "", "", "Argument[-1]", "Argument[0]", "taint", "manual"]

View File

@@ -0,0 +1,11 @@
extensions:
- addsTo:
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", "Template", True, "Execute", "", "", "Argument[1]", "Argument[0]", "taint", "manual"]
- ["text/template", "Template", True, "ExecuteTemplate", "", "", "Argument[2]", "Argument[0]", "taint", "manual"]

View File

@@ -38,7 +38,6 @@ import semmle.go.frameworks.Echo
import semmle.go.frameworks.ElazarlGoproxy
import semmle.go.frameworks.Email
import semmle.go.frameworks.Encoding
import semmle.go.frameworks.EvanphxJsonPatch
import semmle.go.frameworks.Gin
import semmle.go.frameworks.Glog
import semmle.go.frameworks.GoRestfulHttp

View File

@@ -101,6 +101,7 @@ class Entity extends @object {
* Note that for methods `pkg` is the package path followed by `.` followed
* by the name of the receiver type, for example `io.Writer`.
*/
pragma[nomagic]
predicate hasQualifiedName(string pkg, string name) {
pkg = this.getPackage().getPath() and
name = this.getName()
@@ -517,6 +518,7 @@ class Method extends Function {
* `exists(Type t | t.hasQualifiedName(pkg, tp) and meth = t.getMethod(m))`: the latter
* distinguishes between the method sets of `T` and `*T`, while the former does not.
*/
pragma[nomagic]
predicate hasQualifiedName(string pkg, string tp, string m) {
exists(NamedType t |
this.isIn(t, m) and
@@ -533,9 +535,20 @@ class Method extends Function {
* implement themselves.
*/
predicate implements(Method m) {
if this.isInterfaceMethod() then this = m else this.implementsIncludingInterfaceMethods(m)
}
/**
* Holds if this method implements the method `m`, that is, if `m` is a method
* on an interface, and this is a method with the same name on a type that
* implements that interface.
*
* Note that all methods implement themselves, and that unlike the predicate `implements`
* this does allow interface methods to implement other interfaces.
*/
predicate implementsIncludingInterfaceMethods(Method m) {
this = m
or
not this.isInterfaceMethod() and
exists(Type t |
this = t.getMethod(m.getName()) and
t.implements(m.getReceiverType().getUnderlyingType())

View File

@@ -206,7 +206,7 @@ module ModelValidation {
or
summaryModel(package, type, _, name, signature, ext, _, _, _, provenance) and pred = "summary"
|
not package.regexpMatch("[a-zA-Z0-9_\\./]*") and
not package.replaceAll("$ANYVERSION", "").regexpMatch("[a-zA-Z0-9_\\./-]*") and
result = "Dubious package \"" + package + "\" in " + pred + " model."
or
not type.regexpMatch("[a-zA-Z0-9_\\$<>]*") and
@@ -265,6 +265,15 @@ private string paramsStringPart(Function f, int i) {
*/
string paramsString(Function f) { result = concat(int i | | paramsStringPart(f, i) order by i) }
bindingset[p]
private string interpretPackage(string p) {
exists(string r | r = "([^$]+)([./]\\$ANYVERSION(/|$)(.*))?" |
if exists(p.regexpCapture(r, 4))
then result = package(p.regexpCapture(r, 1), p.regexpCapture(r, 4))
else result = package(p, "")
)
}
/** Gets the source/sink/summary element corresponding to the supplied parameters. */
SourceOrSinkElement interpretElement(
string pkg, string type, boolean subtypes, string name, string signature, string ext
@@ -273,16 +282,16 @@ SourceOrSinkElement interpretElement(
// Go does not need to distinguish functions with signature
signature = "" and
(
exists(Field f | f.hasQualifiedName(pkg, type, name) | result.asEntity() = f)
exists(Field f | f.hasQualifiedName(interpretPackage(pkg), type, name) | result.asEntity() = f)
or
exists(Method m | m.hasQualifiedName(pkg, type, name) |
exists(Method m | m.hasQualifiedName(interpretPackage(pkg), type, name) |
result.asEntity() = m
or
subtypes = true and result.asEntity().(Method).implements(m)
subtypes = true and result.asEntity().(Method).implementsIncludingInterfaceMethods(m)
)
or
type = "" and
exists(Entity e | e.hasQualifiedName(pkg, name) | result.asEntity() = e)
exists(Entity e | e.hasQualifiedName(interpretPackage(pkg), name) | result.asEntity() = e)
)
}

View File

@@ -51,6 +51,12 @@ private predicate isConcreteInterfaceCall(DataFlow::Node call, DataFlow::Node re
isInterfaceCallReceiver(call, recv, _, m) and isConcreteValue(recv)
}
private Function getRealOrSummarizedFunction(DataFlowCallable c) {
result = c.asCallable().asFunction()
or
result = c.asSummarizedCallable().asFunction()
}
/**
* Gets a function that might be called by `call`, where the receiver of `call` has interface type,
* but its concrete types can be determined by local reasoning.
@@ -59,7 +65,7 @@ private DataFlowCallable getConcreteTarget(DataFlow::CallNode call) {
exists(string m | isConcreteInterfaceCall(call, _, m) |
exists(Type concreteReceiverType |
concreteReceiverType = getConcreteType(getInterfaceCallReceiverSource(call)) and
result.asFunction() = concreteReceiverType.getMethod(m)
getRealOrSummarizedFunction(result) = concreteReceiverType.getMethod(m)
)
)
}
@@ -78,7 +84,7 @@ private predicate isInterfaceMethodCall(DataFlow::CallNode call) {
private DataFlowCallable getRestrictedInterfaceTarget(DataFlow::CallNode call) {
exists(InterfaceType tp, Type recvtp, string m |
isInterfaceCallReceiver(call, _, tp, m) and
result.asFunction() = recvtp.getMethod(m) and
getRealOrSummarizedFunction(result) = recvtp.getMethod(m) and
recvtp.implements(tp)
)
}
@@ -93,7 +99,8 @@ DataFlowCallable viableCallable(CallExpr ma) {
else
if isInterfaceMethodCall(call)
then result = getRestrictedInterfaceTarget(call)
else result.asCallable() = call.getACalleeIncludingExternals()
else
[result.asCallable(), result.asSummarizedCallable()] = call.getACalleeIncludingExternals()
)
}
@@ -126,3 +133,25 @@ class ArgumentPosition extends int {
/** Holds if arguments at position `apos` match parameters at position `ppos`. */
pragma[inline]
predicate parameterMatch(ParameterPosition ppos, ArgumentPosition apos) { ppos = apos }
private predicate isInterfaceMethod(Method c) {
c.getReceiverBaseType().getUnderlyingType() instanceof InterfaceType
}
/**
* Holds if `call` is passing `arg` to param `p` in any circumstance except passing
* a receiver parameter to a concrete method.
*/
pragma[inline]
predicate golangSpecificParamArgFilter(
DataFlowCall call, DataFlow::ParameterNode p, DataFlow::ArgumentNode arg
) {
// Interface methods calls may be passed strictly to that exact method's model receiver:
arg.getPosition() != -1
or
exists(Function callTarget | callTarget = call.getNode().(DataFlow::CallNode).getTarget() |
not isInterfaceMethod(callTarget)
or
callTarget = p.getCallable().asSummarizedCallable().asFunction()
)
}

View File

@@ -425,7 +425,8 @@ private module Cached {
exists(ParameterPosition ppos |
viableParam(call, ppos, p) and
argumentPositionMatch(call, arg, ppos) and
compatibleTypes(getNodeDataFlowType(arg), getNodeDataFlowType(p))
compatibleTypes(getNodeDataFlowType(arg), getNodeDataFlowType(p)) and
golangSpecificParamArgFilter(call, p, arg)
)
}

Some files were not shown because too many files have changed in this diff Show More