Skip to content

Instantly share code, notes, and snippets.

@cyounkins
Created April 16, 2024 18:34
Show Gist options
  • Save cyounkins/1831c2b62ea8bc5f84852526632ecbee to your computer and use it in GitHub Desktop.
Save cyounkins/1831c2b62ea8bc5f84852526632ecbee to your computer and use it in GitHub Desktop.
root@1ce54022191b:/usr/src/app# pyre --noninteractive analyze
2024-04-16 18:31:19,052 [PID 49] INFO No binary specified, looking for `pyre.bin` in PATH
2024-04-16 18:31:19,054 [PID 49] INFO Pyre binary is located at `/usr/local/bin/pyre.bin`
2024-04-16 18:31:19,056 [PID 49] INFO Could not determine the number of Pyre workers from configuration. Auto-set the value to 9.
2024-04-16 18:31:19,059 [PID 49] INFO No typeshed specified, looking for it...
2024-04-16 18:31:19,060 [PID 49] INFO Found: `/usr/local/lib/pyre_check/typeshed`
2024-04-16 18:31:19,065 [PID 49] INFO Writing arguments into /tmp/pyre_arguments_u_kfqdbp.json...
2024-04-16 18:31:19,066 [PID 49] DEBUG Arguments:
{
"source_paths": {
"kind": "simple",
"paths": [
"/usr/src/app"
]
},
"search_paths": [
"/usr/local/lib/python3.10/site-packages$pip",
"/usr/local/lib/python3.10/site-packages$sqlalchemy-stubs",
"/usr/local/lib/python3.10/site-packages$packaging",
"/usr/local/lib/python3.10/site-packages$click",
"/usr/local/lib/python3.10/site-packages$libcst",
"/usr/local/lib/python3.10/site-packages$marshmallow",
"/usr/local/lib/python3.10/site-packages$typeguard",
"/usr/local/lib/python3.10/site-packages$testslide",
"/usr/local/lib/python3.10/site-packages$dataclasses_json",
"/usr/local/lib/pyre_check/typeshed/stdlib",
"/usr/local/lib/pyre_check/typeshed/stubs/D3DShot",
"/usr/local/lib/pyre_check/typeshed/stubs/DateTimeRange",
"/usr/local/lib/pyre_check/typeshed/stubs/Deprecated",
"/usr/local/lib/pyre_check/typeshed/stubs/ExifRead",
"/usr/local/lib/pyre_check/typeshed/stubs/Flask-Cors",
"/usr/local/lib/pyre_check/typeshed/stubs/Flask-Migrate",
"/usr/local/lib/pyre_check/typeshed/stubs/Flask-SQLAlchemy",
"/usr/local/lib/pyre_check/typeshed/stubs/JACK-Client",
"/usr/local/lib/pyre_check/typeshed/stubs/Markdown",
"/usr/local/lib/pyre_check/typeshed/stubs/Pillow",
"/usr/local/lib/pyre_check/typeshed/stubs/PyAutoGUI",
"/usr/local/lib/pyre_check/typeshed/stubs/PyMySQL",
"/usr/local/lib/pyre_check/typeshed/stubs/PyScreeze",
"/usr/local/lib/pyre_check/typeshed/stubs/PyYAML",
"/usr/local/lib/pyre_check/typeshed/stubs/Pygments",
"/usr/local/lib/pyre_check/typeshed/stubs/SQLAlchemy",
"/usr/local/lib/pyre_check/typeshed/stubs/Send2Trash",
"/usr/local/lib/pyre_check/typeshed/stubs/aiofiles",
"/usr/local/lib/pyre_check/typeshed/stubs/annoy",
"/usr/local/lib/pyre_check/typeshed/stubs/appdirs",
"/usr/local/lib/pyre_check/typeshed/stubs/aws-xray-sdk",
"/usr/local/lib/pyre_check/typeshed/stubs/babel",
"/usr/local/lib/pyre_check/typeshed/stubs/backports.ssl_match_hostname",
"/usr/local/lib/pyre_check/typeshed/stubs/beautifulsoup4",
"/usr/local/lib/pyre_check/typeshed/stubs/bleach",
"/usr/local/lib/pyre_check/typeshed/stubs/boto",
"/usr/local/lib/pyre_check/typeshed/stubs/braintree",
"/usr/local/lib/pyre_check/typeshed/stubs/cachetools",
"/usr/local/lib/pyre_check/typeshed/stubs/caldav",
"/usr/local/lib/pyre_check/typeshed/stubs/cffi",
"/usr/local/lib/pyre_check/typeshed/stubs/chardet",
"/usr/local/lib/pyre_check/typeshed/stubs/chevron",
"/usr/local/lib/pyre_check/typeshed/stubs/click-spinner",
"/usr/local/lib/pyre_check/typeshed/stubs/colorama",
"/usr/local/lib/pyre_check/typeshed/stubs/commonmark",
"/usr/local/lib/pyre_check/typeshed/stubs/console-menu",
"/usr/local/lib/pyre_check/typeshed/stubs/contextvars",
"/usr/local/lib/pyre_check/typeshed/stubs/croniter",
"/usr/local/lib/pyre_check/typeshed/stubs/dateparser",
"/usr/local/lib/pyre_check/typeshed/stubs/decorator",
"/usr/local/lib/pyre_check/typeshed/stubs/dj-database-url",
"/usr/local/lib/pyre_check/typeshed/stubs/dockerfile-parse",
"/usr/local/lib/pyre_check/typeshed/stubs/docopt",
"/usr/local/lib/pyre_check/typeshed/stubs/docutils",
"/usr/local/lib/pyre_check/typeshed/stubs/editdistance",
"/usr/local/lib/pyre_check/typeshed/stubs/emoji",
"/usr/local/lib/pyre_check/typeshed/stubs/entrypoints",
"/usr/local/lib/pyre_check/typeshed/stubs/first",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-2020",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-bugbear",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-builtins",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-docstrings",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-plugin-utils",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-rst-docstrings",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-simplify",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-typing-imports",
"/usr/local/lib/pyre_check/typeshed/stubs/fpdf2",
"/usr/local/lib/pyre_check/typeshed/stubs/gdb",
"/usr/local/lib/pyre_check/typeshed/stubs/google-cloud-ndb",
"/usr/local/lib/pyre_check/typeshed/stubs/hdbcli",
"/usr/local/lib/pyre_check/typeshed/stubs/html5lib",
"/usr/local/lib/pyre_check/typeshed/stubs/httplib2",
"/usr/local/lib/pyre_check/typeshed/stubs/humanfriendly",
"/usr/local/lib/pyre_check/typeshed/stubs/ibm-db",
"/usr/local/lib/pyre_check/typeshed/stubs/influxdb-client",
"/usr/local/lib/pyre_check/typeshed/stubs/invoke",
"/usr/local/lib/pyre_check/typeshed/stubs/jmespath",
"/usr/local/lib/pyre_check/typeshed/stubs/jsonschema",
"/usr/local/lib/pyre_check/typeshed/stubs/keyboard",
"/usr/local/lib/pyre_check/typeshed/stubs/ldap3",
"/usr/local/lib/pyre_check/typeshed/stubs/mock",
"/usr/local/lib/pyre_check/typeshed/stubs/mypy-extensions",
"/usr/local/lib/pyre_check/typeshed/stubs/mysqlclient",
"/usr/local/lib/pyre_check/typeshed/stubs/netaddr",
"/usr/local/lib/pyre_check/typeshed/stubs/oauthlib",
"/usr/local/lib/pyre_check/typeshed/stubs/openpyxl",
"/usr/local/lib/pyre_check/typeshed/stubs/opentracing",
"/usr/local/lib/pyre_check/typeshed/stubs/paho-mqtt",
"/usr/local/lib/pyre_check/typeshed/stubs/paramiko",
"/usr/local/lib/pyre_check/typeshed/stubs/parsimonious",
"/usr/local/lib/pyre_check/typeshed/stubs/passlib",
"/usr/local/lib/pyre_check/typeshed/stubs/passpy",
"/usr/local/lib/pyre_check/typeshed/stubs/peewee",
"/usr/local/lib/pyre_check/typeshed/stubs/pep8-naming",
"/usr/local/lib/pyre_check/typeshed/stubs/pika",
"/usr/local/lib/pyre_check/typeshed/stubs/playsound",
"/usr/local/lib/pyre_check/typeshed/stubs/polib",
"/usr/local/lib/pyre_check/typeshed/stubs/prettytable",
"/usr/local/lib/pyre_check/typeshed/stubs/protobuf",
"/usr/local/lib/pyre_check/typeshed/stubs/psutil",
"/usr/local/lib/pyre_check/typeshed/stubs/psycopg2",
"/usr/local/lib/pyre_check/typeshed/stubs/pyOpenSSL",
"/usr/local/lib/pyre_check/typeshed/stubs/pyRFC3339",
"/usr/local/lib/pyre_check/typeshed/stubs/pyasn1",
"/usr/local/lib/pyre_check/typeshed/stubs/pyaudio",
"/usr/local/lib/pyre_check/typeshed/stubs/pycocotools",
"/usr/local/lib/pyre_check/typeshed/stubs/pycurl",
"/usr/local/lib/pyre_check/typeshed/stubs/pyfarmhash",
"/usr/local/lib/pyre_check/typeshed/stubs/pyflakes",
"/usr/local/lib/pyre_check/typeshed/stubs/pyinstaller",
"/usr/local/lib/pyre_check/typeshed/stubs/pynput",
"/usr/local/lib/pyre_check/typeshed/stubs/pyserial",
"/usr/local/lib/pyre_check/typeshed/stubs/pysftp",
"/usr/local/lib/pyre_check/typeshed/stubs/pytest-lazy-fixture",
"/usr/local/lib/pyre_check/typeshed/stubs/python-crontab",
"/usr/local/lib/pyre_check/typeshed/stubs/python-datemath",
"/usr/local/lib/pyre_check/typeshed/stubs/python-dateutil",
"/usr/local/lib/pyre_check/typeshed/stubs/python-gflags",
"/usr/local/lib/pyre_check/typeshed/stubs/python-jose",
"/usr/local/lib/pyre_check/typeshed/stubs/python-nmap",
"/usr/local/lib/pyre_check/typeshed/stubs/python-slugify",
"/usr/local/lib/pyre_check/typeshed/stubs/python-xlib",
"/usr/local/lib/pyre_check/typeshed/stubs/pytz",
"/usr/local/lib/pyre_check/typeshed/stubs/pyvmomi",
"/usr/local/lib/pyre_check/typeshed/stubs/pywin32",
"/usr/local/lib/pyre_check/typeshed/stubs/redis",
"/usr/local/lib/pyre_check/typeshed/stubs/regex",
"/usr/local/lib/pyre_check/typeshed/stubs/requests",
"/usr/local/lib/pyre_check/typeshed/stubs/retry",
"/usr/local/lib/pyre_check/typeshed/stubs/setuptools",
"/usr/local/lib/pyre_check/typeshed/stubs/simplejson",
"/usr/local/lib/pyre_check/typeshed/stubs/singledispatch",
"/usr/local/lib/pyre_check/typeshed/stubs/six",
"/usr/local/lib/pyre_check/typeshed/stubs/slumber",
"/usr/local/lib/pyre_check/typeshed/stubs/stdlib-list",
"/usr/local/lib/pyre_check/typeshed/stubs/stripe",
"/usr/local/lib/pyre_check/typeshed/stubs/tabulate",
"/usr/local/lib/pyre_check/typeshed/stubs/tensorflow",
"/usr/local/lib/pyre_check/typeshed/stubs/termcolor",
"/usr/local/lib/pyre_check/typeshed/stubs/toml",
"/usr/local/lib/pyre_check/typeshed/stubs/toposort",
"/usr/local/lib/pyre_check/typeshed/stubs/tqdm",
"/usr/local/lib/pyre_check/typeshed/stubs/tree-sitter",
"/usr/local/lib/pyre_check/typeshed/stubs/tree-sitter-languages",
"/usr/local/lib/pyre_check/typeshed/stubs/ttkthemes",
"/usr/local/lib/pyre_check/typeshed/stubs/typed-ast",
"/usr/local/lib/pyre_check/typeshed/stubs/tzlocal",
"/usr/local/lib/pyre_check/typeshed/stubs/ujson",
"/usr/local/lib/pyre_check/typeshed/stubs/untangle",
"/usr/local/lib/pyre_check/typeshed/stubs/urllib3",
"/usr/local/lib/pyre_check/typeshed/stubs/vobject",
"/usr/local/lib/pyre_check/typeshed/stubs/waitress",
"/usr/local/lib/pyre_check/typeshed/stubs/whatthepatch",
"/usr/local/lib/pyre_check/typeshed/stubs/xmltodict",
"/usr/local/lib/pyre_check/typeshed/stubs/xxhash",
"/usr/local/lib/pyre_check/typeshed/stubs/zstd",
"/usr/local/lib/pyre_check/typeshed/stubs/zxcvbn"
],
"excludes": [],
"checked_directory_allowlist": [
"/usr/src/app"
],
"checked_directory_blocklist": [],
"extensions": [],
"log_path": "/usr/src/app/.pyre",
"global_root": "/usr/src/app",
"debug": false,
"python_version": {
"major": 3,
"minor": 10,
"micro": 14
},
"shared_memory": {},
"parallel": true,
"number_of_workers": 9,
"inline_decorators": false,
"no_verify": false,
"verify_dsl": false,
"verify_taint_config_only": false,
"strict": false,
"taint_model_paths": [
"/usr/src/app/stubs"
],
"use_cache": false,
"build_cache_only": false,
"check_invariants": false,
"limit_entrypoints": false,
"compact_ocaml_heap": false,
"saved_state": {
"watchman_root": null,
"project_name": null,
"cache_critical_files": []
}
}
2024-04-16 18:31:20,087 [PID 49] INFO Initializing shared memory (heap_size: 8589934592, dep_table_pow: 27, hash_table_pow: 26)
2024-04-16 18:31:20,103 [PID 49] INFO Verifying taint configuration.
2024-04-16 18:31:20,118 [PID 49] PERFORMANCE Verified taint configuration: 0.050s
2024-04-16 18:31:20,130 [PID 49] INFO Verifying model syntax.
2024-04-16 18:31:20,136 [PID 49] INFO Finding taint models in `/usr/src/app/stubs`.
2024-04-16 18:31:20,152 [PID 49] PERFORMANCE Verified model syntax: 0.011s
2024-04-16 18:31:20,160 [PID 49] INFO Parsing taint models for decorator modes...
2024-04-16 18:31:20,172 [PID 49] INFO Finding taint models in `/usr/src/app/stubs`.
2024-04-16 18:31:20,191 [PID 49] PERFORMANCE Parsed taint models for decorator modes: 0.010s
2024-04-16 18:31:20,195 [PID 49] INFO Starting type checking...
2024-04-16 18:31:20,198 [PID 49] INFO Creating environment...
2024-04-16 18:31:20,200 [PID 49] INFO Building module tracker...
2024-04-16 18:31:20,201 [PID 49] PERFORMANCE Module tracker built: 0.139s
2024-04-16 18:31:20,202 [PID 49] PERFORMANCE Full environment built: 0.246s
2024-04-16 18:31:20,203 [PID 49] INFO Found 4420 modules
2024-04-16 18:31:20,205 [PID 49] INFO Collecting all definitions...
2024-04-16 18:31:23,094 [PID 49] PERFORMANCE Collected definitions (defines: 79227): 2.563s
2024-04-16 18:31:23,104 [PID 49] INFO Checking 79227 functions...
2024-04-16 18:31:25,095 [PID 49] INFO Processed 4402 of 79227 functions
2024-04-16 18:31:28,100 [PID 49] INFO Processed 8804 of 79227 functions
2024-04-16 18:31:28,118 [PID 49] INFO Processed 13206 of 79227 functions
2024-04-16 18:31:29,101 [PID 49] INFO Processed 17608 of 79227 functions
2024-04-16 18:31:29,105 [PID 49] INFO Processed 22010 of 79227 functions
2024-04-16 18:31:30,106 [PID 49] INFO Processed 26412 of 79227 functions
2024-04-16 18:31:30,123 [PID 49] INFO Processed 30814 of 79227 functions
2024-04-16 18:31:30,131 [PID 49] INFO Processed 35216 of 79227 functions
2024-04-16 18:31:31,104 [PID 49] INFO Processed 39618 of 79227 functions
2024-04-16 18:31:31,109 [PID 49] INFO Processed 44020 of 79227 functions
2024-04-16 18:31:34,107 [PID 49] INFO Processed 48422 of 79227 functions
2024-04-16 18:31:35,112 [PID 49] INFO Processed 52824 of 79227 functions
2024-04-16 18:31:35,113 [PID 49] INFO Processed 57226 of 79227 functions
2024-04-16 18:31:35,114 [PID 49] INFO Processed 61619 of 79227 functions
2024-04-16 18:31:36,119 [PID 49] INFO Processed 66021 of 79227 functions
2024-04-16 18:31:36,131 [PID 49] INFO Processed 70423 of 79227 functions
2024-04-16 18:31:36,137 [PID 49] INFO Processed 74825 of 79227 functions
2024-04-16 18:31:36,141 [PID 49] INFO Processed 79227 of 79227 functions
2024-04-16 18:31:36,146 [PID 49] PERFORMANCE Check_TypeCheck: 13.898s
2024-04-16 18:31:36,166 [PID 49] MEMORY Shared memory size post-typecheck (size: 190)
2024-04-16 18:31:36,172 [PID 49] INFO Computing class hierarchy graph...
2024-04-16 18:31:37,118 [PID 49] PERFORMANCE Computed class hierarchy graph: 0.690s
2024-04-16 18:31:37,124 [PID 49] INFO Computing class intervals...
2024-04-16 18:31:37,129 [PID 49] PERFORMANCE Computed class intervals: 0.157s
2024-04-16 18:31:37,134 [PID 49] INFO Fetching initial callables to analyze...
2024-04-16 18:31:38,122 [PID 49] PERFORMANCE Fetched initial callables to analyze (definitions: 13493, internals: 4, stubs: 50160): 0.964s
2024-04-16 18:31:38,124 [PID 49] INFO Parsing taint models...
2024-04-16 18:31:39,129 [PID 49] INFO Finding taint models in `/usr/src/app/stubs`.
2024-04-16 18:31:39,130 [PID 49] PERFORMANCE Parsed taint models (models: 8, queries: 0): 0.733s
2024-04-16 18:31:39,130 [PID 49] INFO Computing inferred models...
2024-04-16 18:31:40,132 [PID 49] PERFORMANCE Computed inferred models (models: 768): 0.796s
2024-04-16 18:31:40,152 [PID 49] INFO Computing overrides...
2024-04-16 18:31:41,134 [PID 49] WARNING `google.protobuf.message.Message.ClearField` has 57 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,135 [PID 49] WARNING `google.protobuf.message.Message.__init__` has 58 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,135 [PID 49] WARNING `libcst._nodes.base.CSTNode._codegen_impl` has 102 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,136 [PID 49] WARNING `libcst._nodes.base.CSTNode._visit_and_replace_children` has 119 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,137 [PID 49] WARNING `object.__eq__` has 530 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,137 [PID 49] WARNING `object.__hash__` has 115 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,138 [PID 49] WARNING `object.__init__` has 1927 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,138 [PID 49] WARNING `object.__ne__` has 370 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,138 [PID 49] WARNING `object.__repr__` has 176 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,139 [PID 49] WARNING `object.__setattr__` has 52 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,139 [PID 49] WARNING `object.__str__` has 81 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,139 [PID 49] WARNING `pika.amqp_object.Method.synchronous` has 66 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,140 [PID 49] WARNING `type.__call__` has 220 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,140 [PID 49] WARNING `type.__init__` has 1674 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,141 [PID 49] WARNING `type.__new__` has 294 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,141 [PID 49] WARNING `type.__or__` has 53 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,141 [PID 49] WARNING `typing.Collection.__len__` has 59 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,141 [PID 49] WARNING `typing.GenericMeta.__getitem__` has 72 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,142 [PID 49] WARNING `typing.Iterable.__iter__` has 57 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,142 [PID 49] WARNING `typing.NamedTuple.__init__` has 232 overrides, this might slow down the analysis considerably.
2024-04-16 18:31:41,143 [PID 49] PERFORMANCE Overrides computed: 0.782s
2024-04-16 18:31:41,143 [PID 49] INFO Indexing global constants...
2024-04-16 18:31:42,137 [PID 49] PERFORMANCE Finished constant propagation analysis: 0.551s
2024-04-16 18:31:42,155 [PID 49] INFO Building call graph...
2024-04-16 18:31:47,149 [PID 49] PERFORMANCE Call graph built: 5.611s
2024-04-16 18:31:47,151 [PID 49] INFO Computing dependencies...
2024-04-16 18:31:47,152 [PID 49] PERFORMANCE Computed dependencies: 0.096s
2024-04-16 18:31:47,153 [PID 49] INFO Purging shared memory...
2024-04-16 18:31:47,153 [PID 49] PERFORMANCE Purged shared memory: 0.017s
2024-04-16 18:31:47,153 [PID 49] INFO Purging shared memory...
2024-04-16 18:31:47,154 [PID 49] PERFORMANCE Purged shared memory: 0.010s
2024-04-16 18:31:47,154 [PID 49] INFO Analysis fixpoint started for 17843 overrides and 8 functions...
2024-04-16 18:31:48,151 [PID 49] PERFORMANCE Recorded initial models: 1.000s
2024-04-16 18:31:48,152 [PID 49] INFO Iteration #0. 4 callables [vuln.$toplevel, vuln.my_sink, vuln.my_source, vuln.vulnerable_func]
2024-04-16 18:31:48,153 [PID 49] WARNING vuln:15:4-15:15: Revealed type for engine.execute: BoundMethod[typing.Callable(sqlalchemy.engine.base.Engine.execute)[..., unknown][[[Named(self, sqlalchemy.engine.base.Engine), Named(statement, typing.Union[sqlalchemy.sql.compiler.Compiled, sqlalchemy.sql.ddl.DDLElement, sqlalchemy.sql.elements.ClauseElement, sqlalchemy.sql.functions.FunctionElement, sqlalchemy.sql.schema.DefaultGenerator]), Variable(typing.Mapping[str, typing.Any]), Keywords(typing.Any)], sqlalchemy.engine.cursor.CursorResult][[Named(self, sqlalchemy.engine.base.Engine), Named(statement, str), Variable(typing.Any), Keywords(typing.Any)], sqlalchemy.engine.cursor.CursorResult]], sqlalchemy.engine.base.Engine]
2024-04-16 18:31:48,153 [PID 49] WARNING vuln:21:4-21:15: Revealed type for engine.execute: BoundMethod[typing.Callable(sqlalchemy.engine.base.Engine.execute)[..., unknown][[[Named(self, sqlalchemy.engine.base.Engine), Named(statement, typing.Union[sqlalchemy.sql.compiler.Compiled, sqlalchemy.sql.ddl.DDLElement, sqlalchemy.sql.elements.ClauseElement, sqlalchemy.sql.functions.FunctionElement, sqlalchemy.sql.schema.DefaultGenerator]), Variable(typing.Mapping[str, typing.Any]), Keywords(typing.Any)], sqlalchemy.engine.cursor.CursorResult][[Named(self, sqlalchemy.engine.base.Engine), Named(statement, str), Variable(typing.Any), Keywords(typing.Any)], sqlalchemy.engine.cursor.CursorResult]], sqlalchemy.engine.base.Engine]
2024-04-16 18:31:48,154 [PID 49] INFO Processed 4 of 4 callables
2024-04-16 18:31:48,154 [PID 49] INFO Iteration #0, 4 callables, heap size 0.211GB took 0.03s
2024-04-16 18:31:48,154 [PID 49] INFO Post-processing issues for multi-source rules...
2024-04-16 18:31:48,155 [PID 49] PERFORMANCE Finished issue post-processing for multi-source rules: 0.148s
2024-04-16 18:31:48,155 [PID 49] INFO Found 1 issues
2024-04-16 18:31:48,156 [PID 49] PERFORMANCE Analysis fixpoint complete (iterations: 1, heap size: 211164096, issues: 1): 1.182s
2024-04-16 18:31:48,156 [PID 49] PERFORMANCE Analyze: 28.847s
[
{
"line": 23,
"column": 12,
"stop_line": 23,
"stop_column": 17,
"path": "vuln.py",
"code": 5002,
"name": "Test flow",
"description": "Test flow [5002]: Data from [Test] source(s) may reach [Test] sink(s)",
"define": "vuln.vulnerable_func"
}
]
root@1ce54022191b:/usr/src/app# pyre --noninteractive analyze
2024-04-16 18:32:48,326 [PID 134] INFO No binary specified, looking for `pyre.bin` in PATH
2024-04-16 18:32:48,329 [PID 134] INFO Pyre binary is located at `/usr/local/bin/pyre.bin`
2024-04-16 18:32:48,330 [PID 134] INFO Could not determine the number of Pyre workers from configuration. Auto-set the value to 9.
2024-04-16 18:32:48,333 [PID 134] INFO No typeshed specified, looking for it...
2024-04-16 18:32:48,333 [PID 134] INFO Found: `/usr/local/lib/pyre_check/typeshed`
2024-04-16 18:32:48,340 [PID 134] INFO Writing arguments into /tmp/pyre_arguments_5a3bxtzu.json...
2024-04-16 18:32:48,341 [PID 134] DEBUG Arguments:
{
"source_paths": {
"kind": "simple",
"paths": [
"/usr/src/app"
]
},
"search_paths": [
"/usr/local/lib/python3.10/site-packages$dataclasses_json",
"/usr/local/lib/python3.10/site-packages$typeguard",
"/usr/local/lib/python3.10/site-packages$packaging",
"/usr/local/lib/python3.10/site-packages$marshmallow",
"/usr/local/lib/python3.10/site-packages$testslide",
"/usr/local/lib/python3.10/site-packages$libcst",
"/usr/local/lib/python3.10/site-packages$click",
"/usr/local/lib/python3.10/site-packages$sqlalchemy-stubs",
"/usr/local/lib/python3.10/site-packages$pip",
"/usr/local/lib/pyre_check/typeshed/stdlib",
"/usr/local/lib/pyre_check/typeshed/stubs/D3DShot",
"/usr/local/lib/pyre_check/typeshed/stubs/DateTimeRange",
"/usr/local/lib/pyre_check/typeshed/stubs/Deprecated",
"/usr/local/lib/pyre_check/typeshed/stubs/ExifRead",
"/usr/local/lib/pyre_check/typeshed/stubs/Flask-Cors",
"/usr/local/lib/pyre_check/typeshed/stubs/Flask-Migrate",
"/usr/local/lib/pyre_check/typeshed/stubs/Flask-SQLAlchemy",
"/usr/local/lib/pyre_check/typeshed/stubs/JACK-Client",
"/usr/local/lib/pyre_check/typeshed/stubs/Markdown",
"/usr/local/lib/pyre_check/typeshed/stubs/Pillow",
"/usr/local/lib/pyre_check/typeshed/stubs/PyAutoGUI",
"/usr/local/lib/pyre_check/typeshed/stubs/PyMySQL",
"/usr/local/lib/pyre_check/typeshed/stubs/PyScreeze",
"/usr/local/lib/pyre_check/typeshed/stubs/PyYAML",
"/usr/local/lib/pyre_check/typeshed/stubs/Pygments",
"/usr/local/lib/pyre_check/typeshed/stubs/SQLAlchemy",
"/usr/local/lib/pyre_check/typeshed/stubs/Send2Trash",
"/usr/local/lib/pyre_check/typeshed/stubs/aiofiles",
"/usr/local/lib/pyre_check/typeshed/stubs/annoy",
"/usr/local/lib/pyre_check/typeshed/stubs/appdirs",
"/usr/local/lib/pyre_check/typeshed/stubs/aws-xray-sdk",
"/usr/local/lib/pyre_check/typeshed/stubs/babel",
"/usr/local/lib/pyre_check/typeshed/stubs/backports.ssl_match_hostname",
"/usr/local/lib/pyre_check/typeshed/stubs/beautifulsoup4",
"/usr/local/lib/pyre_check/typeshed/stubs/bleach",
"/usr/local/lib/pyre_check/typeshed/stubs/boto",
"/usr/local/lib/pyre_check/typeshed/stubs/braintree",
"/usr/local/lib/pyre_check/typeshed/stubs/cachetools",
"/usr/local/lib/pyre_check/typeshed/stubs/caldav",
"/usr/local/lib/pyre_check/typeshed/stubs/cffi",
"/usr/local/lib/pyre_check/typeshed/stubs/chardet",
"/usr/local/lib/pyre_check/typeshed/stubs/chevron",
"/usr/local/lib/pyre_check/typeshed/stubs/click-spinner",
"/usr/local/lib/pyre_check/typeshed/stubs/colorama",
"/usr/local/lib/pyre_check/typeshed/stubs/commonmark",
"/usr/local/lib/pyre_check/typeshed/stubs/console-menu",
"/usr/local/lib/pyre_check/typeshed/stubs/contextvars",
"/usr/local/lib/pyre_check/typeshed/stubs/croniter",
"/usr/local/lib/pyre_check/typeshed/stubs/dateparser",
"/usr/local/lib/pyre_check/typeshed/stubs/decorator",
"/usr/local/lib/pyre_check/typeshed/stubs/dj-database-url",
"/usr/local/lib/pyre_check/typeshed/stubs/dockerfile-parse",
"/usr/local/lib/pyre_check/typeshed/stubs/docopt",
"/usr/local/lib/pyre_check/typeshed/stubs/docutils",
"/usr/local/lib/pyre_check/typeshed/stubs/editdistance",
"/usr/local/lib/pyre_check/typeshed/stubs/emoji",
"/usr/local/lib/pyre_check/typeshed/stubs/entrypoints",
"/usr/local/lib/pyre_check/typeshed/stubs/first",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-2020",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-bugbear",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-builtins",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-docstrings",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-plugin-utils",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-rst-docstrings",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-simplify",
"/usr/local/lib/pyre_check/typeshed/stubs/flake8-typing-imports",
"/usr/local/lib/pyre_check/typeshed/stubs/fpdf2",
"/usr/local/lib/pyre_check/typeshed/stubs/gdb",
"/usr/local/lib/pyre_check/typeshed/stubs/google-cloud-ndb",
"/usr/local/lib/pyre_check/typeshed/stubs/hdbcli",
"/usr/local/lib/pyre_check/typeshed/stubs/html5lib",
"/usr/local/lib/pyre_check/typeshed/stubs/httplib2",
"/usr/local/lib/pyre_check/typeshed/stubs/humanfriendly",
"/usr/local/lib/pyre_check/typeshed/stubs/ibm-db",
"/usr/local/lib/pyre_check/typeshed/stubs/influxdb-client",
"/usr/local/lib/pyre_check/typeshed/stubs/invoke",
"/usr/local/lib/pyre_check/typeshed/stubs/jmespath",
"/usr/local/lib/pyre_check/typeshed/stubs/jsonschema",
"/usr/local/lib/pyre_check/typeshed/stubs/keyboard",
"/usr/local/lib/pyre_check/typeshed/stubs/ldap3",
"/usr/local/lib/pyre_check/typeshed/stubs/mock",
"/usr/local/lib/pyre_check/typeshed/stubs/mypy-extensions",
"/usr/local/lib/pyre_check/typeshed/stubs/mysqlclient",
"/usr/local/lib/pyre_check/typeshed/stubs/netaddr",
"/usr/local/lib/pyre_check/typeshed/stubs/oauthlib",
"/usr/local/lib/pyre_check/typeshed/stubs/openpyxl",
"/usr/local/lib/pyre_check/typeshed/stubs/opentracing",
"/usr/local/lib/pyre_check/typeshed/stubs/paho-mqtt",
"/usr/local/lib/pyre_check/typeshed/stubs/paramiko",
"/usr/local/lib/pyre_check/typeshed/stubs/parsimonious",
"/usr/local/lib/pyre_check/typeshed/stubs/passlib",
"/usr/local/lib/pyre_check/typeshed/stubs/passpy",
"/usr/local/lib/pyre_check/typeshed/stubs/peewee",
"/usr/local/lib/pyre_check/typeshed/stubs/pep8-naming",
"/usr/local/lib/pyre_check/typeshed/stubs/pika",
"/usr/local/lib/pyre_check/typeshed/stubs/playsound",
"/usr/local/lib/pyre_check/typeshed/stubs/polib",
"/usr/local/lib/pyre_check/typeshed/stubs/prettytable",
"/usr/local/lib/pyre_check/typeshed/stubs/protobuf",
"/usr/local/lib/pyre_check/typeshed/stubs/psutil",
"/usr/local/lib/pyre_check/typeshed/stubs/psycopg2",
"/usr/local/lib/pyre_check/typeshed/stubs/pyOpenSSL",
"/usr/local/lib/pyre_check/typeshed/stubs/pyRFC3339",
"/usr/local/lib/pyre_check/typeshed/stubs/pyasn1",
"/usr/local/lib/pyre_check/typeshed/stubs/pyaudio",
"/usr/local/lib/pyre_check/typeshed/stubs/pycocotools",
"/usr/local/lib/pyre_check/typeshed/stubs/pycurl",
"/usr/local/lib/pyre_check/typeshed/stubs/pyfarmhash",
"/usr/local/lib/pyre_check/typeshed/stubs/pyflakes",
"/usr/local/lib/pyre_check/typeshed/stubs/pyinstaller",
"/usr/local/lib/pyre_check/typeshed/stubs/pynput",
"/usr/local/lib/pyre_check/typeshed/stubs/pyserial",
"/usr/local/lib/pyre_check/typeshed/stubs/pysftp",
"/usr/local/lib/pyre_check/typeshed/stubs/pytest-lazy-fixture",
"/usr/local/lib/pyre_check/typeshed/stubs/python-crontab",
"/usr/local/lib/pyre_check/typeshed/stubs/python-datemath",
"/usr/local/lib/pyre_check/typeshed/stubs/python-dateutil",
"/usr/local/lib/pyre_check/typeshed/stubs/python-gflags",
"/usr/local/lib/pyre_check/typeshed/stubs/python-jose",
"/usr/local/lib/pyre_check/typeshed/stubs/python-nmap",
"/usr/local/lib/pyre_check/typeshed/stubs/python-slugify",
"/usr/local/lib/pyre_check/typeshed/stubs/python-xlib",
"/usr/local/lib/pyre_check/typeshed/stubs/pytz",
"/usr/local/lib/pyre_check/typeshed/stubs/pyvmomi",
"/usr/local/lib/pyre_check/typeshed/stubs/pywin32",
"/usr/local/lib/pyre_check/typeshed/stubs/redis",
"/usr/local/lib/pyre_check/typeshed/stubs/regex",
"/usr/local/lib/pyre_check/typeshed/stubs/requests",
"/usr/local/lib/pyre_check/typeshed/stubs/retry",
"/usr/local/lib/pyre_check/typeshed/stubs/setuptools",
"/usr/local/lib/pyre_check/typeshed/stubs/simplejson",
"/usr/local/lib/pyre_check/typeshed/stubs/singledispatch",
"/usr/local/lib/pyre_check/typeshed/stubs/six",
"/usr/local/lib/pyre_check/typeshed/stubs/slumber",
"/usr/local/lib/pyre_check/typeshed/stubs/stdlib-list",
"/usr/local/lib/pyre_check/typeshed/stubs/stripe",
"/usr/local/lib/pyre_check/typeshed/stubs/tabulate",
"/usr/local/lib/pyre_check/typeshed/stubs/tensorflow",
"/usr/local/lib/pyre_check/typeshed/stubs/termcolor",
"/usr/local/lib/pyre_check/typeshed/stubs/toml",
"/usr/local/lib/pyre_check/typeshed/stubs/toposort",
"/usr/local/lib/pyre_check/typeshed/stubs/tqdm",
"/usr/local/lib/pyre_check/typeshed/stubs/tree-sitter",
"/usr/local/lib/pyre_check/typeshed/stubs/tree-sitter-languages",
"/usr/local/lib/pyre_check/typeshed/stubs/ttkthemes",
"/usr/local/lib/pyre_check/typeshed/stubs/typed-ast",
"/usr/local/lib/pyre_check/typeshed/stubs/tzlocal",
"/usr/local/lib/pyre_check/typeshed/stubs/ujson",
"/usr/local/lib/pyre_check/typeshed/stubs/untangle",
"/usr/local/lib/pyre_check/typeshed/stubs/urllib3",
"/usr/local/lib/pyre_check/typeshed/stubs/vobject",
"/usr/local/lib/pyre_check/typeshed/stubs/waitress",
"/usr/local/lib/pyre_check/typeshed/stubs/whatthepatch",
"/usr/local/lib/pyre_check/typeshed/stubs/xmltodict",
"/usr/local/lib/pyre_check/typeshed/stubs/xxhash",
"/usr/local/lib/pyre_check/typeshed/stubs/zstd",
"/usr/local/lib/pyre_check/typeshed/stubs/zxcvbn"
],
"excludes": [],
"checked_directory_allowlist": [
"/usr/src/app"
],
"checked_directory_blocklist": [],
"extensions": [],
"log_path": "/usr/src/app/.pyre",
"global_root": "/usr/src/app",
"debug": false,
"python_version": {
"major": 3,
"minor": 10,
"micro": 14
},
"shared_memory": {},
"parallel": true,
"number_of_workers": 9,
"inline_decorators": false,
"no_verify": false,
"verify_dsl": false,
"verify_taint_config_only": false,
"strict": false,
"taint_model_paths": [
"/usr/src/app/stubs"
],
"use_cache": false,
"build_cache_only": false,
"check_invariants": false,
"limit_entrypoints": false,
"compact_ocaml_heap": false,
"saved_state": {
"watchman_root": null,
"project_name": null,
"cache_critical_files": []
}
}
2024-04-16 18:32:49,365 [PID 134] INFO Initializing shared memory (heap_size: 8589934592, dep_table_pow: 27, hash_table_pow: 26)
2024-04-16 18:32:49,371 [PID 134] INFO Verifying taint configuration.
2024-04-16 18:32:49,377 [PID 134] PERFORMANCE Verified taint configuration: 0.064s
2024-04-16 18:32:49,384 [PID 134] INFO Verifying model syntax.
2024-04-16 18:32:49,387 [PID 134] INFO Finding taint models in `/usr/src/app/stubs`.
2024-04-16 18:32:49,395 [PID 134] PERFORMANCE Verified model syntax: 0.020s
2024-04-16 18:32:49,400 [PID 134] INFO Parsing taint models for decorator modes...
2024-04-16 18:32:49,403 [PID 134] INFO Finding taint models in `/usr/src/app/stubs`.
2024-04-16 18:32:49,408 [PID 134] PERFORMANCE Parsed taint models for decorator modes: 0.009s
2024-04-16 18:32:49,411 [PID 134] INFO Starting type checking...
2024-04-16 18:32:49,412 [PID 134] INFO Creating environment...
2024-04-16 18:32:49,416 [PID 134] INFO Building module tracker...
2024-04-16 18:32:49,418 [PID 134] PERFORMANCE Module tracker built: 0.160s
2024-04-16 18:32:49,421 [PID 134] PERFORMANCE Full environment built: 0.304s
2024-04-16 18:32:49,427 [PID 134] INFO Found 4420 modules
2024-04-16 18:32:49,432 [PID 134] INFO Collecting all definitions...
2024-04-16 18:32:52,369 [PID 134] PERFORMANCE Collected definitions (defines: 79227): 2.770s
2024-04-16 18:32:52,383 [PID 134] INFO Checking 79227 functions...
2024-04-16 18:32:58,439 [PID 134] INFO Processed 4402 of 79227 functions
2024-04-16 18:32:58,464 [PID 134] INFO Processed 8804 of 79227 functions
2024-04-16 18:32:58,478 [PID 134] INFO Processed 13206 of 79227 functions
2024-04-16 18:32:59,445 [PID 134] INFO Processed 17608 of 79227 functions
2024-04-16 18:32:59,468 [PID 134] INFO Processed 22010 of 79227 functions
2024-04-16 18:32:59,471 [PID 134] INFO Processed 26412 of 79227 functions
2024-04-16 18:33:00,447 [PID 134] INFO Processed 30814 of 79227 functions
2024-04-16 18:33:00,455 [PID 134] INFO Processed 35216 of 79227 functions
2024-04-16 18:33:00,464 [PID 134] INFO Processed 39618 of 79227 functions
2024-04-16 18:33:01,448 [PID 134] INFO Processed 44020 of 79227 functions
2024-04-16 18:33:02,452 [PID 134] INFO Processed 48422 of 79227 functions
2024-04-16 18:33:04,451 [PID 134] INFO Processed 52824 of 79227 functions
2024-04-16 18:33:04,452 [PID 134] INFO Processed 57226 of 79227 functions
2024-04-16 18:33:05,457 [PID 134] INFO Processed 61628 of 79227 functions
2024-04-16 18:33:05,458 [PID 134] INFO Processed 66021 of 79227 functions
2024-04-16 18:33:05,458 [PID 134] INFO Processed 70423 of 79227 functions
2024-04-16 18:33:06,457 [PID 134] INFO Processed 74825 of 79227 functions
2024-04-16 18:33:06,460 [PID 134] INFO Processed 79227 of 79227 functions
2024-04-16 18:33:06,461 [PID 134] PERFORMANCE Check_TypeCheck: 14.233s
2024-04-16 18:33:06,462 [PID 134] MEMORY Shared memory size post-typecheck (size: 190)
2024-04-16 18:33:06,463 [PID 134] INFO Computing class hierarchy graph...
2024-04-16 18:33:07,463 [PID 134] PERFORMANCE Computed class hierarchy graph: 0.653s
2024-04-16 18:33:07,495 [PID 134] INFO Computing class intervals...
2024-04-16 18:33:07,518 [PID 134] PERFORMANCE Computed class intervals: 0.061s
2024-04-16 18:33:07,533 [PID 134] INFO Fetching initial callables to analyze...
2024-04-16 18:33:08,463 [PID 134] PERFORMANCE Fetched initial callables to analyze (definitions: 13493, internals: 4, stubs: 50160): 0.971s
2024-04-16 18:33:08,464 [PID 134] INFO Parsing taint models...
2024-04-16 18:33:09,466 [PID 134] INFO Finding taint models in `/usr/src/app/stubs`.
2024-04-16 18:33:09,467 [PID 134] PERFORMANCE Parsed taint models (models: 8, queries: 0): 0.771s
2024-04-16 18:33:09,467 [PID 134] INFO Computing inferred models...
2024-04-16 18:33:10,466 [PID 134] PERFORMANCE Computed inferred models (models: 768): 0.790s
2024-04-16 18:33:10,470 [PID 134] INFO Computing overrides...
2024-04-16 18:33:11,468 [PID 134] WARNING `google.protobuf.message.Message.ClearField` has 57 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,481 [PID 134] WARNING `google.protobuf.message.Message.__init__` has 58 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,487 [PID 134] WARNING `libcst._nodes.base.CSTNode._codegen_impl` has 102 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,490 [PID 134] WARNING `libcst._nodes.base.CSTNode._visit_and_replace_children` has 119 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,494 [PID 134] WARNING `object.__eq__` has 530 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,497 [PID 134] WARNING `object.__hash__` has 115 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,500 [PID 134] WARNING `object.__init__` has 1927 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,503 [PID 134] WARNING `object.__ne__` has 370 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,507 [PID 134] WARNING `object.__repr__` has 176 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,508 [PID 134] WARNING `object.__setattr__` has 52 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,509 [PID 134] WARNING `object.__str__` has 81 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,509 [PID 134] WARNING `pika.amqp_object.Method.synchronous` has 66 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,511 [PID 134] WARNING `type.__call__` has 220 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,512 [PID 134] WARNING `type.__init__` has 1674 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,513 [PID 134] WARNING `type.__new__` has 294 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,513 [PID 134] WARNING `type.__or__` has 53 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,514 [PID 134] WARNING `typing.Collection.__len__` has 59 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,516 [PID 134] WARNING `typing.GenericMeta.__getitem__` has 72 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,517 [PID 134] WARNING `typing.Iterable.__iter__` has 57 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,519 [PID 134] WARNING `typing.NamedTuple.__init__` has 232 overrides, this might slow down the analysis considerably.
2024-04-16 18:33:11,520 [PID 134] PERFORMANCE Overrides computed: 0.984s
2024-04-16 18:33:11,521 [PID 134] INFO Indexing global constants...
2024-04-16 18:33:12,470 [PID 134] PERFORMANCE Finished constant propagation analysis: 0.964s
2024-04-16 18:33:12,478 [PID 134] INFO Building call graph...
2024-04-16 18:33:18,492 [PID 134] PERFORMANCE Call graph built: 6.218s
2024-04-16 18:33:18,494 [PID 134] INFO Computing dependencies...
2024-04-16 18:33:18,494 [PID 134] PERFORMANCE Computed dependencies: 0.161s
2024-04-16 18:33:18,495 [PID 134] INFO Purging shared memory...
2024-04-16 18:33:18,495 [PID 134] PERFORMANCE Purged shared memory: 0.014s
2024-04-16 18:33:18,495 [PID 134] INFO Purging shared memory...
2024-04-16 18:33:18,496 [PID 134] PERFORMANCE Purged shared memory: 0.015s
2024-04-16 18:33:18,496 [PID 134] INFO Analysis fixpoint started for 17843 overrides and 8 functions...
2024-04-16 18:33:19,495 [PID 134] PERFORMANCE Recorded initial models: 1.254s
2024-04-16 18:33:19,496 [PID 134] INFO Iteration #0. 4 callables [vuln.$toplevel, vuln.my_sink, vuln.my_source, vuln.vulnerable_func]
[
{
"line": 23,
"column": 12,
"stop_line": 23,
"stop_column": 17,
"path": "vuln.py",
"code": 5002,
"name": "Test flow",
"description": "Test flow [5002]: Data from [Test] source(s) may reach [Test] sink(s)",
"define": "vuln.vulnerable_func"
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment