PyPI / ty / 0.0.89

ty 0.0.89

Source
https://github.com/astral-sh/ty
Tag scanned
0.0.89
Compared with
0.0.88 (1 signals introduced since)
Files
40 scanned, 30 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 7 info
Scan time
8.5 s
LLM review
Reviewed by claude-haiku-5-5 (Anthropic): 7 of 7 warn and critical signals; 7 demoted to info.
Disclude version
4.0.0
Scanned (UTC)
2026-10-16 20:40

Signals

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

  1. info warn → info by review dynamic-execution docs/installation.md:74: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/ty/0.0.89/install.sh | sh
    likely benign LLM, confidence 0.85 Version-pinned documented curl-to-sh install command.
    Reasoning

    A version-pinned curl-to-sh install command on the official domain. Pinning the version makes it a slightly more deliberate install instruction, still ordinary documentation.

  2. info warn → info by review unicode-mixed-script README.md:102:36

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

    
    It's pronounced as "tee - why" ([`/tiː waɪ/`]https://en.wikipedia.org/wiki/Help:IPA/English#Key)
    
    #### How should I stylize ty?
    likely benign LLM, confidence 0.95 IPA pronunciation symbols in a README pronunciation note.
    Reasoning

    The flagged characters are IPA phonetic symbols in a pronunciation guide for the project name. Mixed Latin and IPA script in prose is expected and has no execution or hiding role.

  3. info warn → info by review unicode-mixed-script README.md:102:41

    identifier `waɪ` mixes scripts: Latin + Other (raw pass, confidence 0.80)

    
    It's pronounced as "tee - why" ([`/tiː waɪ/`]https://en.wikipedia.org/wiki/Help:IPA/English#Key)
    
    #### How should I stylize ty?
    likely benign LLM, confidence 0.95 IPA pronunciation symbol in the README pronunciation note.
    Reasoning

    Same IPA pronunciation text as the adjacent finding, a documentation line with no code or obfuscation.

  4. info warn → info by review dynamic-execution docs/installation.md:62:5

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

        $ curl -LsSf https://astral.sh/ty/install.sh | sh
    likely benign LLM, confidence 0.85 Documented curl-to-sh install command for the ty tool.
    Reasoning

    This is the standard documented curl-pipe-sh installer for the project's official astral.sh domain. The pattern is a known supply-chain risk in general, but in installation docs it is the intended usage and is not hidden or obfuscated.

  5. info warn → info by review dynamic-execution docs/installation.md:68:5

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

        $ wget -qO- https://astral.sh/ty/install.sh | sh
    likely benign LLM, confidence 0.85 Documented wget-to-sh install command for the ty tool.
    Reasoning

    A documented wget-to-sh installer on the official project domain, shown as an alternative install method. It is ordinary install documentation rather than a dropper.

  6. info warn → info by review encoding-base64 docs/reference/editor-settings.md:649:40

    base64-like blob (68 bytes, compression ratio 1.16) (raw pass, confidence 0.60)

    This setting is useful for debugging issues with the language server. Refer to the [troubleshooting
    guide](https://github.com/astral-sh/ty-vscode/blob/6cf16b4e87342a49f2bec1310a730cde8229e1d9/TROUBLESHOOTING.md)
    in [ty's VS Code extension][ty-vscode] for more information.
    dismissed LLM, confidence 0.93 A git commit hash inside a GitHub link, misflagged as base64.
    Reasoning

    The 'blob' is a 40-character hexadecimal git commit SHA embedded in a GitHub URL. The base64 heuristic fires on a hex string, which is a false positive.

  7. info critical → info by review dynamic-execution scripts/release.sh:75:1

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

    
    "${script_root}/autogenerate_files.sh"
    git add ./docs/reference ./rust-toolchain.toml
    likely benign LLM, confidence 0.80 Release script runs a helper script via a path built from a computed script_root variable.
    Reasoning

    The variable is used as a path prefix to a sibling helper script, autogenerate_files.sh, in a release script. The assignment is most likely a directory resolution such as cd/dirname/pwd, so the executed target is a repo-local script rather than attacker-controlled input. The critical severity reflects the runtime command resolution, not evidence of malice.

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/ty ty && cd ty
git checkout 0.0.89
disclude scan --severity info --diff 0.0.88 .