PyPI / uv / 0.13.2

uv 0.13.2

Source
https://github.com/astral-sh/uv
Tag scanned
0.13.2
Compared with
0.13.1 (1 signals introduced since)
Files
1175 scanned, 652 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 1 warn · 117 info
Scan time
73.6 s
LLM review
Reviewed by claude-haiku-5-5 (Anthropic): 80 of 80 warn and critical signals; 79 demoted to info.
Disclude version
4.0.0
Scanned (UTC)
2026-10-20 11:12

Signals

Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.

  1. [embedded bash] pipeline feeds into `bash` — piped data is executed as shell code (ast pass, confidence 0.80)

              # Install pyenv
              curl https://pyenv.run | bash
    
              # Set up environment variables for current step
    suspicious LLM, confidence 0.60 CI step installs pyenv by piping the pyenv.run installer to bash.
    Reasoning

    curl piped to bash to install pyenv is the upstream-documented installer, which is a supply-chain risk in general but common in CI test setup and not obfuscation. Flagged as a pipeline into bash; the risk is real but this is a typical test-environment install from a well-known source.

  2. info warn → info by review dynamic-execution docs/getting-started/installation.md:28:5 new in this release

    [markup prose] pipeline feeds into `sh` — piped data is executed as shell code (ast pass, confidence 0.80)

        $ curl -LsSf https://astral.sh/uv/0.13.2/install.sh | sh
    likely benign LLM, confidence 0.85 Documentation showing a version-pinned curl-to-sh uv install command.
    Reasoning

    Documents a version-pinned uv install script from astral.sh. Standard documentation for a pinned installer.

  3. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:82:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                pip install /dist/${PACKAGE_NAME}-*.tar.gz --force-reinstall --config-settings=maturin.build-args=--locked
                ${MODULE_NAME} --help
                python -m ${MODULE_NAME} --help
                uvx --help
    likely benign LLM, confidence 0.85 Release workflow smoke test that invokes the package's own CLI via a templated module name.
    Reasoning

    The flagged line runs ${MODULE_NAME} as a smoke-test command in a release workflow. The variable is a project-defined name for the package's own CLI, and the surrounding steps are ordinary install-and-verify commands. The pattern is a generic dynamic-command heuristic firing on templated CI shell, not obfuscation.

  4. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:114:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                pip install /dist/${PACKAGE_NAME}_build-*.tar.gz --force-reinstall --config-settings=maturin.build-args=--locked
                ${MODULE_NAME}-build --help
                python -m ${MODULE_NAME}_build --help
    likely benign LLM, confidence 0.85 Post-install smoke test in a release workflow that runs the project's own build-tool CLI.
    Reasoning

    Same pattern as the other workflow findings: ${MODULE_NAME}-build is the project's own build-tool CLI, invoked for a --help smoke test after a local pip install of a freshly built artifact. No external input controls the command name.

  5. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:249:11

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              pip install ${PACKAGE_NAME} --no-index --find-links dist/ --force-reinstall
              ${MODULE_NAME} --help
              python -m ${MODULE_NAME} --help
              uvx --help
    likely benign LLM, confidence 0.85 CI verification step that runs the package's CLI with --help after a local install.
    Reasoning

    The flagged command is ${MODULE_NAME} --help in a release-build CI job, run after installing the project's own package from a local dist directory. This is a routine verification step and the variable is set by the project's workflow.

  6. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:292:11

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              pip install ${PACKAGE_NAME}_build --no-index --find-links crates/uv-build/dist --force-reinstall
              ${MODULE_NAME}-build --help
              python -m ${MODULE_NAME}_build --help
    likely benign LLM, confidence 0.85 Release pipeline smoke test of the uv-build CLI after a local install.
    Reasoning

    The line runs the project's build-tool CLI with --help after installing a locally built wheel. This is routine release-pipeline verification, and the command name comes from the project's own configuration.

  7. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:334:11

    [embedded bash] command name is a variable (`$version`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              # Namespace runners do not include winget.
              $version = '3.02'
              $sha256 = '0DDB40310861EB29F4D649FEB9466779982A2D251C0DB2B9CF0D21CF591171F3'
              $installer = Join-Path $env:RUNNER_TEMP "nasm-${version}-installer-x64.exe"
    likely benign LLM, confidence 0.80 Windows CI step that downloads and installs a pinned NASM release from its official host.
    Reasoning

    This is a PowerShell step that downloads the NASM installer from the official nasm.us host at a pinned version, and it defines a SHA-256 for verification. The flag is only that $version is interpolated into a command position by the generic heuristic. The pinned hash suggests integrity checking, though the verification line is not shown in the snippet.

  8. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:335:11

    [embedded bash] command name is a variable (`$sha256`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              $version = '3.02'
              $sha256 = '0DDB40310861EB29F4D649FEB9466779982A2D251C0DB2B9CF0D21CF591171F3'
              $installer = Join-Path $env:RUNNER_TEMP "nasm-${version}-installer-x64.exe"
    likely benign LLM, confidence 0.80 Pinned SHA-256 constant for the NASM installer download in a Windows CI step.
    Reasoning

    $sha256 is a hardcoded hash constant for the pinned NASM installer. Its appearance here is a variable assignment, and the heuristic is misreading it as a command position. This is a benign supply-chain pin.

  9. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:336:11

    [embedded bash] command name is a variable (`$installer`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              $sha256 = '0DDB40310861EB29F4D649FEB9466779982A2D251C0DB2B9CF0D21CF591171F3'
              $installer = Join-Path $env:RUNNER_TEMP "nasm-${version}-installer-x64.exe"
              Invoke-WebRequest "https://www.nasm.us/pub/nasm/releasebuilds/$version/win64/nasm-${version}-installer-x64.exe" -OutFile $installer
    likely benign LLM, confidence 0.80 Computes the temp path for the downloaded NASM installer in a Windows CI step.
    Reasoning

    The line builds a path in RUNNER_TEMP for the NASM installer, which is then downloaded from the official nasm.us release URL. The variable only holds a file path, and the download is a normal build-dependency setup step.

  10. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:341:11

    [embedded bash] command name is a variable (`$installation`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              }
              $installation = Start-Process $installer -ArgumentList '/S' -Wait -PassThru
              if ($installation.ExitCode -ne 0) {
                throw "NASM installation failed: $($installation.ExitCode)"
    likely benign LLM, confidence 0.82 Runs the NASM silent installer and checks its exit code in a Windows CI step.
    Reasoning

    $installation holds the result of Start-Process running the NASM installer with silent flag /S and -Wait. It then checks ExitCode and throws on failure. This is standard installer handling for a pinned, downloaded dependency in CI.

  11. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:342:15

    [embedded bash] command name is a variable (`$installation`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              $installation = Start-Process $installer -ArgumentList '/S' -Wait -PassThru
              if ($installation.ExitCode -ne 0) {
                throw "NASM installation failed: $($installation.ExitCode)"
              }
    likely benign LLM, confidence 0.82 Exit-code check after the NASM installer run in a Windows CI step.
    Reasoning

    The flagged line is an exit-code check on the NASM installer result. Its only effect is to throw if installation fails, which is a normal error-handling pattern.

  12. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:343:48

    [embedded bash] command name is a variable (`$installation`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              if ($installation.ExitCode -ne 0) {
                throw "NASM installation failed: $($installation.ExitCode)"
              }
              echo "C:\Program Files\NASM" | Out-File -FilePath $env:GITHUB_PATH -Append
    likely benign LLM, confidence 0.82 Adds the NASM install directory to GITHUB_PATH for subsequent CI steps.
    Reasoning

    The line appends the standard NASM install directory to GITHUB_PATH so later steps can find the assembler. This is ordinary CI PATH setup with no hidden execution.

  13. info critical → info by review dynamic-execution .github/workflows/build-release-binaries.yml:384:13

    [embedded bash] command name is a variable (`$LLVM_READOBJ`) and `LLVM_READOBJ` is assigned the output of a command — executed command determined at runtime (ast pass, confidence 0.90)

                IMPORTS_FILE="$RUNNER_TEMP/${binary}-coff-imports.txt"
                "$LLVM_READOBJ" --coff-imports "target/${{ matrix.platform.target }}/release/${binary}.exe" > "$IMPORTS_FILE"
    
                if grep -Eiq 'vcruntime[[:digit:]_]*\.dll|ucrtbase\.dll|api-ms-win-crt-' "$IMPORTS_FILE"; then
    likely benign LLM, confidence 0.80 Release-workflow step that dumps COFF imports of a built Windows executable using an LLVM tool path resolved at runtime.
    Reasoning

    The command runs $LLVM_READOBJ, a variable assigned from another command, to inspect COFF imports of a freshly built Windows binary, then greps for CRT DLL names. This is a standard way to locate an LLVM tool in a release pipeline. The variable is set in the same workflow, and the dependency it implies is not hidden or encoded. Remaining doubt: the assignment itself is not shown.

  14. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:397:11

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              pip install ${PACKAGE_NAME} --no-index --find-links dist/ --force-reinstall
              ${MODULE_NAME} --help
              python -m ${MODULE_NAME} --help
              uvx --help
    likely benign LLM, confidence 0.92 Smoke test that runs the installed package's console script and its python -m entry point with --help.
    Reasoning

    In a release-test step, ${MODULE_NAME} is the console-script name of the package just built and installed with pip from local dist/. Running its --help verifies the installed artifact. The variable is a workflow-level value, not attacker input, and the pattern is routine in packaging CI.

  15. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:440:11

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              pip install ${PACKAGE_NAME}_build --no-index --find-links crates/uv-build/dist --force-reinstall
              ${MODULE_NAME}-build --help
              python -m ${MODULE_NAME}_build --help
    likely benign LLM, confidence 0.92 Post-install smoke test of the uv-build wheel's console script and module entry point.
    Reasoning

    This is the uv-build smoke test. It installs the locally built wheel and runs the console script derived from MODULE_NAME with --help. This verifies the release artifact, which is the normal purpose of such a step.

  16. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:467:11

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              pip install ${PACKAGE_NAME} --no-index --find-links dist/ --force-reinstall
              ${MODULE_NAME} --help
              python -m ${MODULE_NAME} --help
              uvx --help
    likely benign LLM, confidence 0.92 Install-and-verify step that runs the packaged tool's console script with --help.
    Reasoning

    Same smoke-test pattern as the other install-and-run steps in the release workflow. It installs a local wheel and checks the entry point with --help, and the variable comes from the workflow's own configuration.

  17. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:475:11

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              pip install ${PACKAGE_NAME}_build --no-index --find-links dist/ --force-reinstall
              ${MODULE_NAME}-build --help
              python -m ${MODULE_NAME}_build --help
    likely benign LLM, confidence 0.92 Install and --help check of the uv-build wheel's entry points in another release job.
    Reasoning

    Repeats the uv-build wheel install and --help smoke test in another job. It has no network fetch, decoding, or privilege-related behavior. The variable is an internal name derived from the package.

  18. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:561:11

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              pip install ${PACKAGE_NAME} --no-index --find-links dist/ --force-reinstall
              ${MODULE_NAME} --help
              python -m ${MODULE_NAME} --help
              uvx --help
    likely benign LLM, confidence 0.92 Verification step that installs the built package and runs its console script with --help.
    Reasoning

    This is the same install-from-dist then run-entry-point verification pattern. It is consistent with release testing and does not involve untrusted input.

  19. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:622:11

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              pip install ${PACKAGE_NAME}_build --no-index --find-links crates/uv-build/dist --force-reinstall
              ${MODULE_NAME}-build --help
              python -m ${MODULE_NAME}_build --help
    likely benign LLM, confidence 0.92 Post-install check of the uv-build console script and module entry point.
    Reasoning

    A smoke test for the uv-build wheel after installing it from local artifacts. The command name comes from the package name and is not user-controlled.

  20. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:720:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                pip install ${PACKAGE_NAME} --no-index --find-links /dist --force-reinstall
                ${MODULE_NAME} --help
                # TODO(konsti): Enable this test on all platforms, currently `find_uv_bin` is failing to discover uv here.
                # python -m ${MODULE_NAME} --help
    likely benign LLM, confidence 0.92 Install-and-run smoke test of the packaged tool inside a platform test matrix.
    Reasoning

    Installs the release wheel from /dist and runs its console script with --help. The surrounding TODO comment shows this is ordinary test maintenance, not hidden behavior.

  21. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:775:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                pip install ${PACKAGE_NAME}_build --no-index --find-links /dist --force-reinstall
                ${MODULE_NAME}-build --help
                # TODO(konsti): Enable this test on all platforms, currently `find_uv_bin` is failing to discover uv here.
                # python -m ${MODULE_NAME}_build --help
    likely benign LLM, confidence 0.92 Platform-matrix smoke test for the uv-build wheel's console script.
    Reasoning

    Installs the uv-build wheel from /dist and runs the derived console script with --help, with a comment about platform test coverage. This is routine release validation.

  22. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:837:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                pip install ${PACKAGE_NAME} --no-index --find-links /dist --force-reinstall
                ${MODULE_NAME} --help
                # TODO(konsti): Enable this test on all platforms, currently `find_uv_bin` is failing to discover uv here.
                # python -m ${MODULE_NAME} --help
    likely benign LLM, confidence 0.92 Matrix smoke test that runs the installed package's console script with --help.
    Reasoning

    Same installed-package smoke test as the other matrix entries. The variable names the package's own script and nothing in the snippet suggests attacker-controlled input or remote code fetching.

  23. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:892:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                pip install ${PACKAGE_NAME}-build --no-index --find-links /dist --force-reinstall
                ${MODULE_NAME}-build --help
                # TODO(konsti): Enable this test on all platforms, currently `find_uv_bin` is failing to discover uv here.
                # python -m ${MODULE_NAME}-build --help
    likely benign LLM, confidence 0.90 Workflow runs the freshly installed package's CLI via a variable name for a --help smoke test.
    Reasoning

    The command name comes from ${MODULE_NAME}, a workflow-level variable in a release build workflow that tests the just-built package's CLI. This is a normal way to parametrize a matrix job, and the snippet shows no attacker-controlled input or download path.

  24. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:1065:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                pip install ${PACKAGE_NAME} --no-index --find-links /dist --force-reinstall
                ${MODULE_NAME} --help
                # TODO(konsti): Enable this test on all platforms, currently `find_uv_bin` is failing to discover uv here.
                # python -m ${MODULE_NAME} --help
    likely benign LLM, confidence 0.90 Release workflow invokes the built package's entry point through a variable for a --help check.
    Reasoning

    Same pattern as the other finding: ${MODULE_NAME} is a workflow-defined variable used to smoke-test an installed package from /dist. The surrounding commands are a standard build-and-verify sequence in a release pipeline.

  25. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:1120:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                pip install ${PACKAGE_NAME}-build --no-index --find-links /dist --force-reinstall
                ${MODULE_NAME}-build --help
                # TODO(konsti): Enable this test on all platforms, currently `find_uv_bin` is failing to discover uv here.
                # python -m ${MODULE_NAME}-build --help
    likely benign LLM, confidence 0.90 CI smoke-test of an installed build artifact via a workflow-defined command name.
    Reasoning

    The variable command name is used to verify an installed build artifact in a release workflow. The snippet matches legitimate CI testing and contains no obfuscation.

  26. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:1175:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                .venv/bin/pip install ${PACKAGE_NAME} --no-index --find-links /dist/ --force-reinstall
                .venv/bin/${MODULE_NAME} --help
                # TODO(konsti): Enable this test on all platforms, currently `find_uv_bin` is failing to discover uv here.
                # .venv/bin/python -m ${MODULE_NAME} --help
    likely benign LLM, confidence 0.90 Release workflow checks an installed venv binary by running it with --help.
    Reasoning

    The venv-relative command is built from ${MODULE_NAME} in a release workflow that installs the package from local /dist and runs --help. This is ordinary packaging verification.

  27. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:1230:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                .venv/bin/pip install ${PACKAGE_NAME}-build --no-index --find-links /dist --force-reinstall
                .venv/bin/${MODULE_NAME}-build --help
                # TODO(konsti): Enable this test on all platforms, currently `find_uv_bin` is failing to discover uv here.
    likely benign LLM, confidence 0.90 Build workflow runs a venv-installed tool with --help using a variable name.
    Reasoning

    The variable command name is a standard way to exercise the installed package in a release job, and the snippet contains no untrusted input or remote code.

  28. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:1300:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                .venv/bin/pip install ${PACKAGE_NAME} --no-index --find-links /dist --force-reinstall
                .venv/bin/${MODULE_NAME} --help
                # TODO(konsti): Enable this test on all platforms, currently `find_uv_bin` is failing to discover uv here.
                # .venv/bin/python -m ${MODULE_NAME} --help
    likely benign LLM, confidence 0.90 Release verification step invokes the installed package binary via a variable.
    Reasoning

    This is the same local install-and-verify step with a workflow variable as the command name. Nothing in the snippet suggests malicious behavior.

  29. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:1316:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                pip install ${PACKAGE_NAME} --no-index --find-links /dist --force-reinstall
                ${MODULE_NAME} --help
                # TODO(konsti): Enable this test on all platforms, currently `find_uv_bin` is failing to discover uv here.
                # python -m ${MODULE_NAME} --help
    likely benign LLM, confidence 0.90 Release pipeline smoke test of the installed package CLI.
    Reasoning

    The step installs the built wheel from /dist and runs its CLI with --help. The variable is a workflow-level setting, consistent with a release pipeline test.

  30. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:1372:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                .venv/bin/pip install ${PACKAGE_NAME}-build --no-index --find-links /dist --force-reinstall
                .venv/bin/${MODULE_NAME}-build --help
                # TODO(konsti): Enable this test on all platforms, currently `find_uv_bin` is failing to discover uv here.
    likely benign LLM, confidence 0.90 Verifies an installed build-tool binary with --help in a release workflow.
    Reasoning

    The variable-named command is run after installing the local build artifact. This is typical packaging verification and matches the rest of the workflow.

  31. info warn → info by review dynamic-execution .github/workflows/build-release-binaries.yml:1387:13

    [embedded bash] command name is a variable (`$MODULE_NAME`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                pip install ${PACKAGE_NAME}-build --no-index --find-links /dist --force-reinstall
                ${MODULE_NAME}-build --help
                # TODO(konsti): Enable this test on all platforms, currently `find_uv_bin` is failing to discover uv here.
                # python -m ${MODULE_NAME}_build --help
    likely benign LLM, confidence 0.90 Release workflow smoke test of a locally installed build package.
    Reasoning

    The step installs the local build package and runs its entry point with --help. The variable command name is set by the workflow, and the commented-out alternative shows it is a deliberate test step.

  32. info warn → info by review dynamic-execution .github/workflows/check-lint.yml:206:11

    [embedded bash] pipeline feeds into `sh` — piped data is executed as shell code (ast pass, confidence 0.80)

              curl --proto '=https' --tlsv1.2 -LsSf \
                "https://github.com/astral-sh/hawk/releases/download/${HAWK_VERSION}/cargo-hawk-installer.sh" | sh
    likely benign LLM, confidence 0.70 CI step downloads a versioned installer script from GitHub releases and pipes it to sh.
    Reasoning

    A curl with enforced HTTPS and TLS 1.2+ fetches an installer script from a GitHub release of the same organization, using a version variable. Piping to sh is a known supply-chain risk, but this is the standard cargo-dist style installer pattern for a trusted project and shows no obfuscation.

  33. [embedded bash] compression ratio 0.871 is >2σ above file mean 0.614 (outside string/comment) (raw pass, confidence 0.25)

              if [ -n "$UPSTREAM_NUMBER" ]; then
                comment="$comment An upstream pull request was already created at [#$UPSTREAM_NUMBER](https://github.com/astral-sh/uv/pull/$UPSTREAM_NUMBER)."
              fi
              marker="<!-- uv-promotion-rejection:$APPROVAL_ID:$EXPECTED_HEAD_SHA -->"
  34. info warn → info by review dynamic-execution .github/workflows/test-ecosystem.yml:68:15

    [embedded bash] command name is a variable (`$cmd`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                if [[ $cmd == uv* ]]; then
                  ./$cmd
                else
                  $cmd
    likely benign LLM, confidence 0.75 A CI test loop executes a command taken from a variable, choosing between a local ./uv binary and a PATH command.
    Reasoning

    The variable $cmd is branched on with a uv-prefix check and runs a locally built or PATH command. This is a test-matrix runner in a CI workflow, and the command is supplied by the workflow's own configuration, so this is a common test-harness pattern rather than a dropper.

  35. info warn → info by review dynamic-execution .github/workflows/test-ecosystem.yml:70:15

    [embedded bash] command name is a variable (`$cmd`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

                else
                  $cmd
                fi
              done
    likely benign LLM, confidence 0.75 The else branch of the same CI test loop runs the variable command directly.
    Reasoning

    This is the else branch of the same $cmd dispatch loop. It runs the matrix-supplied test command and shows no download, decode, or pipe behaviour.

  36. info warn → info by review dynamic-execution .github/workflows/test-integration.yml:378:13

    [embedded bash] command name is a variable (`$env`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              # Call Python Install Manager's py.exe by full path to avoid legacy py.exe
              & "$env:LOCALAPPDATA\Microsoft\WindowsApps\py.exe" install 3.14
    dismissed LLM, confidence 0.90 A PowerShell step calls py.exe by full path to install Python 3.14.
    Reasoning

    In PowerShell, $env:LOCALAPPDATA is an environment-variable reference used inside a quoted path, not a command name. The analyzer misread the PowerShell env drive syntax as a variable command. The line invokes py.exe by full path to install Python.

  37. [embedded bash] command name is a variable (`$all_found`) that this file sets only to plain text (ast pass, confidence 0.40)

    
              if ! $all_found; then
                echo "One or more expected executables were not found."
                exit 1
  38. [embedded bash] command name is a variable (`$all_found`) that this file sets only to plain text (ast pass, confidence 0.40)

    
              if ! $all_found; then
                echo "One or more expected executables were not found."
                exit 1
  39. info warn → info by review dynamic-import .github/workflows/test-integration.yml:724:11

    [embedded bash] `source` called with a dynamic path — sourcing a variable script path (ast pass, confidence 0.75)

              ./uv venv -p "$PYODIDE_PYTHON" "$PYODIDE_VENV"
              source "$PYODIDE_VENV/bin/activate"
              ./uv --directory "$RUNNER_TEMP" pip install \
                --extra-index-url="$PYODIDE_INDEX" \
    likely benign LLM, confidence 0.85 A CI step activates a Pyodide virtualenv it just created by sourcing its activate script.
    Reasoning

    The script sources the activate script of a virtualenv that it just created in the same step, from a path built from the workflow's own variables. Sourcing a venv activate script is routine in CI.

  40. info warn → info by review obfuscated-command-name .github/workflows/test-integration.yml:765:13

    [embedded bash] command name contains 3 backslash-escape sequences — hiding the true command (ast pass, confidence 0.85)

              & .\venv-native\Scripts\Activate.ps1
              pyodide xbuildenv install 0.29.2
              $env:PYODIDE_PYTHON = pyodide config get interpreter
    dismissed LLM, confidence 0.90 A PowerShell step activates a Windows venv via a relative backslash path.
    Reasoning

    The flagged token is a Windows relative path to a venv Activate.ps1 script. Backslashes are path separators in PowerShell, not escape obfuscation.

  41. info warn → info by review dynamic-execution .github/workflows/test-integration.yml:767:11

    [embedded bash] command name is a variable (`$env`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              pyodide xbuildenv install 0.29.2
              $env:PYODIDE_PYTHON = pyodide config get interpreter
              $env:PYODIDE_INDEX = pyodide config get package_index
              echo "PYODIDE_PYTHON=$env:PYODIDE_PYTHON" >> $env:GITHUB_ENV
    dismissed LLM, confidence 0.90 A PowerShell step stores pyodide configuration values in environment variables.
    Reasoning

    The $env: prefix is PowerShell syntax for assigning an environment variable, and the line only captures output from pyodide config. The analyzer treated the variable as a command name.

  42. info warn → info by review dynamic-execution .github/workflows/test-integration.yml:768:11

    [embedded bash] command name is a variable (`$env`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              $env:PYODIDE_PYTHON = pyodide config get interpreter
              $env:PYODIDE_INDEX = pyodide config get package_index
              echo "PYODIDE_PYTHON=$env:PYODIDE_PYTHON" >> $env:GITHUB_ENV
              echo "PYODIDE_INDEX=$env:PYODIDE_INDEX" >> $env:GITHUB_ENV
    dismissed LLM, confidence 0.90 A PowerShell step sets PYODIDE_INDEX and exports it to GITHUB_ENV.
    Reasoning

    This is the same PowerShell environment-variable assignment pattern. It sets PYODIDE_INDEX from pyodide config and writes it to GITHUB_ENV, which is a standard way to pass values between steps.

  43. info warn → info by review obfuscated-command-name .github/workflows/test-integration.yml:775:13

    [embedded bash] command name contains 3 backslash-escape sequences — hiding the true command (ast pass, confidence 0.85)

              .\uv.exe venv -p $env:PYODIDE_PYTHON venv-pyodide
              & .\venv-pyodide\Scripts\Activate.ps1
              .\uv.exe pip install --extra-index-url=$env:PYODIDE_INDEX --no-build numpy
              python -c 'import numpy'
    dismissed LLM, confidence 0.90 A PowerShell step runs the local uv.exe to build a Pyodide venv and install numpy.
    Reasoning

    The token is the relative path .\uv.exe, a Windows binary in the working directory. The backslashes are ordinary path separators, and the line runs uv to create a venv and install numpy.

  44. info warn → info by review dynamic-execution .github/workflows/test-integration.yml:968:11

    [embedded bash] command name is a variable (`$env`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              # Add pyenv-win to PATH for this session
              $env:PYENV = "$env:USERPROFILE\.pyenv\pyenv-win"
              $env:PATH = "$env:PYENV\bin;$env:PYENV\shims;$env:PATH"
    dismissed LLM, confidence 0.90 A PowerShell step sets the PYENV environment variable to the pyenv-win install path.
    Reasoning

    The $env: syntax is a PowerShell environment-variable assignment that builds a pyenv-win path from USERPROFILE. The analyzer mistook the env drive reference for a command name.

  45. info warn → info by review dynamic-execution .github/workflows/test-integration.yml:969:11

    [embedded bash] command name is a variable (`$env`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              $env:PYENV = "$env:USERPROFILE\.pyenv\pyenv-win"
              $env:PATH = "$env:PYENV\bin;$env:PYENV\shims;$env:PATH"
    
              # Add to GITHUB_PATH so WSL can find the shims
    dismissed LLM, confidence 0.90 A PowerShell step prepends pyenv-win directories to PATH.
    Reasoning

    This line prepends the pyenv-win bin and shims directories to PATH using PowerShell environment syntax. It is a standard setup step with no download or decode.

  46. info warn → info by review dynamic-execution .github/workflows/test-integration.yml:976:13

    [embedded bash] command name is a variable (`$env`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              Write-Host "Installing Python 3.11.9 via pyenv-win..."
              & "$env:PYENV\bin\pyenv.bat" install 3.11.9
              & "$env:PYENV\bin\pyenv.bat" global 3.11.9
    dismissed LLM, confidence 0.90 A PowerShell step uses pyenv-win to install Python 3.11.9.
    Reasoning

    The call invokes pyenv.bat through a path built from the PYENV variable to install a known Python version. The flagged $env is PowerShell env-variable syntax, not a hidden command.

  47. info warn → info by review dynamic-execution .github/workflows/test-integration.yml:977:13

    [embedded bash] command name is a variable (`$env`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              & "$env:PYENV\bin\pyenv.bat" install 3.11.9
              & "$env:PYENV\bin\pyenv.bat" global 3.11.9
    
              Write-Host "Verifying pyenv-win installation..."
    dismissed LLM, confidence 0.90 A PowerShell step sets pyenv-win's global Python version to 3.11.9.
    Reasoning

    This line sets the global pyenv Python version to 3.11.9 using the pyenv.bat path. It is ordinary CI environment setup with a pinned version.

  48. info warn → info by review dynamic-execution .github/workflows/test-integration.yml:980:13

    [embedded bash] command name is a variable (`$env`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              Write-Host "Verifying pyenv-win installation..."
              & "$env:PYENV\bin\pyenv.bat" versions
    likely benign LLM, confidence 0.90 CI step invoking the pyenv-win binary via an environment-variable path to print versions.
    Reasoning

    The flagged line runs pyenv-win from the PYENV environment variable path in a CI verification step. This is the standard pattern of a Windows CI workflow installing and checking a tool; the "variable command name" is just the install root. Benign.

  49. info critical → info by review dynamic-execution .github/workflows/test-smoke.yml:45:11

    [embedded bash] `eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)

              eval "$(./uv generate-shell-completion bash)"
              eval "$(./uvx --generate-shell-completion bash)"
    likely benign LLM, confidence 0.85 CI smoke test evals uv's generated bash completion script.
    Reasoning

    eval on output of the project's own uv binary generating shell completions is a common documented install pattern. The source is a locally built or downloaded trusted tool in the repo's own CI, not untrusted input. Flagged as eval of a dynamic expression, but it's benign in context.

  50. info critical → info by review dynamic-execution .github/workflows/test-smoke.yml:46:11

    [embedded bash] `eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)

              eval "$(./uv generate-shell-completion bash)"
              eval "$(./uvx --generate-shell-completion bash)"
    likely benign LLM, confidence 0.85 CI smoke test evals uvx's generated bash completion script.
    Reasoning

    Same as the adjacent finding: eval of the uvx completion generator output from the repository's own binary in a test workflow. Benign CI pattern.

  51. info critical → info by review dynamic-execution .github/workflows/test-smoke.yml:73:11

    [embedded bash] `eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)

              eval "$(./uv generate-shell-completion bash)"
              eval "$(./uvx --generate-shell-completion bash)"
    likely benign LLM, confidence 0.85 Smoke test job evals uv completion output.
    Reasoning

    Repeated eval of the project's own uv/uvx completion generation in another job of the same smoke workflow. Benign.

  52. info critical → info by review dynamic-execution .github/workflows/test-smoke.yml:74:11

    [embedded bash] `eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)

              eval "$(./uv generate-shell-completion bash)"
              eval "$(./uvx --generate-shell-completion bash)"
    likely benign LLM, confidence 0.85 Smoke test job evals uvx completion output.
    Reasoning

    Repeated eval of the project's own uv/uvx completion generation. Benign.

  53. info critical → info by review dynamic-execution .github/workflows/test-smoke.yml:125:11

    [embedded bash] `eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)

              eval "$(./uv generate-shell-completion bash)"
              eval "$(./uvx --generate-shell-completion bash)"
    likely benign LLM, confidence 0.85 Smoke test job evals uv completion output.
    Reasoning

    Repeated eval of the project's own uv/uvx completion generation in another smoke job. Benign.

  54. info critical → info by review dynamic-execution .github/workflows/test-smoke.yml:126:11

    [embedded bash] `eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)

              eval "$(./uv generate-shell-completion bash)"
              eval "$(./uvx --generate-shell-completion bash)"
    likely benign LLM, confidence 0.85 Smoke test job evals uvx completion output.
    Reasoning

    Repeated eval of the project's own uv/uvx completion generation. Benign.

  55. info warn → info by review dynamic-execution .github/workflows/test-system.yml:666:11

    [embedded bash] command name is a variable (`$env`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              $env:PATH = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
              python ./scripts/check_system_python.py --uv ./uv.exe --check-python-version $env:TEST_PYTHON_VERSION --check-path
    likely benign LLM, confidence 0.85 Windows CI step adjusting PATH and running a repo check script.
    Reasoning

    PowerShell step that sets PATH from machine and user environment variables and runs a repo Python script with a parameter. The variable-as-command pattern is a PowerShell artifact of the scanner, not malicious. Benign.

  56. info warn → info by review dynamic-execution .github/workflows/test-system.yml:666:90

    [embedded bash] command name is a variable (`$env`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              $env:PATH = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
              python ./scripts/check_system_python.py --uv ./uv.exe --check-python-version $env:TEST_PYTHON_VERSION --check-path
    likely benign LLM, confidence 0.85 Windows CI step passing an env var as a parameter to a repo script.
    Reasoning

    Same PowerShell step as the previous finding; the flagged $env reference is just a parameter value. Benign.

  57. info critical → info by review dynamic-execution .github/workflows/test-system.yml:686:11

    [embedded bash] `eval` called on a dynamic (variable/substitution) expression (ast pass, confidence 0.90)

              export PATH="$PYENV_ROOT/bin:$PATH"
              eval "$(pyenv init -)"
    
              # Install Python 3.9
    likely benign LLM, confidence 0.85 CI step evals pyenv init output to set up shims.
    Reasoning

    eval of pyenv init output is the standard documented shell setup for pyenv in a CI test job. Benign, though it is an eval of a dynamic expression.

  58. info warn → info by review dynamic-execution .github/workflows/test-windows-trampolines.yml:115:11

    [embedded bash] command name is a variable (`$output`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              $output = uv run --only-dev cargo bloat --locked --release --target x86_64-pc-windows-msvc
              $filteredOutput = $output | Select-String -Pattern 'core::fmt::write|core::fmt::getcount' -NotMatch
    likely benign LLM, confidence 0.85 PowerShell step capturing cargo bloat output into a variable.
    Reasoning

    PowerShell variable assignment ($output from running cargo bloat) flagged because the scanner misreads a variable as a command name. Benign.

  59. info warn → info by review dynamic-execution .github/workflows/test-windows-trampolines.yml:116:11

    [embedded bash] command name is a variable (`$filteredOutput`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              $filteredOutput = $output | Select-String -Pattern 'core::fmt::write|core::fmt::getcount' -NotMatch
              $containsPatterns = $filteredOutput | Select-String -Pattern 'core::fmt|std::panicking|std::backtrace_rs'
    likely benign LLM, confidence 0.85 PowerShell step filtering cargo bloat output with Select-String.
    Reasoning

    PowerShell pipeline filtering captured output with Select-String. The flag is a parsing artifact of the variable name. Benign.

  60. info warn → info by review dynamic-execution .github/workflows/test-windows-trampolines.yml:117:11

    [embedded bash] command name is a variable (`$containsPatterns`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

              $filteredOutput = $output | Select-String -Pattern 'core::fmt::write|core::fmt::getcount' -NotMatch
              $containsPatterns = $filteredOutput | Select-String -Pattern 'core::fmt|std::panicking|std::backtrace_rs'
    
              if ($containsPatterns) {
    dismissed LLM, confidence 0.85 A PowerShell CI step that filters test output with Select-String and fails if it matches unwanted patterns.
    Reasoning

    The snippet is PowerShell, not bash. `if ($containsPatterns)` is a conditional test on a variable, not a command invocation, so the 'variable command name' signal is a misreading of the embedded script. The Select-String filters only inspect test output for panic or backtrace text.

  61. info warn → info by review dynamic-execution .github/workflows/test-windows-trampolines.yml:119:15

    [embedded bash] command name is a variable (`$containsPatterns`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

    
              if ($containsPatterns) {
                  Exit 1
              } else {
    dismissed LLM, confidence 0.85 The else/exit branch of the same PowerShell output-check step.
    Reasoning

    Same PowerShell snippet as the previous finding. The `if` tests a variable and runs `Exit 1` on match, which is ordinary CI control flow with no dynamic execution.

  62. info warn → info by review dynamic-execution README.md:50:1

    [embedded bash] pipeline feeds into `sh` — piped data is executed as shell code (ast pass, confidence 0.80)

    # On macOS and Linux.
    curl -LsSf https://astral.sh/uv/install.sh | sh
    likely benign LLM, confidence 0.90 Documentation of the official curl-pipe-sh installer for uv on macOS and Linux.
    Reasoning

    This is the standard uv installation one-liner in the project README, a widely documented install method from the project's own domain. Piping an install script to sh is a known convention, though it does carry the usual trust-the-host risk. In a README it is documentation, not a dropper.

  63. info warn → info by review unicode-mixed-script README.md:279:36

    identifier `juː` mixes scripts: Latin + Other (raw pass, confidence 0.80)

    
    It's pronounced as "you - vee" ([`/juː viː/`]https://en.wikipedia.org/wiki/Help:IPA/English#Key)
    
    #### How should I stylize uv?
    dismissed LLM, confidence 0.95 IPA pronunciation notation in the README's naming section.
    Reasoning

    The characters are IPA phonetic symbols in a pronunciation guide (/juː viː/). Mixed Latin and IPA script is expected in linguistic text and is not an identifier-level obfuscation.

  64. info warn → info by review unicode-mixed-script README.md:279:41

    identifier `viː` mixes scripts: Latin + Other (raw pass, confidence 0.80)

    
    It's pronounced as "you - vee" ([`/juː viː/`]https://en.wikipedia.org/wiki/Help:IPA/English#Key)
    
    #### How should I stylize uv?
    dismissed LLM, confidence 0.95 Second IPA token in the same pronunciation guide.
    Reasoning

    Same IPA pronunciation text as the previous finding. The 'viː' token is the second word of the IPA transcription, which is legitimate documentation.

  65. info warn → info by review encoding-base64 crates/uv-client/src/html.rs:646:52

    base64-like blob (66 bytes, compression ratio 0.88) (raw pass, confidence 0.60)

    <h1>Links for jinja2</h1>
    <a href="/whl/Jinja2-3.1.2-py3-none-any.whl#sha256%3D4095ada29e51070f7d199a0a5bdf5c8d8e238e03f0bf4dcc02571e78c9ae800d">Jinja2-3.1.2-py3-none-any.whl</a><br/>
    </body>
    </html>
    dismissed LLM, confidence 0.95 A sha256 hash fragment in a simulated package index HTML test fixture.
    Reasoning

    The flagged 66-byte string is the hex sha256 digest in a URL fragment inside a test HTML fixture for a package index page. Hex digests are not base64 payloads, and the blob is ordinary test data.

  66. info warn → info by review encoding-hex crates/uv-fs/src/path.rs:965:100

    18 consecutive `\xNN` escapes (entropy 4.2 bits/byte) (raw pass, confidence 0.65)

                    1..=0x5e,
                    r##"__import__("os").fsdecode(b"/foo/\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[\\]^/bar")"##,
                ),
                (
    likely benign LLM, confidence 0.90 A test case feeding all low byte values as escaped bytes into os.fsdecode.
    Reasoning

    The file is a Rust test table of Python snippets that exercise os.fsdecode on byte paths. The escape sequences enumerate every byte value for a round-trip test, which explains the high escape density and entropy. It is test data, not a payload.

  67. info warn → info by review encoding-escape-soup crates/uv-fs/src/path.rs:969:85

    37 consecutive `\xNN` escapes (entropy 5.2 bits/byte) (raw pass, confidence 0.80)

                    0x5f..=0xa3,
                    r#"__import__("os").fsdecode(b"/foo/_`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/bar")"#,
                ),
                (
    likely benign LLM, confidence 0.90 A sequential byte-range escape test case in the fsdecode test table.
    Reasoning

    This is part of the same byte-enumeration test table for Python fsdecode. The escapes cover a contiguous byte range in the expected way for a surrogate-escape or encoding test.

  68. info warn → info by review encoding-escape-soup crates/uv-fs/src/path.rs:973:53

    46 consecutive `\xNN` escapes (entropy 5.5 bits/byte) (raw pass, confidence 0.80)

                    0xa4..=0xd1,
                    r#"__import__("os").fsdecode(b"/foo/\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\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1/bar")"#,
                ),
                (
    likely benign LLM, confidence 0.90 A byte-range escape test case in the fsdecode test table.
    Reasoning

    The consecutive \xNN escapes enumerate a contiguous byte range inside a test table of Python fsdecode inputs. The pattern is systematic and matches a deliberate test matrix, not hidden code.

  69. info warn → info by review encoding-escape-soup crates/uv-fs/src/path.rs:977:53

    46 consecutive `\xNN` escapes (entropy 5.5 bits/byte) (raw pass, confidence 0.80)

                    0xd2..=u8::MAX,
                    r#"__import__("os").fsdecode(b"/foo/\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff/bar")"#,
                ),
            ] {
    likely benign LLM, confidence 0.90 The high-byte range case in the fsdecode byte-path test table.
    Reasoning

    This is the final byte-range case in the same test table. The sequence covers the upper byte values, consistent with exhaustive testing of path byte handling.

  70. info proc-macro-presence crates/uv-macros/src/lib.rs:12:1

    proc-macro attribute `#[proc_macro_derive]` present (ast pass, confidence 0.95)

    /// the formatter out of line to avoid duplicating it at call sites.
    #[proc_macro_derive(DebugNoInline)]
    pub fn derive_debug_no_inline(input: TokenStream) -> TokenStream {
        let input = parse_macro_input!(input as DeriveInput);
  71. info unicode-homoglyph crates/uv-normalize/src/lib.rs:231:20

    identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

                "space in middle",
                "alpha-α",
            ];
            for input in failures {
  72. info unicode-homoglyph crates/uv-pep508/src/lib.rs:1421:39

    identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

            assert_snapshot!(
                parse_pep508_err("foo[bar α]"),
                @"
            Expected either `,` (separating extras) or `]` (ending the extras section), found `α`
  73. info unicode-homoglyph crates/uv-pep508/src/lib.rs:1423:92

    identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

                @"
            Expected either `,` (separating extras) or `]` (ending the extras section), found `α`
            foo[bar α]
                    ^
  74. info unicode-homoglyph crates/uv-pep508/src/lib.rs:1424:17

    identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

            Expected either `,` (separating extras) or `]` (ending the extras section), found `α`
            foo[bar α]
                    ^
            "
  75. info unicode-mixed-script crates/uv-pep508/src/lib.rs:1764:31

    identifier `wheelѦ` mixes scripts: Latin + Cyrillic (in string/comment) (raw pass, confidence 0.40)

            assert_snapshot!(
                parse_pep508_err("wheelѦ"),
                @"
            Expected one of `@`, `(`, `<`, `=`, `>`, `~`, `!`, `;`, found `Ѧ`
  76. info unicode-mixed-script crates/uv-pep508/src/lib.rs:1767:9

    identifier `wheelѦ` mixes scripts: Latin + Cyrillic (in string/comment) (raw pass, confidence 0.40)

            Expected one of `@`, `(`, `<`, `=`, `>`, `~`, `!`, `;`, found `Ѧ`
            wheelѦ
                 ^
            ");
  77. info unicode-homoglyph crates/uv-pep508/src/lib.rs:1823:63

    identifier `αx` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

            assert_snapshot!(
                parse_pep508_err(r#"foo; python_version == "3.12" αx"#),
                @r#"
            Unexpected character 'α', expected 'and', 'or' or end of input
  78. info unicode-mixed-script crates/uv-pep508/src/lib.rs:1823:63

    identifier `αx` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

            assert_snapshot!(
                parse_pep508_err(r#"foo; python_version == "3.12" αx"#),
                @r#"
            Unexpected character 'α', expected 'and', 'or' or end of input
  79. info unicode-homoglyph crates/uv-pep508/src/lib.rs:1825:31

    identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

                @r#"
            Unexpected character 'α', expected 'and', 'or' or end of input
            foo; python_version == "3.12" αx
                                          ^^
  80. info unicode-homoglyph crates/uv-pep508/src/lib.rs:1826:39

    identifier `αx` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

            Unexpected character 'α', expected 'and', 'or' or end of input
            foo; python_version == "3.12" αx
                                          ^^
            "#
  81. info unicode-mixed-script crates/uv-pep508/src/lib.rs:1826:39

    identifier `αx` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

            Unexpected character 'α', expected 'and', 'or' or end of input
            foo; python_version == "3.12" αx
                                          ^^
            "#
  82. identifier `αx` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

        fn test_marker_expression_non_ascii_trailing() {
            let err = MarkerExpression::from_str(r#"os_name == "nt" αx"#)
                .unwrap_err()
                .to_string();
  83. identifier `αx` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

        fn test_marker_expression_non_ascii_trailing() {
            let err = MarkerExpression::from_str(r#"os_name == "nt" αx"#)
                .unwrap_err()
                .to_string();
  84. identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

                @r#"
            Unexpected character 'α', expected end of input
            os_name == "nt" αx
                            ^^
  85. identifier `αx` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

            Unexpected character 'α', expected end of input
            os_name == "nt" αx
                            ^^
            "#
  86. identifier `αx` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

            Unexpected character 'α', expected end of input
            os_name == "nt" αx
                            ^^
            "#
  87. identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

                // Unicode
                "α",
                "férrîs",
                "안녕하세요",
  88. base64-like blob (68 bytes, compression ratio 0.91) (in comment) (raw pass, confidence 0.36)

                    // Python implementations vary
                    // https://github.com/pypa/pyproject-metadata/pull/150/files#diff-7d938dbc255a08c2cfab1b4f1f8d1f6519c9312dd0a39d7793fa778474f1fbd1L135-R141
                    let _ = writeln!(writer, "{}{}", " ".repeat(key.len() + 2), line);
                }
  89. info warn → info by review encoding-base64 crates/uv-test/src/lib.rs:2591:6

    base64-like blob (112 bytes, compression ratio 1.01) (raw pass, confidence 0.60)

        "cGF0Cg==",
        "MTFBQlVDUjZBMERMUTQ3aVphN3hPdV9qQmhTMkZUeHZ4ZE13OHczakxuZndsV2ZlZjc2cE53eHBWS2tiRUFwdnpmUk8zV0dDSUhicDFsT01aago=",
    ];
    likely benign LLM, confidence 0.85 Base64-encoded test string constants in a uv-test helper.
    Reasoning

    The array holds short base64 strings in a test helper. Decoded, they are simple text values such as 'pat' and a short token-like string. This looks like redaction or filter test data, and the flagged blob is not executed.

  90. info warn → info by review encoding-base64 crates/uv-test/src/lib.rs:2599:6

    base64-like blob (112 bytes, compression ratio 1.00) (raw pass, confidence 0.60)

        "cGF0Cg==",
        "MTFBQlVDUjZBMDJTOFYwMTM4YmQ0bV9uTXpueWhxZDBrcllROTQ5SERTeTI0dENKZ2lmdzIybDFSR2s1SE04QW8xTUVYQ1I0Q1YxYUdPRGpvZQo=",
    ];
    likely benign LLM, confidence 0.85 Another base64 test-constant array in the uv-test library.
    Reasoning

    Same pattern: a base64 string array in test code whose values decode to plain test text. The surrounding code is a test fixture and nothing decodes and executes it.

  91. info warn → info by review encoding-base64 crates/uv-test/src/lib.rs:2602:52

    base64-like blob (548 bytes, compression ratio 0.71) (raw pass, confidence 0.60)

    ub const READ_ONLY_GITHUB_SSH_DEPLOY_KEY: &str = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNBeTF1SnNZK1JXcWp1NkdIY3Z6a3AwS21yWDEwdmo3RUZqTkpNTkRqSGZPZ0FBQUpqWUpwVnAyQ2FWCmFRQUFBQXR6YzJndFpXUXlOVFV4T1FBQU
    likely benign LLM, confidence 0.70 A base64-encoded read-only SSH deploy key constant in the uv-test library.
    Reasoning

    The constant base64-decodes to an OpenSSH private key block. That is credential-shaped material committed to source, which warrants review, but it is named as a read-only deploy key used in test setup. The context suggests a test fixture for git-over-SSH, so it is most likely benign.

  92. base64-like blob (68 bytes, compression ratio 0.93) (in comment) (raw pass, confidence 0.36)

                // scripts, we can consider reverting https://github.com/astral-sh/uv/pull/5750/files#diff-969979506be03e89476feade2edebb4689a9c261f325988d3c7efc5e51de26d1L273-L277.
                dunce::canonicalize(python_exe.as_path()).unwrap_or_else(|_| {
  93. info warn → info by review encoding-base64 crates/uv-types/src/hash.rs:751:150

    base64-like blob (71 bytes, compression ratio 0.90) (raw pass, confidence 0.60)

            let first = UnresolvedRequirement::Named(requirement(
                "https://files.pythonhosted.org/packages/36/55/ad4de788d84a630656ece71059665e01ca793c04294c463fd84132f40fe6/anyio-4.0.0-py3-none-any.whl#sha256=CFDB2B588B9FC25EDE96D8DB56ED50848B0B649DCA3DD1DF0B11F683BB9E0B5F",
            ));
    likely benign LLM, confidence 0.90 A pythonhosted wheel URL with a sha256 fragment used as a test requirement.
    Reasoning

    The blob is a sha256 fragment inside a test URL for a real PyPI wheel, passed to a requirement constructor. This is ordinary test fixture data, not obfuscation.

  94. compression ratio 0.837 is >2σ above file mean 0.808 (raw pass, confidence 0.50)

        ]
        sdist = { url = "https://files.pythonhosted.org/packages/23/a2/97899f6bd0e873fed3a7e67ae8d3a08b21799430fb4da15cfedf10d6e2c2/iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32", size = 8104, upload-time = "2020-10-14T10:20:18.572Z" }
        wheels = [
  95. compression ratio 0.837 is >2σ above file mean 0.808 (raw pass, confidence 0.50)

        ]
        sdist = { url = "https://files.pythonhosted.org/packages/23/a2/97899f6bd0e873fed3a7e67ae8d3a08b21799430fb4da15cfedf10d6e2c2/iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32", size = 8104, upload-time = "2020-10-14T10:20:18.572Z" }
        wheels = [
  96. compression ratio 0.910 is >2σ above file mean 0.787 (raw pass, confidence 0.50)

                { url = "http://[LOCALHOST]/files/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892, upload-time = "2023-01-07T11:08:09.864Z" },
            ]
            "#
  97. compression ratio 0.811 is >2σ above file mean 0.788 (raw pass, confidence 0.50)

            { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926, upload-time = "2024-02-25T22:12:47.72Z" },
        ]
  98. compression ratio 0.903 is >2σ above file mean 0.792 (raw pass, confidence 0.50)

            sdist = { url = "http://[LOCALHOST]/basic-auth/files/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646, upload-time = "2023-01-07T11:08:11.254Z" }
            wheels = [
  99. compression ratio 0.889 is >2σ above file mean 0.792 (raw pass, confidence 0.50)

                { url = "http://[LOCALHOST]/basic-auth/files/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892, upload-time = "2023-01-07T11:08:09.864Z" },
            ]
  100. compression ratio 0.903 is >2σ above file mean 0.792 (raw pass, confidence 0.50)

            sdist = { url = "http://[LOCALHOST]/basic-auth/files/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646, upload-time = "2023-01-07T11:08:11.254Z" }
            wheels = [
  101. compression ratio 0.889 is >2σ above file mean 0.792 (raw pass, confidence 0.50)

                { url = "http://[LOCALHOST]/basic-auth/files/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892, upload-time = "2023-01-07T11:08:09.864Z" },
            ]
  102. compression ratio 0.879 is >2σ above file mean 0.804 (raw pass, confidence 0.50)

        version = "2.0.0"
        archive = { url = "http://public:heron@[LOCALHOST]/basic-auth/files/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hashes = { sha256 = "b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" } }
    
        ----- stderr -----
  103. compression ratio 0.902 is >2σ above file mean 0.802 (raw pass, confidence 0.50)

    
        hint: You're on [PLATFORM] (`[TAG]`), but `a` (v1.0.0) only has wheels for the following platform: `macosx_10_0_ppc64`; consider adding "sys_platform == '[PLATFORM]' and platform_machine == '[MACHINE]'" to `tool.uv.required-environments` to ensure uv resolves to a version with compatible wheels
        "#);
  104. compression ratio 0.801 is >2σ above file mean 0.695 (raw pass, confidence 0.50)

                { name = "outer", directory = "../" },
                { name = "workspace-member-in-subdir", git = "https://github.com/astral-sh/workspace-in-root-test?subdirectory=workspace-member-in-subdir&rev=d3ab48d2338296d47e28dbb2fb327c5e2ac4ac68" },
            ]
  105. info warn → info by review dynamic-execution docs/getting-started/installation.md:16:5

    [markup prose] pipeline feeds into `sh` — piped data is executed as shell code (ast pass, confidence 0.80)

        $ curl -LsSf https://astral.sh/uv/install.sh | sh
    likely benign LLM, confidence 0.85 Documentation showing the curl-to-sh install command for uv.
    Reasoning

    This is the documented official install one-liner for uv from astral.sh, shown to users. Piping a vendor install script to sh is a known convention, though it is a supply-chain trust decision the docs present openly.

  106. info warn → info by review dynamic-execution docs/getting-started/installation.md:22:5

    [markup prose] pipeline feeds into `sh` — piped data is executed as shell code (ast pass, confidence 0.80)

        $ wget -qO- https://astral.sh/uv/install.sh | sh
    likely benign LLM, confidence 0.85 Documentation showing a wget-to-sh install command for uv.
    Reasoning

    Same official uv installer pattern using wget, shown in documentation. Legitimate install instructions.

  107. info warn → info by review dynamic-execution docs/index.md:45:5

    [markup prose] pipeline feeds into `sh` — piped data is executed as shell code (ast pass, confidence 0.80)

        $ curl -LsSf https://astral.sh/uv/install.sh | sh
    likely benign LLM, confidence 0.85 Landing page install command piping the astral.sh script to sh.
    Reasoning

    Same official uv installer one-liner in the project landing docs. Legitimate, widely documented install instruction.

  108. info warn → info by review dynamic-execution docs/pip/compatibility.md:498:8

    [embedded bash] command name is a variable (`$diff`) not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

    (venv) $ diff --side-by-side  <(pip list) <(uv pip list)
    Package          Version					Package          Version
    ---------------- -------					---------------- -------
    dismissed LLM, confidence 0.90 A documentation example comparing pip and uv pip list output with diff.
    Reasoning

    The flagged command is diff inside a documentation example with process substitution. The variable-command finding is a false positive from markdown prose.

  109. info warn → info by review dynamic-execution docs/reference/installer.md:57:3

    [embedded bash] pipeline feeds into `sh` — piped data is executed as shell code (ast pass, confidence 0.80)

    ```console
    $ curl -LsSf https://astral.sh/uv/install.sh | sh -s -- --help
    ```
    likely benign LLM, confidence 0.85 Reference docs showing the uv installer piped to sh with --help.
    Reasoning

    Official uv install script piped to sh with --help, shown in reference docs. Legitimate documentation of the installer.

  110. info critical → info by review dynamic-execution scripts/cargo.sh:13:5

    `exec` called with a dynamic (variable/substitution) path (ast pass, confidence 0.85)

    if [ -n "${REAL_CARGO:-}" ]; then
        exec "$REAL_CARGO" auditable "$@"
    else
        exec cargo auditable "$@"
    likely benign LLM, confidence 0.80 A cargo wrapper script that execs cargo auditable via an optional REAL_CARGO path.
    Reasoning

    A thin wrapper that execs cargo auditable, optionally using a REAL_CARGO override from the environment. Environment-controlled paths are a mild concern but this is a plausible build-tooling wrapper with no download or obfuscation.

  111. command name is a variable (`$CARGO_AUDITABLE_INSTALL`) that this file sets only to plain text (ast pass, confidence 0.40)

        rustup target add "$MUSL_TARGET"
        CC=gcc $CARGO_AUDITABLE_INSTALL --target "$MUSL_TARGET"
    else
        $CARGO_AUDITABLE_INSTALL
  112. command name is a variable (`$CARGO_AUDITABLE_INSTALL`) that this file sets only to plain text (ast pass, confidence 0.40)

    else
        $CARGO_AUDITABLE_INSTALL
    fi
  113. info dynamic-execution scripts/install-mold.sh:51:1

    command name is a variable (`$SUDO`) that this file sets only to plain text (ast pass, confidence 0.40)

    
    $SUDO tar -C /usr/local --strip-components=1 --no-overwrite-dir -xzf "$archive"
    
    # Make mold the default linker
  114. info dynamic-execution scripts/install-mold.sh:56:5

    command name is a variable (`$SUDO`) that this file sets only to plain text (ast pass, confidence 0.40)

    if [ "$current_ld" != /usr/local/bin/mold ]; then
        $SUDO ln -sf /usr/local/bin/mold "$current_ld"
    fi
  115. info critical → info by review dynamic-execution scripts/manual-github-release.sh:61:1

    command name is a variable (`$SCRIPT_DIR`) and `SCRIPT_DIR` is assigned the output of a command — executed command determined at runtime (ast pass, confidence 0.90)

    MANIFEST="artifacts/dist-manifest.json"
    "$SCRIPT_DIR/dist-manifest-to-files.sh" "$MANIFEST" > release-assets.txt
    assets=()
    while IFS= read -r asset; do
    likely benign LLM, confidence 0.90 Release script invoking a sibling helper located via SCRIPT_DIR.
    Reasoning

    SCRIPT_DIR is a standard script-directory variable set from a command substitution, and it runs a sibling helper script in the repo. Typical release tooling, not malicious.

  116. info critical → info by review dynamic-execution scripts/nextest-setup-hook-unix.sh:33:5

    command name is a variable (`$SCRIPT_DIR`) and `SCRIPT_DIR` is assigned the output of a command — executed command determined at runtime (ast pass, confidence 0.90)

      if [[ ${#targets[@]} -gt 0 ]]; then
        "$SCRIPT_DIR/codesign-macos.sh" "$UV_TEST_CODESIGN_IDENTITY" "${targets[@]}"
      fi
    fi
    likely benign LLM, confidence 0.90 Test setup hook calling a sibling codesign script via SCRIPT_DIR.
    Reasoning

    Same standard SCRIPT_DIR pattern invoking a codesign helper in the repo for test setup. Benign build/test tooling.

  117. info warn → info by review dynamic-execution scripts/test-release-wheels-macos.sh:15:1

    command name is a variable () not set in this file — the caller or environment decides what runs (ast pass, confidence 0.70)

    fi
    "${python[@]}" -m pip install --no-index --no-deps "$wheel_directory"/*.whl
    for binary in uv uvx uv-build; do
      "$virtual_environment/bin/$binary" --help
    likely benign LLM, confidence 0.75 Wheel-test script running an installed binary path from a variable.
    Reasoning

    The variable command comes from a loop over python and virtualenv paths set earlier in the script, which is truncated from the snippet. Context suggests a normal wheel smoke test.

  118. info critical → info by review dynamic-execution scripts/test-release-wheels-macos.sh:17:3

    command name is a variable (`$virtual_environment`, `$binary`) and `virtual_environment` is assigned the output of a command — executed command determined at runtime (ast pass, confidence 0.90)

    for binary in uv uvx uv-build; do
      "$virtual_environment/bin/$binary" --help
    done
    likely benign LLM, confidence 0.90 Loop running --help on the installed uv, uvx and uv-build binaries in a venv.
    Reasoning

    Loops over the fixed names uv, uvx and uv-build under a virtualenv bin directory to run --help. This is a smoke test of the built wheels with no external input.

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.

cargo install disclude --version 4.0.0
git clone https://github.com/astral-sh/uv uv && cd uv
git checkout 0.13.2
disclude scan --severity info --diff 0.13.1 .