crates.io / num-traits / 0.2.19

num-traits 0.2.19

Source
https://github.com/rust-num/num-traits
Tag scanned
num-traits-0.2.19
Compared with
num-traits-0.2.18 (0 signals introduced since)
Files
25 scanned, 3 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 2 info
Scan time
2.6 s
LLM review
Reviewed by claude-haiku-5-5 (Anthropic): 2 of 2 warn and critical signals; 2 demoted to info.
Disclude version
4.0.0
Scanned (UTC)
2026-10-14 20:36

Signals

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

  1. info warn → info by review ifs-manipulation ci/test_full.sh:16:3

    `IFS` set to `.` — non-standard separator enables word-splitting obfuscation (ast pass, confidence 0.80)

    check_version() {
      IFS=. read -ra rust <<< "$RUST_VERSION"
      IFS=. read -ra want <<< "$1"
      [[ "${rust[0]}" -gt "${want[0]}" ||
    likely benign LLM, confidence 0.95 Local IFS='.' split of a Rust version string inside a CI version-check function.
    Reasoning

    Setting IFS to '.' for a single read command to split a version string like 1.70.0 into an array is a standard, legitimate bash idiom in a CI script comparing Rust versions. The IFS assignment is scoped to the read command and does not hide any payload or execute decoded content.

  2. info warn → info by review ifs-manipulation ci/test_full.sh:17:3

    `IFS` set to `.` — non-standard separator enables word-splitting obfuscation (ast pass, confidence 0.80)

      IFS=. read -ra rust <<< "$RUST_VERSION"
      IFS=. read -ra want <<< "$1"
      [[ "${rust[0]}" -gt "${want[0]}" ||
       ( "${rust[0]}" -eq "${want[0]}" &&
    likely benign LLM, confidence 0.95 Scoped IFS='.' split of the wanted version string for numeric comparison in CI.
    Reasoning

    Same pattern as the sibling finding: a scoped IFS='.' read splitting the requested version into components for numeric comparison in a CI test script. It is ordinary version-comparison code with no obfuscation or malicious behavior.

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/rust-num/num-traits num-traits && cd num-traits
git checkout num-traits-0.2.19
disclude scan --severity info --diff num-traits-0.2.18 .