ruff 0.17.0
- Source
- https://github.com/astral-sh/ruff
- Tag scanned
0.17.0- Compared with
0.16.10(13 signals introduced since)- Files
- 6728 scanned, 4451 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 32 warn · 578 info
- Scan time
- 80.6 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): the 100 most severe of 132 warn and critical signals (100 with a verdict); 100 demoted to info. The rest are unreviewed.
- Disclude version
- 4.0.0
- Scanned (UTC)
- 2026-10-14 18:26
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
warn
narrow-file-charsetcrates/ruff_python_formatter/resources/test/fixtures/black/cases/power_op_spacing_long.py:1:1= 1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1 = 1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1 = 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 ** 1 -
warn
high-complexitycrates/ruff_python_formatter/resources/test/fixtures/black/cases/preview_long_strings__east_asian_width.py:5:10= = -
warn
unicode-invisiblecrates/ruff_python_formatter/resources/test/fixtures/black/cases/tricky_unicode_symbols.py:4:2= 3 x⟨U+E0100⟩ = 4 មុ = 1 Q̇_per_meter = 4 -
warn
dynamic-executioncrates/ruff_python_formatter/resources/test/fixtures/ruff/expression/lambda.py:845:5 -
warn
dynamic-executioncrates/ruff_python_formatter/resources/test/fixtures/ruff/expression/lambda.py:858:5# Regression test for https://github.com/astral-sh/ruff/issues/25397 -
\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\ -
NOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\x -
\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\ -
NOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\x -
-
warn
unicode-mixed-scriptcrates/ty_python_semantic/resources/mdtest/type_properties/quantification.md:19:20 -
warn
unicode-mixed-scriptcrates/ty_python_semantic/resources/mdtest/type_properties/quantification.md:19:35 -
-
-
| -
| -
| -
| -
] return -
-
<CWD>/homeassistant/components/lg_thinq/sensor.py:429:81 - error: Type "dict[str, tuple[SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, Senso -
ERROR pandas/io/parsers/readers.py:317:5-13: Implementation signature `(filepath_or_buffer: PathLike[str] | ReadCsvBuffer[bytes] | ReadCsvBuffer[str] | str, *, sep: _NoDefault | str | None = _NoDefault.no_default, delimiter: _NoDefault | str | None = None, header: Literal['infer'] | Sequence[int] | int | None = 'infer' -
ERROR pandas/io/parsers/readers.py:327:5-13: Implementation signature `(filepath_or_buffer: PathLike[str] | ReadCsvBuffer[bytes] | ReadCsvBuffer[str] | str, *, sep: _NoDefault | str | None = _NoDefault.no_default, delimiter: _NoDefault | str | None = None, header: Literal['infer'] | Sequence[int] | int | None = 'infer' -
ERROR pandas/io/parsers/readers.py:337:5-13: Implementation signature `(filepath_or_buffer: PathLike[str] | ReadCsvBuffer[bytes] | ReadCsvBuffer[str] | str, *, sep: _NoDefault | str | None = _NoDefault.no_default, delimiter: _NoDefault | str | None = None, header: Literal['infer'] | Sequence[int] | int | None = 'infer' -
ERROR pandas/io/parsers/readers.py:347:5-13: Implementation signature `(filepath_or_buffer: PathLike[str] | ReadCsvBuffer[bytes] | ReadCsvBuffer[str] | str, *, sep: _NoDefault | str | None = _NoDefault.no_default, delimiter: _NoDefault | str | None = None, header: Literal['infer'] | Sequence[int] | int | None = 'infer' -
ERROR pandas/io/parsers/readers.py:904:5-15: Implementation signature `(filepath_or_buffer: PathLike[str] | ReadCsvBuffer[bytes] | ReadCsvBuffer[str] | str, *, sep: _NoDefault | str | None = _NoDefault.no_default, delimiter: _NoDefault | str | None = None, header: Literal['infer'] | Sequence[int] | int | None = 'infer' -
ERROR pandas/io/parsers/readers.py:914:5-15: Implementation signature `(filepath_or_buffer: PathLike[str] | ReadCsvBuffer[bytes] | ReadCsvBuffer[str] | str, *, sep: _NoDefault | str | None = _NoDefault.no_default, delimiter: _NoDefault | str | None = None, header: Literal['infer'] | Sequence[int] | int | None = 'infer' -
ERROR pandas/io/parsers/readers.py:924:5-15: Implementation signature `(filepath_or_buffer: PathLike[str] | ReadCsvBuffer[bytes] | ReadCsvBuffer[str] | str, *, sep: _NoDefault | str | None = _NoDefault.no_default, delimiter: _NoDefault | str | None = None, header: Literal['infer'] | Sequence[int] | int | None = 'infer' -
ERROR pandas/io/parsers/readers.py:934:5-15: Implementation signature `(filepath_or_buffer: PathLike[str] | ReadCsvBuffer[bytes] | ReadCsvBuffer[str] | str, *, sep: _NoDefault | str | None = _NoDefault.no_default, delimiter: _NoDefault | str | None = None, header: Literal['infer'] | Sequence[int] | int | None = 'infer' -
pandas/core/array_algos/datetimelike_accumulations.py:38:22: error[invalid-argument-type] Method `__getitem__` of type `bound method dict[(bound method _UFunc_Nin2_Nout1[Literal["maximum"], Literal[21], None].accumulate(array: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omit -
pandas/core/array_algos/masked_accumulations.py:56:22: error[invalid-argument-type] Method `__getitem__` of type `bound method dict[Overload[(a: _SupportsArray[dtype[numpy.bool[builtins.bool]]] | _NestedSequence[_SupportsArray[dtype[numpy.bool[builtins.bool]]]] | builtins.bool | _NestedSequence[builtins.bool], axis: Su -
torch/_dynamo/polyfills/itertools.py:314:1: error[invalid-argument-type] Argument is incorrect: Expected `Overload[[_T1, _T_co](iter1: Iterable[_T1], /, *, fillvalue: object = None) -> zip_longest[tuple[_T1]] | zip_longest[tuple[_T1@__new__ | Any, _T2@__new__ | Any]] | zip_longest[tuple[_T1@__new__ | _T@__new__, _T2@__ -
if: ${{ always() && needs.plan.result == 'success' && needs.plan.outputs.publishing == 'true' && needs.sign-release-binaries.result == 'success' && needs.generate-checksum-manifest.result == 'success' && (needs.build-global-artifacts.result == 'skipped' || needs.build-global-artifacts.result == 'success') && (needs -
info
warn→ info by reviewdynamic-execution.github/workflows/sign-release-binaries.yml:358:11new in this releasefilikely benign Installs a signed ruff wheel with the configured Python interpreter and checks the CLI.Reasoning
`${python[@]}` is a bash array holding the interpreter invocation, set earlier in the workflow. The step installs the signed wheel and runs `ruff --help`. The variable-command flag is the array expansion, not hidden code.
-
info
warn→ info by reviewdynamic-execution.github/workflows/sign-release-binaries.yml:361:11new in this releaselikely benign Post-install smoke test of ruff via the configured Python interpreter.Reasoning
Runs `python -m ruff --help` through the same array-based interpreter variable as the preceding step, as a post-install check.
-
info
warn→ info by reviewdynamic-execution.github/workflows/sign-release-binaries.yml:418:11new in this releaseif () { }likely benign Assignment of the PowerShell ErrorActionPreference variable in a release signing workflow step.Reasoning
This is PowerShell inside a workflow step where $ErrorActionPreference is a standard preference variable assignment, not a command invocation. The scanner misparsed the embedded bash/pwsh block as shell; the 'command name' is a false parse of an assignment line.
-
info
warn→ info by reviewdynamic-execution.github/workflows/sign-release-binaries.yml:419:11new in this releaseif () { }likely benign Locating the single signed ruff wheel and installing it in a release workflow.Reasoning
$wheel is a Get-ChildItem result assigned in the script and then used as a file path to pip install a wheel from a directory that was just verified to contain exactly one signed wheel. The flag is a parser artifact of PowerShell syntax, not dynamic execution of attacker-controlled commands.
-
info
warn→ info by reviewdynamic-execution.github/workflows/sign-release-binaries.yml:420:17new in this releaseif () { }likely benign Installing the located signed wheel with pip in the release workflow.Reasoning
Same pattern as the adjacent finding: $wheel.FullName is passed as an argument to python -m pip install. The variable is not the command name; the scanner misread the line. The step verifies the artifact count before installing.
-
info
warn→ info by reviewdynamic-execution.github/workflows/sign-release-binaries.yml:422:15new in this releaseif () if ()likely benign Checking the exit code after wheel installation in the release workflow.Reasoning
$LASTEXITCODE is the standard PowerShell exit-status variable used in a comparison, not an executed command. The check guards the preceding pip install. This is a parser false positive.
-
info
warn→ info by reviewdynamic-execution.github/workflows/sign-release-binaries.yml:424:15new in this releaseif () if ()likely benign Exit-code check after running ruff --version in the release workflow.Reasoning
$LASTEXITCODE comparison after invoking the ruff executable to verify it runs. Standard PowerShell error handling; the flagged token is a variable read, not a command name.
-
info
warn→ info by reviewdynamic-execution.github/workflows/sign-release-binaries.yml:426:15new in this releaseif () if ()likely benign Exit-code check after smoke-testing the installed ruff module.Reasoning
$LASTEXITCODE comparison after ruff --help and python -m ruff --help smoke tests. Routine verification of the signed artifact; the flag stems from treating a variable read as a command.
-
info
warn→ info by reviewdynamic-execution.github/workflows/sign-release-binaries.yml:428:15new in this releaseif ()likely benign Exit-code check after module invocation smoke test in the release workflow.Reasoning
$LASTEXITCODE comparison after python -m ruff --help smoke test. Standard PowerShell exit-status check with no dynamic execution of untrusted input.
-
# For a specific version. |likely benign README instructions for installing a pinned ruff version via curl and PowerShell pipelines.Reasoning
Pinned-version install instructions from the official astral.sh domain, including a PowerShell irm piped to iex. Standard documented installer pattern; the dynamic execution is intentional and disclosed.
-
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/call/functools_partial.md:918:1new in this release -
info
warn→ info by reviewunicode-mixed-scriptcrates/ty_python_semantic/resources/mdtest/import/star.md:1023:1new in this release= ```likely benign Mdtest snippet where a Unicode lookalike identifier is used alongside `__all__`, likely to test name-resolution behaviour.Reasoning
The snippet uses a confusable identifier, `__aℓℓ__`, with a script-mixed lowercase l (U+2113) instead of `__all__`. The surrounding test sets `__all__` and then appends to the lookalike name, which looks like a deliberate test of how name resolution treats confusable identifiers in a type checker's test suite. The raw pass has a higher false-positive rate, and there is no execution or payload here.
-
likely benign CI smoke test that runs the installed package's entry point via a variable name.
Reasoning
MODULE_NAME is a workflow-supplied package entry-point name used for a post-install smoke test (`--help`). It is a CI verification step, not attacker-controlled execution, and the snippet shows nothing that fetches or decodes code.
-
IMPORTS_FILE="/ruff-coff-imports.txt" if ; thenlikely benign Windows build step that lists the COFF imports of ruff.exe with llvm-readobj to verify runtime DLL dependencies.Reasoning
LLVM_READOBJ is a path to llvm-readobj, used to dump COFF imports of the built ruff.exe so the workflow can grep for the MSVC/UCRT runtime DLLs. The variable is assigned from a command, which is the flagged part, but this is a standard Windows build-verification step. The critical severity is an overstatement for a build-time check.
-
likely benign Post-install smoke test of the built wheel's module entry point.
Reasoning
Same pattern as the other MODULE_NAME smoke tests: a workflow-defined module name is run with --help after installing the built wheel. Routine release verification.
-
likely benign Install-and-smoke-test step for the built package.
Reasoning
Identical MODULE_NAME smoke-test pattern in another job, running `--help` on the freshly installed package. No obfuscation or untrusted input is involved.
-
likely benign Install-and-smoke-test step for the built package.
Reasoning
Same routine MODULE_NAME smoke test after installing the package from the /dist artifact directory.
-
likely benign Venv install and smoke test of the packaged CLI.
Reasoning
A venv-based install followed by running the module's `--help`. This is the usual verification for a release artifact, with the name set by the workflow.
-
likely benign Venv install and smoke test of the packaged CLI.
Reasoning
Same venv install and `--help` smoke test as the preceding job, with no untrusted input.
-
|likely benign Installs the pinned cargo-hawk binary by piping the official release installer script to sh.Reasoning
The script is fetched over HTTPS from the official astral-sh GitHub release for a pinned HAWK_VERSION and piped to sh. This is the standard cargo-dist installer pattern, and TLS 1.2 is enforced. It is a supply-chain trust decision, not obfuscation, so the signal is valid but the risk is low.
-
1.likely benign Documentation instructing contributors to install uv via curl piped to sh.Reasoning
This is the widely used uv installer one-liner in contributor docs, piping a remote script from the project's official domain into sh. It is a known curl-pipe-sh pattern that is documented, not hidden obfuscation, though it does execute remote code by design.
-
# On macOS and Linux. | # On Windows.likely benign README install instructions for ruff via curl piped to sh on macOS and Linux.Reasoning
Official ruff installation instructions piping the install script from astral.sh to sh. This is the documented, vendor-hosted install method rather than malicious code, though curl-pipe-sh carries inherent trust risk.
-
- -
-
err.to_string, "Unknown HTML comment `snpshotttt-digggggnosstic` -- possibly a typo? \ (Add to `HTML_COMMENT_ALLOWLIST` if this is a false positive)", ); -
warn_user_once!; } -
-
info
whitespace-anomalycrates/ruff_annotate_snippets/tests/color/multiline_removal_suggestion.rs:2:1use ; -
| ___________^ 4 | | 5 | | ] | |_^ annotation -
| ___________^ 4 | | 5 | | ] | |_^ annotation -
│ ┏━━━━━━━━━━━┛ 4 │ ┃ 5 │ ┃ ] ╰╴┗━┛ annotation -
│ ┏━━━━━━━━━━━┛ 4 │ ┃ 5 │ ┃ ] ╰╴┗━┛ annotation -
��|�\u!5�cc\u\u�Ӻi��WWj�ȥ�'�}�\u�J�ȉ��W�\uO�@����\uw�V���LO����\u -
| 1 | �|�␂!5�cc␕␂�Ӻi��WWj�ȥ�'�}�␒�J�ȉ��W�␞O�@����␜w�V���LO����␔ -
│ 1 │ �|�␂!5�cc␕␂�Ӻi��WWj�ȥ�'�}�␒�J�ȉ��W�␞O�@����␜w�V���LO����␔ -
-
info
warn→ info by reviewwhitespace-anomalycrates/ruff_annotate_snippets/tests/rustc_tests.rs:4533:3let s = c"foo\ ⟨U+00A0⟩ bar "; //~^^^ WARNING whitespace symbol '\u{a0}' is not skippedlikely benign Rust test fixture containing a non-breaking space inside a C string literal test case.Reasoning
The U+00A0 is inside a test string literal demonstrating how the whitespace symbol is handled by the Rust compiler/test harness; it is a deliberate test fixture for annotate-snippets, not an obfuscation attempt in code.
-
= 1 # print('hello') -
info
critical→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_async/ASYNC22x.py:73:5# if mode is given, and is not os.P_WAIT: ASYNC220 # ASYNC220 # ASYNC220 # ASYNC220likely benign Ruff linter fixture calling os.spawnl with os.P_NOWAIT, marked by ASYNC220 test comment.Reasoning
This is a linter test fixture for ruff's flake8-async rules; os.spawnl calls are intentionally written to trigger ASYNC220 and are not executed malicious code. The critical severity is an artifact of the scanner, not real intent.
-
info
critical→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_async/ASYNC22x.py:74:5# ASYNC220 # ASYNC220 # ASYNC220 # ASYNC220likely benign Ruff flake8-async test fixture with os.spawnl call used to test ASYNC220 detection.Reasoning
Same linter test fixture; the os.spawnl calls exist to exercise the ASYNC220 rule and are never meant to spawn real processes in production.
-
info
critical→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_async/ASYNC22x.py:81:5# if it is P_WAIT, ASYNC221 # ASYNC221 # ASYNC221 # ASYNC221likely benign Ruff test fixture calling os.spawnl with P_WAIT for ASYNC221 rule coverage.Reasoning
Linter test fixture exercising the ASYNC221 rule for os.spawnl with P_WAIT; no malicious behavior.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_async/ASYNC22x.py:86:5# other weird cases: ASYNC220 # ASYNC220 # ASYNC220 # ASYNC220likely benign Ruff test fixture with os.spawnl calls using literal and function-call arguments.Reasoning
Test fixture with literal and call arguments to os.spawnl to exercise rule ASYNC220; the warn severity reflects the literal-path pattern, not a threat.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_async/ASYNC22x.py:87:5# ASYNC220 # ASYNC220 # ASYNC220likely benign Ruff test fixture calling os.spawnl with literal integer argument.Reasoning
Same test fixture for ASYNC220 rule coverage; no real process spawning intent.
-
info
critical→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_async/ASYNC22x.py:88:5# ASYNC220 # ASYNC220 # ASYNC222likely benign Ruff test fixture calling os.spawnl with a function-call argument for rule testing.Reasoning
Linter test fixture for the ASYNC220 rule; the call is part of a list of rule examples and is not malicious.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:8:1# Check all shell functions.likely benign Ruff flake8-bandit fixture calling os.system with a literal 'true' command.Reasoning
S605 is a bandit-style test fixture enumerating shell-invoking functions with literal commands to verify the rule fires; no real malicious use.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:9:1likely benign Ruff S605 test fixture calling os.popen with literal 'true'.Reasoning
Bandit rule test fixture exercising os.popen with a harmless literal command 'true'.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:20:1likely benign Ruff S605 test fixture calling subprocess.getoutput with literal 'true'.Reasoning
Test fixture for S605 covering subprocess.getoutput with harmless 'true' literal; no malicious payload.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:21:1likely benign Ruff S605 test fixture calling subprocess.getstatusoutput with literal 'true'.Reasoning
Same S605 test fixture pattern; literal harmless command used to verify detection.
-
info
critical→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:26:1=likely benign Ruff S605 test fixture calling os.system with a variable holding 'true'.Reasoning
Test fixture for the non-literal os.system case; the variable is set to the harmless 'true' just above, so no real risk, though the pattern itself is what the rule targets.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:27:1likely benign Ruff linter test fixture exercising os.system calls for rule S605.Reasoning
This is a test fixture for ruff's flake8-bandit S605 rule, which checks os.system calls. The snippet is an ordinary os.system call on a variable, and the file lives in a linter's test resources, so it is a deliberate rule example rather than malicious code.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:28:1likely benign Ruff linter test fixture with os.system list-argument calls.Reasoning
Same ruff test fixture for the S605 bandit rule; the os.system calls take list arguments and are only used to test the linter's detection logic.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:12:1likely benign Ruff linter test fixture exercising os.spawn/exec calls with literal paths.Reasoning
A ruff test fixture for the S606 rule covering os.spawn-family calls with literal paths like "true". The calls are harmless no-op binaries used as test inputs in a linter's resources.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:13:1likely benign Ruff linter test fixture exercising os.spawnle with a literal path.Reasoning
Part of the ruff S606 test fixture; the spawn calls invoke the harmless "true" binary and exist only to exercise the rule's detection.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:14:1likely benign Ruff linter test fixture exercising os.spawnlp with a literal path.Reasoning
Ruff test fixture for S606 using harmless "true" binary arguments; no malicious intent is evident in the test resource context.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:15:1likely benign Ruff linter test fixture exercising os.spawnlpe with a literal path.Reasoning
Ruff S606 rule test fixture; the spawn call targets the benign "true" command purely for linter testing.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:16:1likely benign Ruff linter test fixture exercising os.spawnv with a literal path.Reasoning
Ruff S606 test fixture using the harmless "true" binary; this is a rule-test input, not a dropper or obfuscated payload.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:17:1likely benign Ruff linter test fixture exercising os.spawnve with a literal path.Reasoning
Part of the ruff S606 test resource; the call uses the innocuous "true" command for detection testing only.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:18:1likely benign Ruff linter test fixture exercising os.spawnvp with a literal path.Reasoning
Ruff S606 test fixture with harmless literal "true" arguments; no real-world malicious behaviour is present.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:19:1likely benign Ruff linter test fixture exercising os.spawnvpe with a literal path.Reasoning
Ruff S606 rule test input calling the benign "true" binary; the file is a linter test resource.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:9:1likely benign Ruff linter test fixture exercising subprocess and os shell calls with literal commands.Reasoning
Ruff S607 test fixture in linter resources. The subprocess and os calls use the harmless "true" command purely to exercise partial-path and shell detection rules.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:10:1likely benign Ruff linter test fixture exercising os.popen calls with literal commands.Reasoning
Same ruff S607 test fixture; os.popen with the harmless "true" command is a rule-test input and not malicious.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:29:1likely benign Ruff linter test fixture exercising os.spawnl with a literal path.Reasoning
Ruff S607 test resource using harmless "true" binary arguments for spawn-family detection; this is test data, not a payload.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:30:1likely benign Ruff linter test fixture exercising os.spawnle with a literal path.Reasoning
Ruff S607 test fixture with harmless "true" command arguments; it exists to verify the linter rule and carries no malicious intent.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:31:1likely benign Ruff linter test fixture exercising os.spawn* calls with literal binary paths.Reasoning
This is a test fixture for ruff's flake8-bandit S607 rule, which flags os.spawn* calls with literal paths. The code is a list of literal calls with no obfuscation, decoding, or attacker-controlled input, and the file sits in the linter's own test tree.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:32:1likely benign Ruff linter test fixture with literal os.spawnlpe calls.Reasoning
Same fixture file for the S607 rule. The literal os.spawnlpe calls are expected test cases for the rule's detection logic, not malicious execution.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:33:1likely benign Ruff linter test fixture with a literal os.spawnv call.Reasoning
Same S607 test fixture. The literal os.spawnv call is a deliberate rule trigger in a regression test file.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:34:1likely benign Ruff linter test fixture with literal os.spawnve calls.Reasoning
Same S607 test fixture containing literal os.spawnve calls used to test the rule. No dropper or encoded payload is present.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:35:1likely benign Ruff linter test fixture with literal os.spawnvp and os.startfile calls.Reasoning
Same S607 test fixture. The os.startfile and os.spawnvp calls are literal test inputs for the linter rule.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:36:1likely benign Ruff linter test fixture with a literal os.spawnvpe call.Reasoning
Same S607 test fixture. The literal os.spawnvpe call is a standard rule-trigger case in the linter's own tests.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:40:1# Check it does not fail for full paths.likely benign Ruff linter test fixture with literal os.system calls to /bin/ls.Reasoning
Same S607 fixture. os.system calls with literal paths like /bin/ls are the rule's test cases, with a comment noting the check is for full paths. Nothing is obfuscated or attacker-driven.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:41:1likely benign Ruff linter test fixture with literal os.system calls.Reasoning
Same S607 fixture with literal os.system calls, including a list argument. These are deliberate test inputs for the rule.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:42:1likely benign Ruff linter test fixture with literal os.system calls and a Windows path.Reasoning
Same S607 fixture with literal os.system calls, including a raw-string Windows path. These are standard rule-trigger cases in a test file.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:43:1likely benign Ruff linter test fixture with literal os.system calls and a regression comment.Reasoning
Same S607 fixture. The literal os.system calls are test inputs for the rule, and a regression reference to a ruff GitHub issue appears nearby.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:44:1# Regression for https://github.com/astral-sh/ruff/issues/24075likely benign Ruff linter test fixture with a literal os.system call and a regression reference.Reasoning
Same S607 fixture. The literal os.system call is a deliberate test case, and the trailing comment references a ruff issue regression.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S609.py:4:1likely benign Ruff linter test fixture with literal os.popen and subprocess commands containing wildcards.Reasoning
Test fixture for ruff's S609 rule, which flags wildcard usage in shell commands. The os.popen and subprocess calls with literal strings are intentional test cases, not obfuscated or malicious code.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S609.py:5:1likely benign Ruff linter test fixture with subprocess.Popen shell=True calls using literal commands.Reasoning
Same S609 fixture. The subprocess.Popen calls with shell=True and literal commands are deliberate examples of the pattern the rule detects, in a linter test tree.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S609.py:6:1likely benign Test-fixture subprocess.Popen calls with shell=True and literal commands.Reasoning
This is a ruff linter test fixture for the S609 rule, which exists to flag shell=True calls. The literal commands are inert examples used to exercise the rule, not a payload.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S609.py:8:1likely benign Test-fixture os.system call with a literal shell command.Reasoning
The same S609 test fixture. The os.system call has a fixed literal command with no external input, and the file exists to test the linter rule.
-
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/flake8_comprehensions/C403.py:1:1 -
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/flake8_comprehensions/C408.py:1:1 -
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/flake8_implicit_str_concat/ISC.py:1:1 -
info
whitespace-anomalycrates/ruff_linter/resources/test/fixtures/flake8_implicit_str_concat/ISC.py:6:1= \ = -
# [no-else-return] = 1 return -
= = -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM110.py:162:26# SIM110 return True -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM110.py:162:41# SIM110 return True -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM110.py:162:56# SIM110 return True -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM110.py:162:71# SIM110 return True -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM110.py:170:26# OK (too long) return True -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM110.py:170:41# OK (too long) return True -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM110.py:170:56# OK (too long) return True -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM110.py:170:71# OK (too long) return True -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM111.py:178:26# SIM111 return False -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM111.py:178:41# SIM111 return False -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM111.py:178:56# SIM111 return False -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM111.py:178:71# SIM111 return False -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM111.py:186:26# OK (too long) return False -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM111.py:186:41# OK (too long) return False -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM111.py:186:56# OK (too long) return False -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM111.py:186:71# OK (too long) return False -
: -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM117.py:95:19# SIM117 (auto-fixable) -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM117.py:95:34# SIM117 (auto-fixable) -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM117.py:96:23 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM117.py:96:38 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM117.py:100:19# SIM117 (not auto-fixable too long) -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM117.py:100:34# SIM117 (not auto-fixable too long) -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM117.py:101:23 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM117.py:101:38 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM401.py:43:33= # SIM401 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM401.py:43:48= # SIM401 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM401.py:43:63= # SIM401 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM401.py:43:78= # SIM401 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM401.py:62:33= # OK (false negative) -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM401.py:62:48= # OK (false negative) -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM401.py:62:63= # OK (false negative) -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM401.py:62:78= # OK (false negative) -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/flake8_simplify/SIM401.py:62:93= # OK (false negative) -
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/flake8_use_pathlib/PTH210_1.py:1:1 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/fit_line_length_comment.py:6:31# The next import fits on one line. # 012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ # The next import doesn't fit on one line. -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/fit_line_length_comment.py:6:46# The next import fits on one line. # 012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ # The next import doesn't fit on one line. -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/fit_line_length_comment.py:6:61# The next import fits on one line. # 012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ # The next import doesn't fit on one line. -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/fit_line_length_comment.py:6:76# The next import fits on one line. # 012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ # The next import doesn't fit on one line. -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/fit_line_length_comment.py:6:91# The next import fits on one line. # 012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ # The next import doesn't fit on one line. -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/fit_line_length_comment.py:6:106# The next import fits on one line. # 012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ # The next import doesn't fit on one line. -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/fit_line_length_comment.py:8:31# The next import doesn't fit on one line. # 012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/fit_line_length_comment.py:8:46# The next import doesn't fit on one line. # 012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/fit_line_length_comment.py:8:61# The next import doesn't fit on one line. # 012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/fit_line_length_comment.py:8:76# The next import doesn't fit on one line. # 012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/fit_line_length_comment.py:8:91# The next import doesn't fit on one line. # 012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/fit_line_length_comment.py:8:106# The next import doesn't fit on one line. # 012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9012ß9💣2ℝ9 -
info
warn→ info by reviewunicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/length_sort_non_ascii_members.py:7:5, , , ,likely benign Identifier mixing Greek and Latin letters in an isort sorting fixture.Reasoning
This is an isort test fixture for sorting non-ASCII member names. Mixing Greek and Latin letters is deliberate test input for sort ordering, not obfuscation.
-
info
warn→ info by reviewunicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/length_sort_non_ascii_modules.py:8:8likely benign Module import name mixing Greek and Latin letters in an isort fixture.Reasoning
Same isort non-ASCII sorting fixture. The mixed-script module name is intentional test data for module-length sorting.
-
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/isort/sort_similar_imports.py:1:1 -
info
warn→ info by reviewunicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/unicode.py:4:17= 2 * *likely benign Unicode identifier with mixed Latin and Greek letters in an isort test fixture.Reasoning
The isort unicode fixture deliberately uses Unicode letterlike symbols and mixed scripts to test import sorting. It is not a runtime risk.
-
# No error -
#: E111 E117 -
pass #: E273 True and False -
pass # end -
# aaaaa # a # a # aa -
'''File starts with a tab multiline string with tab in it''' -
= 12 #: W291:2:35 '''multiline -
#!/usr/bin/env python3 """Here's a top-level ß9💣2ℝing that's over theß9💣2ℝ.""" -
"""Here's a ß9💣2ℝing that's also over theß9💣2ℝ.""" = 1 # Here's a comment that's over theß9💣2ℝ, but it's not standalone. -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/pycodestyle/W505_utf_8.py:15:79 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/pycodestyle/W505_utf_8.py:18:36 -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/pycodestyle/W505_utf_8.py:22:36"""Here's a multi-line ß9💣2ℝing. It's over theß9💣2ℝ on this line, which isn't the first line in the ß9💣2ℝing. -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/pycodestyle/W505_utf_8.py:24:86in 💣2ℝing. """ -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/pycodestyle/W505_utf_8.py:29:36"""Here's a multi-line ß9💣2ℝing. It's over theß9💣2ℝ on this line, which isn't the first line in the ß9💣2ℝing.""" -
info
unicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/pycodestyle/W505_utf_8.py:31:86in 💣2ℝing. -
info
warn→ info by reviewwhitespace-anomalycrates/ruff_linter/resources/test/fixtures/pydocstyle/D.py:723:4⟨U+00A0⟩ ⟨U+00A0⟩ : """likely benign Non-breaking space in the indentation of a docstring in a pydocstyle fixture.Reasoning
A non-breaking space in a docstring indent is a whitespace-quirk test input for pydocstyle. It sits in a docstring and cannot execute.
-
info
warn→ info by reviewwhitespace-anomalycrates/ruff_linter/resources/test/fixtures/pydocstyle/D208.py:9:9: ⟨U+00A0⟩ ⟨U+00A0⟩ : """likely benign Non-breaking space in a docstring indentation in a D208 fixture.Reasoning
The D208 fixture tests over-indented docstring handling, and the non-breaking space is part of that test input. The text is inside a docstring.
-
info
warn→ info by reviewwhitespace-anomalycrates/ruff_linter/resources/test/fixtures/pydocstyle/D208.py:15:1""" ⟨U+3000⟩⟨U+3000⟩⟨U+3000⟩参数含义:precision:精确到小数点后几位 """likely benign Ideographic space in the indentation of a Chinese docstring in a D208 fixture.Reasoning
The ideographic space is inside a Chinese docstring in a D208 indentation fixture. It is test data for docstring handling, with no executable effect.
-
pass -
# See: https://github.com/astral-sh/ruff/issues/22554 # should detect -------------------------vvvvvvvvvvvvv -
info
critical→ info by reviewunicode-bidicrates/ruff_linter/resources/test/fixtures/pylint/bidirectional_unicode.py:2:16# E2502 # E2502likely benign Pop-directional-formatting control character in a pylint E2502 test fixture.Reasoning
This file is a pylint E2502 test fixture for bidirectional Unicode. The control character is deliberate test content for the rule. Its location in a fixture, not in product code, makes it benign.
-
info
critical→ info by reviewunicode-bidicrates/ruff_linter/resources/test/fixtures/pylint/bidirectional_unicode.py:11:25# E2502 # Check if admin ⟨U+2069⟩⟨U+2066⟩' and access_level != 'userlikely benign Right-to-left override character in a pylint E2502 test fixture.Reasoning
The file is a deliberate Trojan Source test fixture for E2502. The right-to-left override is test input meant to trigger the rule, and it is not hidden in real application logic.
-
info
critical→ info by reviewunicode-bidicrates/ruff_linter/resources/test/fixtures/pylint/bidirectional_unicode.py:11:28# E2502 # Check if admin ⟨U+2069⟩⟨U+2066⟩' and access_level != 'userlikely benign Left-to-right isolate character in a pylint E2502 test fixture.Reasoning
Same E2502 bidi test fixture. The isolate character is intentional test content for the rule, not a live attack in product code.
-
info
critical→ info by reviewunicode-bidicrates/ruff_linter/resources/test/fixtures/pylint/bidirectional_unicode.py:11:52# E2502 # Check if admin ⟨U+2069⟩⟨U+2066⟩' and access_level != 'userlikely benign Pop-directional-isolate character in a pylint E2502 test fixture.Reasoning
Same E2502 bidi test fixture. The pop-isolate character is deliberate test input for the bidi rule.
-
info
critical→ info by reviewunicode-bidicrates/ruff_linter/resources/test/fixtures/pylint/bidirectional_unicode.py:11:55# E2502 # Check if admin ⟨U+2069⟩⟨U+2066⟩' and access_level != 'userlikely benign Second left-to-right isolate character in a pylint E2502 test fixture.Reasoning
Same E2502 bidi test fixture. The repeated isolate character is intentional test content that exercises the rule.
-
info
critical→ info by reviewunicode-bidicrates/ruff_linter/resources/test/fixtures/pylint/bidirectional_unicode.py:17:46"""Subtract funds from bank account then ⟨U+2067⟩""" return -=likely benign Test fixture containing a U+2067 bidi isolate character in a docstring to exercise the unicode-bidi rule.Reasoning
This is a deliberate test fixture for ruff's bidirectional unicode rule. The RTL isolate character is inside a docstring, and it is the exact thing the linter is designed to detect. Within a ruff test corpus it is intentional, not an attack payload.
-
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/pylint/boolean_chained_comparison.py:1:1 -
info
whitespace-anomalycrates/ruff_linter/resources/test/fixtures/pylint/boolean_chained_comparison.py:9:1# [boolean-chained-comparison] pass = -
info
warn→ info by reviewunicode-homoglyphcrates/ruff_linter/resources/test/fixtures/pylint/empty_comment.py:57:1= 1 #likely benign Fixture assigning a Greek alpha identifier next to an empty comment, used to test lint handling.Reasoning
This is a ruff pylint fixture testing empty-comment handling. The Greek alpha identifier is a deliberate homoglyph test case in a linter corpus, and the code is trivial with no execution or exfiltration.
-
info
warn→ info by reviewunicode-homoglyphcrates/ruff_linter/resources/test/fixtures/pylint/empty_comment.py:58:1= 1 #likely benign Second Greek alpha homoglyph identifier in the same empty-comment test fixture.Reasoning
Same fixture as the previous finding. The homoglyph identifier is an intentional test input in ruff's test suite and performs no malicious action.
-
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/pylint/global_variable_not_assigned.py:1:1 -
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/pylint/repeated_keyword_argument.py:1:1 -
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/pylint/subprocess_run_without_check.py:5:1likely benign Linter fixture calling subprocess.run with shell=True and the literal command 'ls'.Reasoning
This is a ruff test fixture for the subprocess-run-without-check rule. The literal command 'ls' with shell=True is a deliberate example of a pattern the linter flags, not a malicious payload.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/pylint/subprocess_run_without_check.py:15:1# Not a subprocess.run call.likely benign Fixture listing subprocess.run variants with shell=True and a literal 'ls' command.Reasoning
Test fixture exercising various subprocess.run argument combinations, with a literal 'ls' command. It is benign linter test data.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/pylint/subprocess_run_without_check.py:16:1# Not a subprocess.run call. # Not a subprocess.run call.likely benign Fixture with subprocess.run shell=True and a literal 'ls' command, used to test check-argument linting.Reasoning
Same fixture as the previous finding, with the same benign literal 'ls' command and no attacker-controlled input.
-
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/pylint/too_many_arguments.py:1:1 -
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/pylint/too_many_boolean_expressions.py:1:1 -
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/pylint/too_many_positional_arguments.py:1:1 -
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/pylint/useless_else_on_loop.py:121:14breaklikely benign Test fixture reading __file__ to check for a marker string inside a loop.Reasoning
The code opens its own source file to search for a string, a benign self-inspection pattern. It is a loop-else test fixture, and the 'payload extraction' message is a heuristic overreach with no decoding or execution.
-
""".encode( "utf-8" ) ( -
... -
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/ruff/RUF028.py:103:12assert ==likely benign Test helper that evaluates a test input string with eval to compare against an expected value.Reasoning
This is a ruff test fixture for RUF028 that deliberately calls eval in a test helper. The input comes from test parameters, so it is not an attack, but the code is an eval on a non-literal in a test context.
-
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/ruff/RUF031_prefer_parens.py:1:1 -
⟨U+000C⟩ ⟨U+000C⟩ -
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/ruff/RUF100_0.py:113:5# Disabled - check redirects are reported correctly # noqa: PGH001likely benign Fixture calling eval(command) with a noqa directive to test RUF100 handling.Reasoning
Ruff's noqa-handling test fixture. eval(command) is present to exercise noqa directive parsing, not to run attacker-controlled code.
-
info
critical→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/ruff/RUF100_0.py:128:5# Allow code redirects = # noqa: PGH001, S307 = # noqa: S307, PGH001, S307, S307, S307 = # noqa: PGH001, S307, PGH001likely benign Module-level eval(command) line in a RUF100 noqa test fixture.Reasoning
Module-scope eval in a ruff noqa test fixture, used to test unused and redundant noqa codes. The 'runs on import' severity is accurate for the pattern but the file is a test corpus, not a shipped package.
-
info
critical→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/ruff/RUF100_0.py:129:5= # noqa: PGH001, S307 = # noqa: S307, PGH001, S307, S307, S307 = # noqa: PGH001, S307, PGH001 = # noqa: PGH001, S307, PGH001, S307likely benign Another module-level eval(command) line in the noqa test fixture.Reasoning
Repeated module-level eval lines exist only to test noqa directive deduplication in ruff's test suite. No malicious behaviour is present.
-
info
critical→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/ruff/RUF100_0.py:130:5= # noqa: S307, PGH001, S307, S307, S307 = # noqa: PGH001, S307, PGH001 = # noqa: PGH001, S307, PGH001, S307likely benign Module-level eval(command) line in the RUF100 noqa test fixture.Reasoning
Same as the other RUF100 fixture findings: deliberate noqa test input in a linter repository, not a supply-chain payload.
-
info
critical→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/ruff/RUF100_0.py:131:5= # noqa: PGH001, S307, PGH001 = # noqa: PGH001, S307, PGH001, S307likely benign Test fixture line calling eval(command) to exercise noqa directive parsing.Reasoning
This is a ruff linter test fixture exercising noqa-comment handling. The eval call is a deliberate lint target with a noqa directive, not a malicious payload. It is in a test fixture, so the scanner flag is an expected false positive.
-
= = -
"""Here's a docstring with a greek rho: ρ""" # And here's a comment with a greek alpha: ∗ ... -
= = -
# contains ASCII. = # The two characters should be flagged here. The first character is a "word" -
# contains ASCII. = # The two characters should be flagged here. The first character is a "word" -
# boundary" (whitespace) that it itself ambiguous. = # Same test cases as above but using f-strings instead: -
# Same test cases as above but using f-strings instead: = f = f = f -
= f = f = f -
= f = f = f -
= f = f # Nested f-strings -
# Nested f-strings = f # Comments inside f-strings -
# Nested f-strings = f # Comments inside f-strings -
# Implicit string concatenation = f -
# Implicit string concatenation = f -
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/semantic_errors/global_parameter.py:1:1 -
info
identifier-low-lengthcrates/ruff_linter/resources/test/fixtures/semantic_errors/nonlocal_parameter.py:1:1 -
Args: ⟨U+00A0⟩ ⟨U+00A0⟩ Returns: """ "#;likely benign Docstring sample in a Rust raw string containing a non-breaking space in indentation.Reasoning
Raw-pass whitespace anomaly on a docstring indentation line inside a Rust raw string literal. Non-breaking spaces in embedded Python docstring sample text are a plausible copy artifact and carry no execution risk. Raw pass has higher false-positive rates.
-
-
/// /// let locator = Locator::new("α"); /// /// assert_eq!( -
&LinterSettings -
unresolved_target_version: PY313.into, allowed_confusables: from_iter, ..for_rules -
unresolved_target_version: PY314.into, allowed_confusables: from_iter, ..for_rules -
preview: Enabled, allowed_confusables: from_iter, ..for_rules -
/// ```python /// print("Ηello, world!") # "Η" is the Greek eta (`U+0397`). /// ``` /// -
info
unicode-mixed-scriptcrates/ruff_linter/src/rules/ruff/rules/ambiguous_unicode_character.rs:37:12/// ```python /// print("Ηello, world!") # "Η" is the Greek eta (`U+0397`). /// ``` /// -
/// ```python /// print("Ηello, world!") # "Η" is the Greek eta (`U+0397`). /// ``` /// -
info
unicode-homoglyphcrates/ruff_linter/src/rules/ruff/rules/ambiguous_unicode_character.rs:145:14/// ```python /// foo() # nоqa # "о" is Cyrillic (`U+043E`) /// ``` /// -
info
unicode-mixed-scriptcrates/ruff_linter/src/rules/ruff/rules/ambiguous_unicode_character.rs:145:14/// ```python /// foo() # nоqa # "о" is Cyrillic (`U+043E`) /// ``` /// -
info
unicode-homoglyphcrates/ruff_linter/src/rules/ruff/rules/ambiguous_unicode_character.rs:145:24/// ```python /// foo() # nоqa # "о" is Cyrillic (`U+043E`) /// ``` /// -
-
use -
-
x =likely benign Embedded Python sample in a Rust test with non-breaking space indentation.Reasoning
Raw-pass whitespace flag inside an embedded Python code sample in a Rust test string. Likely a formatting test fixture with nbsp characters; no execution or hiding behavior is evident.
-
⟨U+00A0⟩1, ⟨U+00A0⟩2, ⟨U+00A0⟩3, )likely benign Embedded Python tuple sample line with non-breaking space indentation in a Rust test.Reasoning
Same file and pattern as the adjacent finding; a multi-line Python tuple sample in a test string with nbsp indentation. Benign test data.
-
⟨U+00A0⟩2, ⟨U+00A0⟩3, ) ";likely benign Embedded Python tuple sample closing line with non-breaking space indentation in a Rust test.Reasoning
Same file and pattern; continuation of the embedded Python tuple test sample. No malicious indicators.
-
info
whitespace-anomalycrates/ruff_python_formatter/resources/test/fixtures/black/cases/docstring.py:2:1""" Multiline class docstring """ -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/black/cases/generics_wrapping.py:1:1 -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/black/cases/import_comments.py:1:1 -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_570.py:1:1 -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_572_py310.py:1:1 -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_646.py:1:1 -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/black/cases/percent_precedence.py:1:1 -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/black/cases/power_op_spacing_long.py:1:1 -
info
high-complexitycrates/ruff_python_formatter/resources/test/fixtures/black/cases/preview_long_strings.py:311:12 -
info
critical→ info by reviewdynamic-executioncrates/ruff_python_formatter/resources/test/fixtures/black/cases/preview_long_strings__regression.py:20:9likely benign Black formatter test case calling os.system with a formatted string literal.Reasoning
This is a Black formatter regression fixture. os.system is called with a literal string that has .format applied; the flagged call is inside a test case for long-string formatting. It is not a dropper, though the non-literal flag is technically triggered by the .format call.
-
info
high-complexitycrates/ruff_python_formatter/resources/test/fixtures/black/cases/preview_long_strings__regression.py:235:17= f = f -
""" content\ """ return -
info
whitespace-anomalycrates/ruff_python_formatter/resources/test/fixtures/ruff/docstring_code_examples.py:12:1""" Do cool stuff. -
info
whitespace-anomalycrates/ruff_python_formatter/resources/test/fixtures/ruff/docstring_tab_indentation.py:7:1""" Arguments: arg1: super duper arg with 2 tabs in front -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/ruff/expression/attribute.py:1:1 -
info
whitespace-anomalycrates/ruff_python_formatter/resources/test/fixtures/ruff/expression/lambda.py:27:1# Trailing -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/ruff/expression/nested_string_quote_style.py:1:1 -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/ruff/expression/tstring.py:1:1 -
= -
info
whitespace-anomalycrates/ruff_python_formatter/resources/test/fixtures/ruff/expression/unary.py:2:1pass = True -
info
whitespace-anomalycrates/ruff_python_formatter/resources/test/fixtures/ruff/fmt_on_off/mixed_space_and_tab.py:2:1# fmt: off -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/ruff/fmt_on_off/off_on_off_on.py:1:1 -
info
whitespace-anomalycrates/ruff_python_formatter/resources/test/fixtures/ruff/fmt_skip/compound_one_liners.py:15:1# fmt: skip # Multiple statements in body (should not apply - multiline) -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/ruff/parentheses/nested.py:1:1 -
info
identifier-low-lengthcrates/ruff_python_formatter/resources/test/fixtures/ruff/statement/delete.py:1:1 -
info
whitespace-anomalycrates/ruff_python_formatter/resources/test/fixtures/ruff/statement/match.py:3:1: # dangling match comment : pass -
info
whitespace-anomalycrates/ruff_python_formatter/resources/test/fixtures/ruff/statement/type_alias.py:42:1\ = \ = -
info
identifier-low-lengthcrates/ruff_python_parser/resources/inline/err/different_match_pattern_bindings.py:1:1 -
info
identifier-low-lengthcrates/ruff_python_parser/resources/inline/err/duplicate_type_parameter_names.py:1:1 -
info
identifier-low-lengthcrates/ruff_python_parser/resources/inline/err/invalid_annotation_function.py:1:1 -
info
unicode-mixed-scriptcrates/ruff_python_parser/resources/inline/err/invalid_byte_literal.py:1:6b rb b -
info
unicode-mixed-scriptcrates/ruff_python_parser/resources/inline/err/invalid_byte_literal.py:2:4b rb b -
info
unicode-mixed-scriptcrates/ruff_python_parser/resources/inline/err/invalid_byte_literal.py:3:8rb b -
info
identifier-low-lengthcrates/ruff_python_parser/resources/inline/ok/ambiguous_lpar_with_items_binary_expr.py:1:1 -
info
identifier-low-lengthcrates/ruff_python_parser/resources/inline/ok/non_duplicate_type_parameter_names.py:1:1 -
\ = \ = -
-
// test_err invalid_byte_literal // b'123a𝐁c' // rb"a𝐁c123" // b"""123a𝐁c""" -
// b'123a𝐁c' // rb"a𝐁c123" // b"""123a𝐁c""" Bytes -
// rb"a𝐁c123" // b"""123a𝐁c""" Bytes -
-
assert!; assert!; assert!; assert!; -
/// assert!(is_lowercase("_")); /// assert!(is_lowercase("αbc")); /// assert!(!is_lowercase("αBC")); /// assert!(!is_lowercase("Ωbc")); -
/// assert!(is_lowercase("_")); /// assert!(is_lowercase("αbc")); /// assert!(!is_lowercase("αBC")); /// assert!(!is_lowercase("Ωbc")); -
/// assert!(is_lowercase("αbc")); /// assert!(!is_lowercase("αBC")); /// assert!(!is_lowercase("Ωbc")); /// ``` -
/// assert!(is_lowercase("αbc")); /// assert!(!is_lowercase("αBC")); /// assert!(!is_lowercase("Ωbc")); /// ``` -
/// assert!(!is_lowercase("αBC")); /// assert!(!is_lowercase("Ωbc")); /// ``` -
/// assert!(is_uppercase("_")); /// assert!(is_uppercase("ΩBC")); /// assert!(!is_uppercase("Ωbc")); /// assert!(!is_uppercase("αBC")); -
/// assert!(is_uppercase("ΩBC")); /// assert!(!is_uppercase("Ωbc")); /// assert!(!is_uppercase("αBC")); /// ``` -
/// assert!(!is_uppercase("Ωbc")); /// assert!(!is_uppercase("αBC")); /// ``` -
/// assert!(!is_uppercase("Ωbc")); /// assert!(!is_uppercase("αBC")); /// ``` -
# which could be confused for "-", "p", and "*", respectively. allowed-confusables = "# )] -
r#" b"123a𝐁<CURSOR>c" "#, ) -
1 | / 2 | | b"123a𝐁c" | |__________^ -
| 2 | b"123a𝐁c" | ^^^^^^^^^ "#); -
info
identifier-low-lengthcrates/ty_python_semantic/resources/corpus/06_funcall_varargs_kwargs_mixed.py:1:1 -
info
critical→ info by reviewbuiltins-writecrates/ty_python_semantic/resources/corpus/98_ann_assign_annotation_future_annotations.py:5:1: =likely benign Type checker corpus test assigning an annotated builtins.__import__.Reasoning
This is a type checker corpus file testing annotated assignment to builtins.__import__ with future annotations. It is a semantic test of type inference, not a real supply-chain patch.
-
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/annotations/intersection_types.md:195:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/annotations/new_types.md:525:1 -
info
critical→ info by reviewdynamic-importcrates/ty_python_semantic/resources/mdtest/call/dunder_import.md:33:17# revealed: Literal["sys", "os"] # revealed: ModuleTypelikely benign Type checker mdtest exercising reveal_type on a dynamic __import__ call.Reasoning
This is an mdtest markdown file for the type checker, with reveal_type annotations showing expected inferred types. The __import__ call with a variable name tests type inference of dynamic imports, not malicious use.
-
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/call/functools_partial.md:385:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/call/functools_partial.md:1632:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/comparison/instances/rich_comparison.md:236:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/comparison/instances/rich_comparison.md:500:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/diagnostics/semantic_syntax_errors.md:565:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/diagnostics/semantic_syntax_errors.md:637:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/diagnostics/unknown_argument.md:23:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/directives/assert_type.md:161:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/directives/assert_type.md:246:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/exhaustiveness_checking.md:516:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/legacy/callables.md:964:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/legacy/functions.md:1468:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/legacy/functions.md:1637:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/legacy/functions.md:1920:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/legacy/variables.md:312:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/legacy/variables.md:1166:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/legacy/variance.md:25:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/legacy/variance.md:107:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/legacy/variance.md:220:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/aliases.md:595:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/callables.md:1298:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/classes.md:112:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/classes.md:902:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/functions.md:1356:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/functions.md:1515:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/functions.md:1655:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/functions.md:1838:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/functions.md:2423:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/paramspec.md:46:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/paramspec.md:524:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/paramspec.md:862:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variables.md:232:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variables.md:468:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variables.md:572:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variables.md:587:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variables.md:608:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variables.md:619:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variables.md:1087:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variables.md:1186:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variables.md:1276:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variance.md:32:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variance.md:111:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variance.md:219:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variance.md:295:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variance.md:624:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variance.md:647:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variance.md:834:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variance.md:865:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variance.md:1262:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variance.md:1783:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variance.md:2322:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/implicit_type_aliases.md:798:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/implicit_type_aliases.md:2554:1 -
info
critical→ info by reviewbuiltins-writecrates/ty_python_semantic/resources/mdtest/import/builtins.md:329:1= 123 = 456 # error: [unresolved-attribute] = 789 # error: [invalid-assignment]likely benign Type checker mdtest assigning to builtins attributes with expected error annotations.Reasoning
Markdown mdtest for the type checker with inline error comments such as '# error: [invalid-assignment]'. The builtins assignments are intentional test cases verifying diagnostics, not real patching.
-
info
critical→ info by reviewbuiltins-writecrates/ty_python_semantic/resources/mdtest/import/builtins.md:330:1= 123 = 456 # error: [unresolved-attribute] = 789 # error: [invalid-assignment] = # error: [invalid-assignment]likely benign Type checker mdtest builtins attribute assignment with expected error annotation.Reasoning
Same mdtest file; the assignment is annotated with an expected diagnostic and exists to test the type checker.
-
info
critical→ info by reviewbuiltins-writecrates/ty_python_semantic/resources/mdtest/import/builtins.md:331:1= 456 # error: [unresolved-attribute] = 789 # error: [invalid-assignment] = # error: [invalid-assignment] = 10likely benign Type checker mdtest builtins attribute assignment with expected error annotation.Reasoning
Same mdtest file; intentional invalid-assignment test case for the type checker.
-
info
critical→ info by reviewbuiltins-writecrates/ty_python_semantic/resources/mdtest/import/builtins.md:332:1= 789 # error: [invalid-assignment] = # error: [invalid-assignment] = 10likely benign Type checker mdtest reassigning builtins.chr with expected diagnostics.Reasoning
Same mdtest file; the builtins.chr reassignment is a deliberate test case with expected diagnostics.
-
info
critical→ info by reviewbuiltins-writecrates/ty_python_semantic/resources/mdtest/import/builtins.md:333:1= # error: [invalid-assignment] = 10likely benign Mdtest case that intentionally assigns to a builtin to check that the type checker reports an invalid assignment.Reasoning
This is a markdown test fixture for a type checker. The `# error: [invalid-assignment]` comment shows the assignment to `builtins.chr` is deliberately invalid and expected to produce a diagnostic. It is a test case, not a runtime patch.
-
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/narrow/aliased_conditions.md:168:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/narrow/complex_target.md:131:1 -
# In this case, it may seem like we can narrow it down to `int`, # but different values ⟨U+200B⟩⟨U+200B⟩may be reassigned to `x` and `y` in another place. # revealed: int | None -
# In this case, it may seem like we can narrow it down to `int`, # but different values ⟨U+200B⟩⟨U+200B⟩may be reassigned to `x` and `y` in another place. # revealed: int | None -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/narrow/conditionals/eq.md:586:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/narrow/conditionals/nested.md:77:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/narrow/conditionals/nested.md:122:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/narrow/conditionals/nested.md:310:1 -
info
critical→ info by reviewdynamic-executioncrates/ty_python_semantic/resources/mdtest/pep613_type_aliases.md:818:28# typing conformance cases: : = # error: [invalid-type-form] : = # error: [invalid-type-form] : = # error: [invalid-type-form]likely benign Conformance test case using eval to produce an invalid type alias expression, with an expected error annotation.Reasoning
This is a typing-conformance mdtest case. The `eval` builds the string 'int' from character codes and is expected to yield an invalid-type-form error. It is a fixture exercising invalid type alias forms, not a runtime dropper, and the code is never run on import in a shipped package.
-
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/type_properties/constraints.md:1090:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/type_qualifiers/classvar.md:12:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/type_qualifiers/classvar.md:145:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/type_qualifiers/classvar.md:289:1 -
/// You must provide the `inherited_generic_context` that we should use for the `__new__` or /// `__init__` member. This is inherited from the containing class -⟨U+00AD⟩but importantly, from the /// class that the lookup is being performed on, and not the class containing the (possibly /// inherited) member. -
) -
) -
// Given constraints `α ≤ T` and `T ≤ β`, `α ≤ β` must also hold. If those bounds contain // other typevars, we can infer additional constraints. (α and U won't be bare typevars, // since those will be modeled by `TypeVarRange` bounds.) // -
// To handle all of these cases, we perform a constraint set assignability check to see // when `α ≤ β`. This gives us a constraint set, which should be the rhs of the sequent // implication. (That is, this check directly encodes `(α ≤ T) ∧ (T ≤ β) → (α ≤ β)` as an -
// when `α ≤ β`. This gives us a constraint set, which should be the rhs of the sequent // implication. (That is, this check directly encodes `(α ≤ T) ∧ (T ≤ β) → (α ≤ β)` as an // implication.) -
// when `α ≤ β`. This gives us a constraint set, which should be the rhs of the sequent // implication. (That is, this check directly encodes `(α ≤ T) ∧ (T ≤ β) → (α ≤ β)` as an // implication.) -
) -
) -
) -
) -
) -
) -
) -
) -
// Given `α ≤ T` and `U ≤ β`, if α contains U contravariantly, substitute β for U: // // (Contra[U] ≤ T) ∧ (U ≤ β) ⇒ (Contra[β] ≤ T) -
// Given `α ≤ T` and `U ≤ β`, if α contains U contravariantly, substitute β for U: // // (Contra[U] ≤ T) ∧ (U ≤ β) ⇒ (Contra[β] ≤ T) -
// If β contains T contravariantly, substitute α for T: // // (α ≤ T) ∧ (U ≤ Contra[T]) ⇒ (U ≤ Contra[α]) -
// // (α ≤ T) ∧ (U ≤ Contra[T]) ⇒ (U ≤ Contra[α]) if upper .bound -
// // (α ≤ T) ∧ (U ≤ Contra[T]) ⇒ (U ≤ Contra[α]) if upper .bound -
) -
) -
) -
) -
) -
) -
) -
) -
) -
) -
) -
) -
) -
) -
) -
) -
) -
) -
// (β ≤ α) ⇒ ((α ≤ T) ⇒ (β ≤ T)) if other_lower.is_constraint_set_subtype_of -
// (β ≤ α) ⇒ ((α ≤ T) ⇒ (β ≤ T)) if other_lower.is_constraint_set_subtype_of -
// (α ≤ β) ⇒ ((β ≤ T) ⇒ (α ≤ T)) if lower.is_constraint_set_subtype_of -
// (α ≤ β) ⇒ ((β ≤ T) ⇒ (α ≤ T)) if lower.is_constraint_set_subtype_of -
// `(α ≤ T) ∧ (β ≤ T)` is equivalent to `(α | β) ≤ T`. We do not create lower bounds that // are unions, so only add sequents when the union simplifies away. let combined = possibly_reversed_union; -
// `(α ≤ T) ∧ (β ≤ T)` is equivalent to `(α | β) ≤ T`. We do not create lower bounds that // are unions, so only add sequents when the union simplifies away. let combined = possibly_reversed_union; -
) -
) -
// `(α ≤ T) ∧ (T ≤ β)` simplifies to `T = α` when `α = β`. For ordinary typevars, only // simplify when the materialized bounds are the same `Type`; checking semantic equivalence // can recursively expand protocol members. ParamSpec bounds still need the semantic check -
// `(α ≤ T) ∧ (T ≤ β)` simplifies to `T = α` when `α = β`. For ordinary typevars, only // simplify when the materialized bounds are the same `Type`; checking semantic equivalence // can recursively expand protocol members. ParamSpec bounds still need the semantic check -
// `(α ≤ T) ∧ (T ≤ β)` simplifies to `T = α` when `α = β`. For ordinary typevars, only // simplify when the materialized bounds are the same `Type`; checking semantic equivalence // can recursively expand protocol members. ParamSpec bounds still need the semantic check -
// because callable types with different return types can represent the same parameter list. // (We don't need to add the projection implication `(T = α) ⇒ (α ≤ T)`, since anything we // can derive from `α ≤ T` we can also derive from `T = α`.) -
// because callable types with different return types can represent the same parameter list. // (We don't need to add the projection implication `(T = α) ⇒ (α ≤ T)`, since anything we // can derive from `α ≤ T` we can also derive from `T = α`.) -
// (We don't need to add the projection implication `(T = α) ⇒ (α ≤ T)`, since anything we // can derive from `α ≤ T` we can also derive from `T = α`.) let lower = self.bound.bottom_materialization; let upper = other.bound.top_materialization; -
// (We don't need to add the projection implication `(T = α) ⇒ (α ≤ T)`, since anything we // can derive from `α ≤ T` we can also derive from `T = α`.) let lower = self.bound.bottom_materialization; let upper = other.bound.top_materialization; -
) -
) -
// (α ≤ β) ⇒ ((T = β) ⇒ (α ≤ T)) if self .bound -
// (α ≤ β) ⇒ ((T = β) ⇒ (α ≤ T)) if self .bound -
// Given constraints `α ≤ T` and `T = β`, `α ≤ β` must also hold. If those bounds contain // other typevars, we can infer additional constraints. add_sequents_for_range; -
// Given constraints `α ≤ T` and `T = β`, `α ≤ β` must also hold. If those bounds contain // other typevars, we can infer additional constraints. add_sequents_for_range; -
) -
) -
// We can infer sequents from `α ≤ T` and `S ≤ U` if α _contains_ U. add_covariant_lower_weakened_sequent; add_contravariant_lower_weakened_sequent; -
// We can infer sequents from `α ≤ T` and `S ≤ U` if α _contains_ U. add_covariant_lower_weakened_sequent; add_contravariant_lower_weakened_sequent; -
) -
) -
// We can infer sequents from `α ≤ T` and `S ≤ U` if α _contains_ U. map.add_grouped_sequents -
// We can infer sequents from `α ≤ T` and `S ≤ U` if α _contains_ U. map.add_grouped_sequents -
) -
) -
// (α ≤ β) ⇒ ((T ≤ α) ⇒ (T ≤ β)) if upper.is_constraint_set_subtype_of -
// (α ≤ β) ⇒ ((T ≤ α) ⇒ (T ≤ β)) if upper.is_constraint_set_subtype_of -
// (β ≤ α) ⇒ ((T ≤ β) ⇒ (T ≤ α)) if other_upper.is_constraint_set_subtype_of -
// (β ≤ α) ⇒ ((T ≤ β) ⇒ (T ≤ α)) if other_upper.is_constraint_set_subtype_of -
// `(T ≤ α) ∧ (T ≤ β)` is equivalent to `T ≤ (α & β)`. We do not create upper bounds that // are intersections, so only add sequents when the intersection simplifies away. let combined = possibly_reversed_intersection; -
// `(T ≤ α) ∧ (T ≤ β)` is equivalent to `T ≤ (α & β)`. We do not create upper bounds that // are intersections, so only add sequents when the intersection simplifies away. let combined = possibly_reversed_intersection; -
) -
) -
// (β ≤ α) ⇒ ((T = β) ⇒ (T ≤ α)) if other .bound -
// (β ≤ α) ⇒ ((T = β) ⇒ (T ≤ α)) if other .bound -
// Given constraints `T ≤ α` and `T = β`, `α ≤ β` must also hold. If those bounds contain // other typevars, we can infer additional constraints. add_sequents_for_range; -
// Given constraints `T ≤ α` and `T = β`, `α ≤ β` must also hold. If those bounds contain // other typevars, we can infer additional constraints. add_sequents_for_range; -
) -
) -
// We can infer sequents from `T ≤ α` and `S ≤ U` if α _contains_ S. add_covariant_upper_weakened_sequent; add_contravariant_upper_weakened_sequent; -
// We can infer sequents from `T ≤ α` and `S ≤ U` if α _contains_ S. add_covariant_upper_weakened_sequent; add_contravariant_upper_weakened_sequent; -
) -
) -
// We can infer sequents from `T ≤ α` and `S = U` if α _contains_ S. map.add_grouped_sequents -
// We can infer sequents from `T ≤ α` and `S = U` if α _contains_ S. map.add_grouped_sequents -
) -
) -
) -
// Given `T = α` and `T = β`, if α and β are equivalent (but not _identical_), we can infer // either from the other. if self.bound == other.bound -
// Given `T = α` and `T = β`, if α and β are equivalent (but not _identical_), we can infer // either from the other. if self.bound == other.bound -
// Given constraints `T = α` and `T = β`, `α = β` must also hold. If those bounds contain // other typevars, we can infer additional constraints. add_sequents_for_equivalence; -
// Given constraints `T = α` and `T = β`, `α = β` must also hold. If those bounds contain // other typevars, we can infer additional constraints. add_sequents_for_equivalence; -
) -
) -
// Given constraints `T = α` and `U ≤ T`, `U ≤ α` must also hold. // The retained equality likewise makes this an equivalent replacement for `U ≤ T`. if self.typevar.is_same_typevar_as -
// Given constraints `T = α` and `U ≤ T`, `U ≤ α` must also hold. // The retained equality likewise makes this an equivalent replacement for `U ≤ T`. if self.typevar.is_same_typevar_as -
// We can infer sequents from `T = α` and `S ≤ U` if α _contains_ S or U. add_covariant_lower_weakened_sequent; add_covariant_upper_weakened_sequent; -
// We can infer sequents from `T = α` and `S ≤ U` if α _contains_ S or U. add_covariant_lower_weakened_sequent; add_covariant_upper_weakened_sequent; -
) -
) -
// We can infer sequents from `T = α` and `S = U` if α _contains_ U. map.add_grouped_sequents -
// We can infer sequents from `T = α` and `S = U` if α _contains_ U. map.add_grouped_sequents -
// // (α | β) ≤ T ⇔ (α ≤ T) ∧ (β ≤ T) match bound -
// // (α | β) ≤ T ⇔ (α ≤ T) ∧ (β ≤ T) match bound -
// // T ≤ (α & β) ⇔ (T ≤ α) ∧ (T ≤ β) // T ≤ (¬α & ¬β) ⇔ (T ≤ ¬α) ∧ (T ≤ ¬β) match bound -
// // T ≤ (α & β) ⇔ (T ≤ α) ∧ (T ≤ β) // T ≤ (¬α & ¬β) ⇔ (T ≤ ¬α) ∧ (T ≤ ¬β) match bound -
// T ≤ (α & β) ⇔ (T ≤ α) ∧ (T ≤ β) // T ≤ (¬α & ¬β) ⇔ (T ≤ ¬α) ∧ (T ≤ ¬β) match bound -
// T ≤ (α & β) ⇔ (T ≤ α) ∧ (T ≤ β) // T ≤ (¬α & ¬β) ⇔ (T ≤ ¬α) ∧ (T ≤ ¬β) match bound -
//! ```text //! μF. λT. tuple[T, F[list[T]] | None] //! ``` //! -
//! //! Here `μF` binds the recursive constructor, and `λT` binds its type parameter. //! The occurrence `F[list[T]]` is stored as `RecursiveVar` with the constructor's //! `RecursiveCycle` and unspecialized arguments `[list[T]]`. -
//! ```text //! unfold((μF. λT. tuple[T, F[list[T]] | None])[int]) //! = tuple[int, (μF. λT. tuple[T, F[list[T]] | None])[list[int]] | None] //! = tuple[int, Tree[list[int]] | None] -
//! unfold((μF. λT. tuple[T, F[list[T]] | None])[int]) //! = tuple[int, (μF. λT. tuple[T, F[list[T]] | None])[list[int]] | None] //! = tuple[int, Tree[list[int]] | None] //! ``` -
/// If the value ⟨U+200B⟩⟨U+200B⟩is defined recursively, widening is performed from fewer literal elements, /// resulting in faster convergence of the fixed-point iteration. const MAX_RECURSIVE_UNION_LITERALS: usize = 5; -
/// If the value ⟨U+200B⟩⟨U+200B⟩is defined recursively, widening is performed from fewer literal elements, /// resulting in faster convergence of the fixed-point iteration. const MAX_RECURSIVE_UNION_LITERALS: usize = 5; -
const MAX_RECURSIVE_UNION_LITERALS: usize = 5; /// If the value ⟨U+200B⟩⟨U+200B⟩is defined non-recursively, the fixed-point iteration will converge in one go, /// so in principle we can have as many literal elements as we want. /// We set a large limit for union and enum literals. -
const MAX_RECURSIVE_UNION_LITERALS: usize = 5; /// If the value ⟨U+200B⟩⟨U+200B⟩is defined non-recursively, the fixed-point iteration will converge in one go, /// so in principle we can have as many literal elements as we want. /// We set a large limit for union and enum literals. -
# Primer install commands are trusted project metadata and may use shell syntax. # ruff: ignore[subprocess-popen-with-shell-equals-true] # Install listed dependencies (matching primer's setup())likely benign Setup script that runs project-defined install commands through the shell for the primer project environment.Reasoning
This is a developer script that runs install commands from primer project metadata with shell=True. The comment says the commands are trusted project metadata, and the ruff ignore marks the pattern as known. Shell injection is possible if that metadata is attacker-controlled, but the snippet shows a legitimate setup pattern in a dev tool, not obfuscation or a dropper.
-
<CWD>/src/black/__init__.py:1018:15 - error: Cannot access attribute "detach" for class "AnsiToWin32" ⟨U+00A0⟩⟨U+00A0⟩Attribute "detach" is unknown (reportAttributeAccessIssue) <CWD>/src/black/__init__.py:1072:11 - error: Cannot access attribute "detach" for class "AnsiToWin32" -
<CWD>/discord/abc.py:123:9 - error: "pinned" overrides symbol of same name in class "Message" ⟨U+00A0⟩⟨U+00A0⟩Variable is mutable so its type is invariant ⟨U+00A0⟩⟨U+00A0⟩⟨U+00A0⟩⟨U+00A0⟩Override type "Literal[True]" is not the same as base type "bool" (reportIncompatibleVariableOverride) <CWD>/discord/activity.py -
<CWD>/homeassistant/auth/__init__.py:137:12 - error: Could not access item in TypedDict ⟨U+00A0⟩⟨U+00A0⟩"type" is not a required key in "AuthFlowResult", so access may result in runtime exception (reportTypedDictNotRequiredAccess) <CWD>/homeassistant/auth/__init__.py:141:23 - error: Could not access item in TypedDict -
<CWD>/homeassistant/components/lg_thinq/switch.py:41:86 - error: Type "dict[str, tuple[ThinQSwitchEntityDescription, ThinQSwitchEntityDescription, ThinQSwitchEntityDescription, ThinQSwitchEntityDescription] | tuple[ThinQSwitchEntityDescription, ThinQSwitchEntityDescription, ThinQSwitchEntityDescription] | tuple[ThinQ -
<CWD>/isort/main.py:520:32 - error: Cannot access attribute "__members__" for class "Enum" ⟨U+00A0⟩⟨U+00A0⟩Attribute "__members__" is unknown (reportAttributeAccessIssue) <CWD>/isort/main.py:521:50 - error: Cannot access attribute "__members__" for class "Enum" -
<CWD>/src/jinja2/async_utils.py:91:25 - error: Cannot access attribute "__aiter__" for class "Iterable[V@auto_aiter]" ⟨U+00A0⟩⟨U+00A0⟩Attribute "__aiter__" is unknown (reportAttributeAccessIssue) <CWD>/src/jinja2/async_utils.py:93:41 - error: No overloads for "iter" match the provided arguments (reportCallIssue) -
⟨U+00A0⟩⟨U+00A0⟩Parameter 2 name mismatch: base parameter is named "y_", override parameter is named "other" (reportIncompatibleMethodOverride) <CWD>/pandas/_libs/sparse.pyi:45:9 - error: Method "make_union" overrides class "SparseIndex" in an incompatible manner -
⟨U+00A0⟩⟨U+00A0⟩"TTLCache[_KT2@__init__, _VT2@__init__, float]" is not assignable to "TTLCache[frozenset[str], bool, float]" ⟨U+00A0⟩⟨U+00A0⟩⟨U+00A0⟩⟨U+00A0⟩Type parameter "_KT@TTLCache" is invariant, but "_KT2@__init__" is not the same as "frozenset[str]" -
⟨U+00A0⟩⟨U+00A0⟩Argument types: ((**_InputT@compile) -> _RetT@compile, bool, bool | None, str | ((...) -> Unknown), str | None, dict[str, str | int | bool | ((...) -> Unknown)] | None, str | None, bool, int | None, bool, Any | None) (reportCallIssue) -
<CWD>/torch/_functorch/_aot_autograd/graph_compile.py:2614:55 - error: Type "None" is not assignable to declared type "(compiled_bw_func: (...) -> Any, bw_module: GraphModule, _fw_metadata: ViewAndMutationMeta, aot_config: AOTConfig) -> (GenericAOTAutogradResult[Any, Any] | None)" -
⟨U+00A0⟩⟨U+00A0⟩Type "None" is not assignable to type "(compiled_bw_func: (...) -> Any, bw_module: GraphModule, _fw_metadata: ViewAndMutationMeta, aot_config: AOTConfig) -> (GenericAOTAutogradResult[Any, Any] | None)" (reportAssignmentType) -
<CWD>/torch/_functorch/_aot_autograd/graph_compile.py:2689:36 - error: Type "None" is not assignable to declared type "(compiled_bw_func: (...) -> Any, bw_module: GraphModule, _fw_metadata: ViewAndMutationMeta, aot_config: AOTConfig) -> (GenericAOTAutogradResult[Any, Any] | None)" -
⟨U+00A0⟩⟨U+00A0⟩Type "None" is not assignable to type "(compiled_bw_func: (...) -> Any, bw_module: GraphModule, _fw_metadata: ViewAndMutationMeta, aot_config: AOTConfig) -> (GenericAOTAutogradResult[Any, Any] | None)" (reportAssignmentType) -
mypy.ini: note: unused section(s): [mypy-torch.for_onnx.onnx], [mypy-torch.ao.quantization.pt2e._affine_quantization], [mypy-test_torch], [mypy-torch.testing._internal.hypothesis_utils.*], [mypy-torch.testing._internal.common_quantization.*], [mypy-torch.testing._internal.generated.*], [mypy-torch.multiprocessing.pool]
Reproduce This Scan
Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.
&&