PyPI / anthropic / 1.13.0

anthropic 1.13.0

Source
https://github.com/anthropics/anthropic-sdk-python
Tag scanned
v1.13.0
Compared with
v1.12.1 (0 signals introduced since)
Files
2580 scanned, 32 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 6 info
Scan time
4.9 s
LLM review
Reviewed by claude-haiku-5-5 (Anthropic): 5 of 5 warn and critical signals; 5 demoted to info.
Disclude version
4.0.0
Scanned (UTC)
2026-10-14 18:50

Signals

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

  1. info long-line api.md:2873:1

    line length 566 characters (raw pass, confidence 0.50)

    - <code title="post /v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}/approve?beta=true">client.beta.organization.spend_limits.increase_requests.<a href="./src/anthropic/resources/beta/organization/spend_limits/increase_requests.py">approve</a>(spend_limit_increase_request_id, \*\*<a hre
  2. info warn → info by review dynamic-execution tests/lib/test_credentials.py:1902:9

    `exec` called on a non-literal expression (ast pass, confidence 0.70)

            # dont_inherit: this module's `from __future__ import annotations` would turn the annotations into strings.
            exec(compile(source, "<provider>", "exec", dont_inherit=True), namespace)
    
            cache = TokenCache(namespace["provider"])
    likely benign LLM, confidence 0.85 Test helper that execs compiled provider source into a namespace to build a TokenCache.
    Reasoning

    exec of compiled source in a test file, with a comment explaining dont_inherit is needed to avoid future annotations turning into strings. Source appears to be test-generated provider code; a legitimate test technique for exercising annotation handling. Non-literal source is the only concern, and the context suggests it is a test fixture.

  3. info warn → info by review dynamic-execution tests/lib/test_credentials.py:1902:14

    `compile` called on a non-literal expression (ast pass, confidence 0.70)

            # dont_inherit: this module's `from __future__ import annotations` would turn the annotations into strings.
            exec(compile(source, "<provider>", "exec", dont_inherit=True), namespace)
    
            cache = TokenCache(namespace["provider"])
    likely benign LLM, confidence 0.85 compile of test provider source feeding the exec in the same helper.
    Reasoning

    compile call paired with the exec above; same test-fixture pattern with an explicit dont_inherit flag and a documented reason. Benign in a test context.

  4. info warn → info by review frame-introspection tests/lib/utils.py:51:13

    `inspect.currentframe` — call-stack frame introspection (ast pass, confidence 0.70)

    def get_caller_name(*, stacklevel: int = 1) -> str:
        frame = inspect.currentframe()
        assert frame is not None
    likely benign LLM, confidence 0.90 Test utility that reads the caller's name via frame introspection.
    Reasoning

    inspect.currentframe used to determine caller name for a stacklevel-based helper in test utilities. Standard introspection for logging or test helpers; no malicious indicators.

  5. info warn → info by review dynamic-execution tests/test_utils/test_reflection.py:16:5

    `exec` called on a non-literal expression (ast pass, confidence 0.70)

        # dont_inherit: this module's `from __future__ import annotations` would turn the annotations into strings.
        exec(compile(source, "<func>", "exec", dont_inherit=True), namespace)
    
        signature = signature_without_evaluating_annotations(namespace["func"])
    likely benign LLM, confidence 0.85 Test helper that execs generated function source to test signature reflection.
    Reasoning

    Same exec/compile pattern in a reflection test, with a documented reason about future annotations. It evaluates a generated function to test signature extraction without evaluating annotations. Legitimate test technique.

  6. info warn → info by review dynamic-execution tests/test_utils/test_reflection.py:16:10

    `compile` called on a non-literal expression (ast pass, confidence 0.70)

        # dont_inherit: this module's `from __future__ import annotations` would turn the annotations into strings.
        exec(compile(source, "<func>", "exec", dont_inherit=True), namespace)
    
        signature = signature_without_evaluating_annotations(namespace["func"])
    likely benign LLM, confidence 0.85 compile of generated function source in a reflection test helper.
    Reasoning

    compile call feeding the exec in the reflection test helper; same benign test-fixture pattern with documented rationale.

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/anthropics/anthropic-sdk-python anthropic-sdk-python && cd anthropic-sdk-python
git checkout v1.13.0
disclude scan --severity info --diff v1.12.1 .