Files
codeql/go/ql/lib/ext/os.model.yml
2024-12-13 14:59:32 -05:00

61 lines
4.2 KiB
YAML

extensions:
- addsTo:
pack: codeql/go-all
extensible: sinkModel
data:
# path-injection
- ["os", "", False, "Chdir", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "Chmod", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "Chown", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "Chtimes", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "Create", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "Lchown", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "Link", "", "", "Argument[0..1]", "path-injection", "manual"]
- ["os", "", False, "Lstat", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "Mkdir", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "MkdirAll", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "NewFile", "", "", "Argument[1]", "path-injection", "manual"]
- ["os", "", False, "Open", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "OpenFile", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "Readlink", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "Remove", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "RemoveAll", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "Rename", "", "", "Argument[0..1]", "path-injection", "manual"]
- ["os", "", False, "Stat", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "Symlink", "", "", "Argument[0..1]", "path-injection", "manual"]
- ["os", "", False, "Truncate", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "DirFS", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "ReadDir", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "ReadFile", "", "", "Argument[0]", "path-injection", "manual"]
- ["os", "", False, "MkdirTemp", "", "", "Argument[0..1]", "path-injection", "manual"]
- ["os", "", False, "CreateTemp", "", "", "Argument[0..1]", "path-injection", "manual"]
- ["os", "", False, "WriteFile", "", "", "Argument[0]", "path-injection", "manual"]
# command-injection
- ["os", "", False, "StartProcess", "", "", "Argument[0]", "command-injection", "manual"]
- addsTo:
pack: codeql/go-all
extensible: summaryModel
data:
- ["os", "", False, "Expand", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["os", "", False, "ExpandEnv", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["os", "", False, "NewFile", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["os", "File", True, "Fd", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"]
- ["os", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"]
- ["os", "File", True, "ReadAt", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"]
- addsTo:
pack: codeql/go-all
extensible: sourceModel
data:
- ["os", "", False, "Args", "", "", "", "commandargs", "manual"]
- ["os", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] # TODO: when sources can have access paths, use .ArrayElement
- ["os", "", False, "ExpandEnv", "", "", "ReturnValue", "environment", "manual"]
- ["os", "", False, "Getenv", "", "", "ReturnValue", "environment", "manual"]
- ["os", "", False, "LookupEnv", "", "", "ReturnValue[0]", "environment", "manual"]
- ["os", "", False, "Open", "", "", "ReturnValue[0]", "file", "manual"]
- ["os", "", False, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"]
- ["os", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"]
- ["os", "", False, "Stdin", "", "", "", "stdin", "manual"]
- ["os", "", False, "UserCacheDir", "", "", "ReturnValue[0]", "environment", "manual"]
- ["os", "", False, "UserConfigDir", "", "", "ReturnValue[0]", "environment", "manual"]
- ["os", "", False, "UserHomeDir", "", "", "ReturnValue[0]", "environment", "manual"]