ruff 0.17.1
- Source
- https://github.com/astral-sh/ruff
- Tag scanned
0.17.1- Compared with
0.17.0(1 signals introduced since)- Files
- 6735 scanned, 4451 skipped (binary, oversized, or unrecognised)
- Signals
- 8 critical · 11 warn · 591 info
- Scan time
- 104.2 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): the 126 most severe of 132 warn and critical signals (113 with a verdict); 113 demoted to info. The rest are unreviewed.
- Disclude version
- 4.0.0
- Scanned (UTC)
- 2026-10-15 19:42
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
critical
builtins-writecrates/ty_python_semantic/resources/corpus/98_ann_assign_annotation_future_annotations.py:5:1: = -
# revealed: Literal["sys", "os"] # revealed: ModuleType -
= 123 = 456 # error: [unresolved-attribute] = 789 # error: [invalid-assignment] -
= 123 = 456 # error: [unresolved-attribute] = 789 # error: [invalid-assignment] = # error: [invalid-assignment] -
= 456 # error: [unresolved-attribute] = 789 # error: [invalid-assignment] = # error: [invalid-assignment] = 10 -
= 789 # error: [invalid-assignment] = # error: [invalid-assignment] = 10 -
= # error: [invalid-assignment] = 10 -
# typing conformance cases: : = # error: [invalid-type-form] : = # error: [invalid-type-form] : = # error: [invalid-type-form] -
-
= ``` -
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 -
-
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@__ -
# For a specific version. |likely benign README instruction for pinned-version ruff installation via curl | sh and PowerShell.Reasoning
This pins a specific ruff version in the official install script URL, with the matching PowerShell irm | iex alternative for Windows. This is normal vendor install documentation.
-
likely benign CI smoke test runs the installed package's module with --help using an env-provided name.
Reasoning
MODULE_NAME is a workflow-level variable set by the CI matrix/env, used to smoke-test the installed package with --help. Standard release-smoke-test pattern in a trusted repository workflow; the flag is about variable command names, which is a known weak signal here.
-
IMPORTS_FILE="/ruff-coff-imports.txt" if ; thenlikely benign Windows build step uses llvm-readobj to list DLL imports of the compiled binary.Reasoning
LLVM_READOBJ is set to llvm-readobj (a build tool) and used to inspect COFF imports of the built ruff.exe to check for vcruntime dependencies. Output is written to a file and grepped. Legitimate build verification; the critical severity reflects the runtime-determined command, not evidence of malice.
-
likely benign CI step installs built wheel and runs a --help smoke test.
Reasoning
Same smoke-test pattern as other instances: installs the built wheel and runs the module with --help. Benign CI verification.
-
likely benign CI smoke test of installed package via --help.
Reasoning
Repeated smoke-test pattern installing the built package and invoking --help via a CI-set module name. Benign.
-
likely benign CI smoke test of installed package via --help.
Reasoning
Repeated smoke-test pattern installing the built package and invoking --help. Benign.
-
likely benign CI smoke test of venv entry point via --help.
Reasoning
Smoke test running the installed venv entry point with --help. Benign.
-
likely benign CI smoke test of venv entry point via --help.
Reasoning
Smoke test running the installed venv entry point with --help. Benign.
-
|likely benign CI step downloads the hawk installer script from GitHub releases and pipes it to sh.Reasoning
Piping a curl download from the official astral-sh GitHub releases URL into sh is the standard installer pattern for the tool. It is a supply-chain risk in general, but the source is the project's own release domain with TLS enforced, so it reads as a legitimate install step rather than an obfuscated dropper.
-
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 -
filikely benign Signing workflow installs the signed wheel and runs ruff --help via a python array.Reasoning
The python array is a shell array holding an interpreter invocation, used to pip install the signed wheel and run ruff --help. Standard release verification; the warning comes from the array-expansion form.
-
likely benign Signing workflow smoke-tests ruff via python -m ruff --help.
Reasoning
Runs the installed ruff module with --help via the python array. Benign verification step.
-
if () { }dismissed PowerShell step sets ErrorActionPreference and validates the signed wheel count.Reasoning
The flagged name is a PowerShell automatic preference variable, not a command. The pattern matched a non-command, so this is a false positive in a PowerShell block that sets Stop and validates a single signed wheel.
-
if () { }likely benign PowerShell step locates the single signed wheel and pip installs it.Reasoning
$wheel is a Get-ChildItem result object, and the step installs its FullName with pip. Local variable use in a trusted signing workflow; the flag is a parser artifact of PowerShell.
-
if () { }dismissed Release workflow step that locates a signed wheel and installs it with pip.Reasoning
The flagged token $wheel is an argument to python -m pip install ($wheel.FullName), not a command name. The line is a PowerShell-style wheel install guarded by a count check, so the parser has misread the embedded script. No sign of malicious intent.
-
if () if ()dismissed Post-install exit-code check in the release signing workflow.Reasoning
$LASTEXITCODE is the PowerShell exit-code variable, read in a conditional to throw on failure. It is not executed as a command, so the dynamic-execution signal is a parser artifact.
-
if () if ()dismissed Exit-code check after verifying the signed ruff executable runs.Reasoning
Same pattern as the neighbouring findings: $LASTEXITCODE is checked after running the signed ruff binary to verify it works. No dynamic execution is introduced.
-
if () if ()dismissed Exit-code check after the ruff --help smoke test.Reasoning
$LASTEXITCODE is checked after the ruff help invocation, consistent with a sanity-test step in a release pipeline. The flag comes from a misparse of the PowerShell variable.
-
if ()dismissed Exit-code check after the python -m ruff smoke test.Reasoning
$LASTEXITCODE is checked after the python -m ruff invocation as a smoke test. This is ordinary CI verification with no obfuscation or malicious payload.
-
1.likely benign Documentation step telling contributors to install uv with the official curl | sh script.Reasoning
The curl-to-sh pattern is the official uv installation instruction from Astral, shown as contributor documentation. It is a widely used but risky install method, not hidden or obfuscated code.
-
# On macOS and Linux. | # On Windows.likely benign README instruction installing ruff via the official curl | sh installer on macOS and Linux.Reasoning
This is the official ruff installation command from the project's README, pointing at the vendor's own domain. It is standard install documentation rather than a supply-chain attack.
-
- -
-
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 skippeddismissed Test string containing a deliberate U+00A0 to check whitespace handling in the snippet renderer.Reasoning
The non-breaking space is deliberate test input. The adjacent comment states the expected warning for an unskipped '\u{a0}' symbol, so this is a rustc-compatibility test fixture, not hidden 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 # ASYNC220dismissed Test-fixture call to os.spawnl with a mode constant, used to exercise the flake8-async lint rule.Reasoning
This is a linter test fixture. The os.spawnl calls are never executed and exist to trigger ASYNC220 diagnostics, as the trailing comments show. Severity is inflated for a test file.
-
info
critical→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_async/ASYNC22x.py:74:5# ASYNC220 # ASYNC220 # ASYNC220 # ASYNC220dismissed Lint-fixture os.spawnl call annotated with its expected ASYNC220 diagnostic.Reasoning
The file is a lint fixture where each os.spawnl line is annotated with the rule it should trigger. The calls are inert test cases, not runtime process spawns.
-
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 # ASYNC221dismissed Lint-fixture os.spawnl call annotated with its expected ASYNC221 diagnostic.Reasoning
The annotated ASYNC221 cases in a linter fixture show this is intentional rule-coverage code. Nothing here is executed against a real binary.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_async/ASYNC22x.py:86:5# other weird cases: ASYNC220 # ASYNC220 # ASYNC220 # ASYNC220dismissed Lint-fixture edge-case os.spawnl calls with non-path arguments for rule testing.Reasoning
This is a test fixture covering edge cases for the ASYNC220 rule, with literal and call arguments annotated in comments. It is not a malicious spawn, and the literal-path signal is a weak indicator here.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_async/ASYNC22x.py:87:5# ASYNC220 # ASYNC220 # ASYNC220likely benign Test fixture calling os.spawnl with placeholder arguments to exercise a ruff lint rule.Reasoning
This is a linter test fixture for ruff's flake8-async rules (ASYNC220), with inline comments naming the expected rule. The os.spawnl calls are intentional test inputs, not malicious code.
-
info
critical→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_async/ASYNC22x.py:88:5# ASYNC220 # ASYNC220 # ASYNC222likely benign Linter fixture containing os.spawnl(foo()) to test ASYNC220 detection.Reasoning
The file is a ruff linter test fixture; the non-literal spawnl call foo() is a lint test input with an ASYNC220 comment. The critical severity reflects the scanner's pattern match, not real attack behavior.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:8:1# Check all shell functions.likely benign Test fixture calling os.system with a literal 'true' command to exercise rule S605.Reasoning
This is a ruff flake8-bandit S605 test fixture enumerating shell-invoking functions with literal 'true' commands. It is benign test data.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:9:1likely benign Test fixture calling os.popen with a literal 'true' command.Reasoning
Part of the S605 linter test fixture; os.popen with the literal 'true' command is an intentional test input.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:20:1likely benign Test fixture calling subprocess.getoutput with a literal 'true' command.Reasoning
Linter test fixture for S605 with a harmless literal 'true' command passed to subprocess.getoutput.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:21:1likely benign Test fixture calling subprocess.getstatusoutput with a literal 'true' command.Reasoning
Linter test fixture for S605; the literal 'true' command is harmless and used to test rule detection.
-
info
critical→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:26:1=likely benign Test fixture calling os.system with a variable containing 'true'.Reasoning
Within the S605 test fixture, os.system receives a variable holding the literal 'true'. The critical label is a scanner artifact; this is a rule test input, not a runtime-determined attack.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:27:1likely benign Test fixture calling os.system with a list containing a variable.Reasoning
Same S605 test fixture pattern with a harmless variable command; no malicious intent.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S605.py:28:1likely benign Test fixture calling os.system with a list argument.Reasoning
Linter test fixture exercising os.system argument forms; benign.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:12:1likely benign Test fixture calling os.spawnl-family functions with 'true'.Reasoning
S606 linter test fixture calling os process-spawn functions with literal 'true'; benign test data.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:13:1likely benign Test fixture calling os.spawnle with 'true'.Reasoning
Same S606 test fixture pattern with harmless literal arguments.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:14:1likely benign Test fixture calling os.spawnlp with 'true'.Reasoning
Linter test fixture for S606; benign.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:15:1likely benign Test fixture calling os.spawnlpe with 'true'.Reasoning
Linter test fixture for S606; benign.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:16:1likely benign Test fixture calling os.spawnv with 'true'.Reasoning
Linter test fixture for S606; benign.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:17:1likely benign Test fixture calling os.spawnve with 'true'.Reasoning
Linter test fixture for S606; benign.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:18:1likely benign Test fixture calling os.spawnvp with 'true'.Reasoning
Linter test fixture for S606; benign.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S606.py:19:1likely benign Test fixture calling os.spawnvpe with 'true'.Reasoning
Linter test fixture for S606; benign.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:9:1dismissed Test fixture calling os.system and os.popen with literal commands to exercise a linter rule.Reasoning
This is a test fixture in ruff's linter test suite for the bandit S607 rule. The os.system and os.popen calls use literal harmless commands such as "true", and the file is test input, not shipped code.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:10:1dismissed Test fixture calling os.popen with a literal harmless command.Reasoning
Part of the same ruff bandit S607 test fixture. The os.popen call uses the literal harmless command "true", so this is a linter regression case, not a dropper or malicious execution.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:29:1dismissed Test fixture calling os.spawn* variants with literal placeholder paths.Reasoning
Ruff bandit S607 test fixture. The os.spawn* calls use literal placeholder paths such as "true" to check that the linter flags literal binary paths. Nothing here is dynamic or malicious.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:30:1dismissed Test fixture calling os.spawnle with a literal placeholder path.Reasoning
Same ruff bandit S607 fixture. The os.spawnle call uses the literal placeholder "true" to exercise the rule, which is a legitimate test pattern.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:31:1dismissed Test fixture calling os.spawnlp with a literal placeholder path.Reasoning
Ruff bandit S607 test fixture using a literal placeholder path with os.spawnlp. This is linter test input, not an attack.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:32:1dismissed Test fixture calling os.spawnlpe with a literal placeholder path.Reasoning
Ruff bandit S607 test fixture. The os.spawnlpe call with the literal "true" is a test case for the rule's detection of literal binary paths.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:33:1dismissed Test fixture calling os.spawnv with a literal placeholder path.Reasoning
Ruff bandit S607 test fixture. The os.spawnv call with the literal placeholder "true" exercises the linter rule and is not malicious.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:34:1dismissed Test fixture calling os.spawnve with a literal placeholder path.Reasoning
Ruff bandit S607 test fixture. The os.spawnve call uses a literal placeholder and is only linter test input.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:35:1dismissed Test fixture calling os.spawnvp with a literal placeholder path.Reasoning
Ruff bandit S607 test fixture. The os.spawnvp call with a literal placeholder path, and the os.startfile reference nearby, are test cases for the rule. There is no dynamic or malicious execution.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:36:1dismissed Test fixture calling os.spawnvpe with a literal placeholder path.Reasoning
Ruff bandit S607 test fixture. The os.spawnvpe call with the literal "true" is a linter regression case.
-
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.dismissed Test fixture calling os.system with literal full paths to check rule behavior.Reasoning
Ruff bandit S607 test fixture. The os.system calls use literal paths such as /bin/ls, and the comment states the purpose is to check that full paths do not fail. This is a deliberate linter test case.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:41:1dismissed Test fixture calling os.system with literal /bin/ls commands.Reasoning
Same ruff bandit S607 test fixture with literal /bin/ls calls. These are regression inputs for the linter rule.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:42:1dismissed Test fixture calling os.system with literal paths, including a Windows-style raw string.Reasoning
Ruff bandit S607 test fixture with literal os.system commands, including a raw Windows path. This is linter test input.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S607.py:43:1dismissed Test fixture calling os.system with literal list-form arguments.Reasoning
Ruff bandit S607 test fixture with literal list-form os.system arguments. This is a deliberate test case for the linter.
-
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/24075dismissed Test fixture calling os.system with a literal list of arguments, referencing a ruff regression issue.Reasoning
Ruff bandit S607 test fixture with a literal list-form os.system call. It is linter test input, and the trailing comment references a ruff issue, which confirms it is a regression test.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S609.py:4:1dismissed Test fixture calling os.popen and subprocess with literal wildcard commands for the S609 rule.Reasoning
Ruff bandit S609 wildcard-injection test fixture. The os.popen and subprocess calls use literal wildcard command strings, which are linter test cases for the S609 rule, not an attack.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S609.py:5:1likely benign Test fixture calling subprocess.Popen with shell=True and a literal command.Reasoning
This is a test fixture for ruff's S609 rule, which exists to flag shell=True usage. The commands are literal, fixed strings with no attacker-controlled input, so the code demonstrates the pattern rather than performing a real attack.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S609.py:6:1likely benign Test fixture calling subprocess.Popen with shell=True on a literal chown command.Reasoning
Same S609 test fixture. The shell=True call uses a literal chown command with no dynamic input, which is the intended example for the rule.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/flake8_bandit/S609.py:8:1likely benign Test fixture calling os.system with a literal tar shell command.Reasoning
Part of the S609 linter test fixture. os.system is called with a fixed tar command and no untrusted input, and the file exists to exercise the rule's detection.
-
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 Latin and Greek letters in an isort sorting test.Reasoning
This is an isort test fixture for sorting non-ASCII member names. The mixed Latin and Greek identifier is deliberate test data, not an obfuscation technique.
-
info
warn→ info by reviewunicode-mixed-scriptcrates/ruff_linter/resources/test/fixtures/isort/length_sort_non_ascii_modules.py:8:8likely benign Import of a Greek/Latin mixed-script module name in an isort test.Reasoning
The file is an isort test for non-ASCII module names. The Greek and Latin identifier mix is intentional fixture data for sort-order behavior.
-
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 Alias using mixed Latin and Greek letterlike characters in a unicode test.Reasoning
This isort fixture deliberately uses Unicode letterlike symbols and mixed scripts to test handling of non-ASCII names. The code is a test case, not a supply-chain payload.
-
# 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 section.Reasoning
This is a pydocstyle fixture. A no-break space in docstring indentation is a deliberate formatting edge case the rule tests, and it has no executable effect.
-
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 within a D208 test.Reasoning
This is a D208 docstring-indentation test fixture. The no-break space is a deliberate test input and only affects docstring text.
-
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.Reasoning
Docstring in a pydocstyle test fixture containing a Chinese sentence with ideographic spaces. The characters are docstring text and the file is a rule test, so this is not malicious.
-
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 String literal containing a POP DIRECTIONAL FORMATTING character in a bidi test.Reasoning
This is a pylint E2502 fixture demonstrating bidirectional control characters in a string. The file is a test case for detecting Trojan Source patterns, so the characters are intentional sample data.
-
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 Comparison line with a RIGHT-TO-LEFT OVERRIDE used to demonstrate Trojan Source.Reasoning
The line reproduces the Trojan Source pattern, with bidi overrides hiding a logic change in a comparison. This is a known-bad sample inside a pylint test fixture for E2502, so it is not a real attack, though the same construction is the real threat.
-
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 inside a comparison line in a bidi test fixture.Reasoning
Same E2502 test line as the other bidi findings. The isolate character is part of the intentional sample that the rule is meant to flag.
-
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 within a comment in a bidi test line.Reasoning
Part of the intentional Trojan Source sample in the E2502 fixture. The isolate pops within a comment, which is the pattern under test rather than a real payload.
-
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 in the bidi test comment.Reasoning
Repeated bidi isolate in the same deliberate E2502 test line. The fixture exists to exercise detection of these characters.
-
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 RIGHT-TO-LEFT ISOLATE inside a docstring in a bidi test.Reasoning
A RIGHT-TO-LEFT ISOLATE inside a docstring in a pylint bidi test fixture. It is sample data for the rule and does not change executable logic in a real project.
-
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 Test fixture using a Greek alpha identifier to exercise linter behavior.Reasoning
Greek alpha in a Python test fixture for empty comment handling; a deliberate test case, not a supply-chain homoglyph attack. Raw pass has high false-positive rate.
-
info
warn→ info by reviewunicode-homoglyphcrates/ruff_linter/resources/test/fixtures/pylint/empty_comment.py:58:1= 1 #likely benign Linter test fixture reusing a Greek alpha identifier.Reasoning
Same Greek alpha identifier in a linter test fixture file; benign test content.
-
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 Test fixture showing subprocess.run calls with shell=True on literal commands.Reasoning
This is a ruff linter test fixture exercising subprocess.run with shell=True on a literal command; the literal 'ls' is not attacker-controlled and the file is a lint test case.
-
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 Test fixture with subprocess.run calls on literal commands in various check/shell configurations.Reasoning
Lint test fixture with literal 'ls' commands; no untrusted input and no malicious intent.
-
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 Test fixture with subprocess.run shell=True calls on literal 'ls'.Reasoning
Same benign linter test fixture using literal shell commands.
-
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 that opens its own file to check for a string in a loop.Reasoning
Reading the file's own source to search for a string is a benign self-inspection pattern in a test fixture; no execution of extracted payload is shown.
-
""".encode( "utf-8" ) ( -
... -
info
warn→ info by reviewdynamic-executioncrates/ruff_linter/resources/test/fixtures/ruff/RUF028.py:103:12assert ==likely benign Test helper calling eval on test input for assertion checking.Reasoning
eval on a function parameter inside a test helper in a linter fixture; expected for testing the rule, not malicious.
-
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 Lint fixture calling eval with a noqa directive to test redirect reporting.Reasoning
eval(command) appears in a noqa-directive test fixture; it exists to exercise lint rule suppression handling, not as a real attack.
-
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 Linter fixture with repeated module-level eval lines testing noqa handling.Reasoning
Repeated module-level eval calls are deliberate test cases for noqa comment normalization in a linter fixture; they do not indicate a real dropper.
-
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 Linter fixture with module-level eval calls for noqa testing.Reasoning
Same deliberate noqa test pattern in a linter fixture file.
-
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 Linter fixture with module-level eval calls for noqa testing.Reasoning
Same deliberate noqa test pattern in a linter fixture file.
-
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 Linter fixture with module-level eval calls for noqa testing.Reasoning
Same deliberate noqa test pattern in a linter fixture file.
-
= = -
"""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 Non-breaking space inside a Rust raw string docstring snippet.Reasoning
Raw pass flags a non-breaking space in a docstring within a Rust raw string literal, likely inside a test or doc example. Low-risk formatting artifact from the raw pass.
-
-
/// /// 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 Non-breaking space in an embedded Python test snippet in Rust source.Reasoning
Non-breaking space in indentation of a Python snippet embedded in a Rust test string; typical of test fixture formatting and not a real obfuscation vector.
-
⟨U+00A0⟩1, ⟨U+00A0⟩2, ⟨U+00A0⟩3, )likely benign Non-breaking space in an embedded Python test snippet in Rust source.Reasoning
Same non-breaking space pattern in an embedded test string for the stylist.
-
⟨U+00A0⟩2, ⟨U+00A0⟩3, ) ";likely benign Non-breaking space in an embedded Python test snippet in Rust source.Reasoning
Same non-breaking space pattern in an embedded test string for the stylist.
-
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
warn→ info by reviewnarrow-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 ** 1dismissed Formatter test fixture containing chained power operators on the digit 1.Reasoning
This is a formatter test fixture exercising power-operator spacing; the file is a sequence of 1** expressions with a narrow character set purely because the content is numeric, not because it is an encoded payload.
-
info
high-complexitycrates/ruff_python_formatter/resources/test/fixtures/black/cases/preview_long_strings.py:311:12 -
info
warn→ info by reviewhigh-complexitycrates/ruff_python_formatter/resources/test/fixtures/black/cases/preview_long_strings__east_asian_width.py:5:10= =dismissed Plain Hangul and Hanzi string literals used to test line-length handling.Reasoning
These are ordinary Korean and Chinese string literals in a formatter test about east-asian width line wrapping; compression ratio on natural-language text is meaningless as obfuscation.
-
info
critical→ info by reviewdynamic-executioncrates/ruff_python_formatter/resources/test/fixtures/black/cases/preview_long_strings__regression.py:20:9likely benign Formatter regression fixture calling os.system on a formatted literal string.Reasoning
The os.system call is inside a formatter test fixture, with a string built via .format on a literal template; it is a non-executing regression input for the formatter, not a real dropper, though the flagged pattern is a shell call.
-
info
high-complexitycrates/ruff_python_formatter/resources/test/fixtures/black/cases/preview_long_strings__regression.py:235:17= f = f -
info
warn→ info by reviewunicode-invisiblecrates/ruff_python_formatter/resources/test/fixtures/black/cases/tricky_unicode_symbols.py:4:2= 3 x⟨U+E0100⟩ = 4 មុ = 1 Q̇_per_meter = 4dismissed Test fixture of unusual Unicode identifiers including a variation selector.Reasoning
This is a formatter test fixture deliberately exercising unusual Unicode identifiers, including variation selectors in an identifier; the code is a test of parser handling, not an attack payload.
-
""" 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
warn→ info by reviewdynamic-executioncrates/ruff_python_formatter/resources/test/fixtures/ruff/expression/lambda.py:845:5likely benign Formatter fixture using subprocess shell=True with an f-string containing lambdas.Reasoning
This is a formatter fixture showing lambda formatting inside an f-string passed to subprocess with shell=True; the rm -rf command is a formatting example, not executed code, though the pattern would be risky in real code.
-
info
warn→ info by reviewdynamic-executioncrates/ruff_python_formatter/resources/test/fixtures/ruff/expression/lambda.py:858:5# Regression test for https://github.com/astral-sh/ruff/issues/25397likely benign Formatter fixture with subprocess shell=True and nested lambdas in an f-string.Reasoning
Same formatter lambda fixture as the sibling finding; the shell call exists only to test expression formatting and is not part of a working malicious payload.
-
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 -
\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\dismissed Rust parser test enumerating byte values as \x escape sequences.Reasoning
This is a parser test table of escape sequences in a Rust source file, enumerating all byte values for string escape testing; the hex escapes are the expected content of a conformance test.
-
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\xdismissed Continuation of a Rust parser test enumerating byte escape sequences.Reasoning
Continuation of the same parser test table of byte escapes in Rust string-handling tests; there is no executed payload or obfuscation intent.
-
\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\dismissed Rust parser test table of hex escape sequences for string lexing.Reasoning
Near-duplicate of the other parser test table in string.rs, used to verify escape handling; the content is test data for the lexer.
-
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\xdismissed Continuation of a Rust parser test table of escape sequences.Reasoning
Continuation of the duplicate parser test escape table; it is expected test input for a Rust compiler front end.
-
-
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
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
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:977:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/call/functools_partial.md:1691: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:965:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/legacy/functions.md:1534:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/legacy/functions.md:1703:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/legacy/functions.md:1986: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:1458: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:734:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/callables.md:1299: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:949:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/functions.md:1671:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/functions.md:1830:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/functions.md:1970:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/functions.md:2153:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/functions.md:2738: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:1088:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variables.md:1442:1 -
info
identifier-low-lengthcrates/ty_python_semantic/resources/mdtest/generics/pep695/variables.md:1532: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
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
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 -
info
warn→ info by reviewunicode-zero-widthcrates/ty_python_semantic/resources/mdtest/typed_dict.md:368:26likely benign A stray zero-width space appears in a prose sentence of a markdown test resource.Reasoning
A zero-width space in a markdown prose sentence inside an mdtest doc is a typo-level artifact with no execution or hiding purpose; the surrounding text is ordinary documentation.
-
/// 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. -
|likely benign Documentation showing the official curl-to-sh install command for ruff.Reasoning
This is the standard documented installer one-liner for the ruff project, served from its own domain. Piping curl to sh is a known distribution pattern; it is flagged by the scanner but is not obfuscation in the repository's own docs.
-
|likely benign Documentation showing a version-pinned curl-to-sh ruff installer command.Reasoning
Same official ruff installer documentation with a pinned version; benign documentation of an install method.
-
|likely benign Installation docs with the official curl-to-sh ruff installer.Reasoning
Official installation docs for ruff using the standard install script; benign.
-
|likely benign Installation docs with a pinned-version curl-to-sh installer example.Reasoning
Version-pinned official installer example in installation docs; benign.
-
] returnlikely benign A developer script evals the output of a locally run command to build a set of module names.Reasoning
eval is applied to output of a local command helper inside a developer generator script. It is poor practice but not obfuscation; the input is from a build-time command rather than attacker-controlled data, though the command source is not fully shown.
-
# 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 A setup script runs trusted primer install commands via subprocess with shell=True.Reasoning
shell=True is used with install commands explicitly described as trusted project metadata for a primer project setup script, with a lint suppression comment. It is risky practice but the command comes from the project's own configuration, not hidden or obfuscated code.
-
likely benign Benchmark README gives the official uv curl-to-sh install command.
Reasoning
Prose README instruction for installing uv via its official curl-to-sh script; standard documentation.
-
<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 -
info
warn→ info by reviewlong-linescripts/ty_benchmark/snapshots/homeassistant_Pyright.txt:19250:1<CWD>/homeassistant/components/lg_thinq/sensor.py:429:81 - error: Type "dict[str, tuple[SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, SensorEntityDescription, Sensolikely benign Generated benchmark snapshot line with a long type error message.Reasoning
A very long line in a generated type-checker snapshot output; this is expected for long type signatures and carries no malicious content.
-
<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) -
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'likely benign Generated snapshot line containing a long pandas signature error.Reasoning
Long generated type-checker error message in a benchmark snapshot; expected formatting, not obfuscation.
-
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'likely benign Generated snapshot line containing a long pandas signature error.Reasoning
Long generated type-checker error message in a benchmark snapshot; benign.
-
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'likely benign Generated snapshot line containing a long pandas signature error.Reasoning
Long generated type-checker error message in a benchmark snapshot; benign.
-
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'likely benign Generated snapshot line containing a long pandas signature error.Reasoning
Long generated type-checker error message in a benchmark snapshot; benign.
-
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'likely benign A long line in a text benchmark snapshot file containing a pyrefly type-checker error message with a verbose function signature.Reasoning
This is a raw long-line finding in a text snapshot of type-checker output. The snippet is a pyrefly error message containing a long function signature with type annotations, which is a normal artifact of type checkers printing overloaded signatures. Long lines in generated text output are not obfuscation or malicious intent.
-
⟨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.
&&