diff --git a/CHANGELOG.md b/CHANGELOG.md index 59aac20..8cf628e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,18 @@ All notable changes to this project are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.23.0] + +### Fixed +- **CVE registry audit** (every entry re-verified against NVD / GitHub Advisories — all 8 CVE + IDs are genuine published advisories): + - **CVE-2025-3108** (llama-index-core): corrected the affected range from `>=0.11.15,<0.12.41` + to `>=0.12.27,<0.12.41` to match the published advisory — versions 0.11.15–0.12.26 are not + affected and were being flagged in error. + - **CVE-2025-48889** (gradio): corrected the summary — it is an unauthorized file *copy* via + path manipulation (DoS), not "arbitrary file read / secret theft"; MITRE mapping updated + to T1499. + ## [0.22.0] ### Added diff --git a/README.md b/README.md index c5a57da..28d8a04 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ re-run `autonomyproof baseline .` and commit the updated file in the same PR. Use the action directly: ```yaml -- uses: autonomyproof/autonomyproof-cli@v0.22.0 +- uses: autonomyproof/autonomyproof-cli@v0.23.0 with: target: . fail-on: high @@ -178,7 +178,7 @@ Gate locally before a commit ever leaves your machine: # .pre-commit-config.yaml repos: - repo: https://github.com/autonomyproof/autonomyproof-cli - rev: v0.22.0 + rev: v0.23.0 hooks: - id: autonomyproof ``` diff --git a/pyproject.toml b/pyproject.toml index 37769b6..1a8eb4c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "autonomyproof" -version = "0.22.0" +version = "0.23.0" description = "Open-source local scanner that finds unsafe capabilities and missing guardrails in Python AI-agent code." readme = "README.md" requires-python = ">=3.11" diff --git a/src/autonomyproof/__init__.py b/src/autonomyproof/__init__.py index d905d23..6292520 100644 --- a/src/autonomyproof/__init__.py +++ b/src/autonomyproof/__init__.py @@ -4,4 +4,4 @@ __all__ = ["__version__"] -__version__ = "0.22.0" +__version__ = "0.23.0" diff --git a/src/autonomyproof/cve.py b/src/autonomyproof/cve.py index 4b12f87..0e9b1c1 100644 --- a/src/autonomyproof/cve.py +++ b/src/autonomyproof/cve.py @@ -68,7 +68,7 @@ class CveMatch: CveRecord( cve="CVE-2025-3108", package="llama-index-core", - ranges=(">=0.11.15,<0.12.41",), + ranges=(">=0.12.27,<0.12.41",), summary="LlamaIndex JsonPickleSerializer pickle deserialization RCE on untrusted data", mitre=("AML.T0011",), ), @@ -90,8 +90,8 @@ class CveMatch: cve="CVE-2025-48889", package="gradio", ranges=("<5.31.0",), - summary="Gradio arbitrary file read via path traversal (secret theft from the host)", - mitre=("T1552",), + summary="Gradio unauthorized file copy via path manipulation (unauthenticated; DoS)", + mitre=("T1499",), # Endpoint Denial of Service ), ) diff --git a/tests/test_cli.py b/tests/test_cli.py index a750a38..648bcb1 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -33,7 +33,7 @@ def _home(monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None: def test_version(runner: CliRunner) -> None: result = runner.invoke(cli.main, ["--version"]) assert result.exit_code == 0 - assert "0.22.0" in result.output + assert "0.23.0" in result.output def test_init_creates_and_is_idempotent(runner: CliRunner) -> None: