Skip to content

fix: bound SavedModel graph traversal#1491

Open
mldangelo-oai wants to merge 2 commits into
mainfrom
mdangelo/codex/fix-savedmodel-graph-budgets-c140
Open

fix: bound SavedModel graph traversal#1491
mldangelo-oai wants to merge 2 commits into
mainfrom
mdangelo/codex/fix-savedmodel-graph-budgets-c140

Conversation

@mldangelo-oai
Copy link
Copy Markdown
Contributor

Summary

  • add pre-traversal budgets for SavedModel meta graphs, graph nodes, function count, and function-body nodes
  • fail closed as inconclusive with savedmodel_graph_traversal_budget_exceeded when budgets are exceeded
  • add oversized graph/function positives and benign at-budget negative coverage

Validation

  • PYTHONPATH=/private/tmp/modelaudit-c140 PROMPTFOO_DISABLE_TELEMETRY=1 /Users/mdangelo/code/modelaudit/.venv/bin/pytest tests/scanners/test_tf_savedmodel_scanner.py -q: 65 passed
  • ruff format --check modelaudit/scanners/tf_savedmodel_scanner.py tests/scanners/test_tf_savedmodel_scanner.py
  • ruff check modelaudit/scanners/tf_savedmodel_scanner.py tests/scanners/test_tf_savedmodel_scanner.py
  • mypy modelaudit/scanners/tf_savedmodel_scanner.py tests/scanners/test_tf_savedmodel_scanner.py
  • git diff --check

@mldangelo-oai
Copy link
Copy Markdown
Contributor Author

@codex review

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 31, 2026

Workflow run and artifacts

Performance Benchmarks

Compared 12 shared benchmarks with a regression threshold of 15%.
Status: 0 regressions, 0 improved, 12 stable, 0 new, 0 missing.
Aggregate shared-benchmark median: 757.30ms -> 797.79ms (+5.3%).

Workload Benchmark Target Size Files Baseline Current Change Status
mixed-model-repository tests/benchmarks/test_scan_benchmarks.py::test_scan_release_candidate_repository release-candidate 547.3 KiB 32 291.46ms 313.68ms +7.6% stable
suspicious-pickle-intake tests/benchmarks/test_scan_benchmarks.py::test_scan_suspicious_pickle_intake suspicious-intake 183.8 KiB 4 98.08ms 104.50ms +6.6% stable
duplicate-heavy-registry tests/benchmarks/test_scan_benchmarks.py::test_scan_duplicate_registry_snapshot registry-snapshot 915.2 KiB 13 208.66ms 217.52ms +4.2% stable
chunked-upload-stream tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_chunked_upload_stream chunked_stream 278.2 KiB 1 23.14ms 24.09ms +4.1% stable
single-checkpoint-preflight tests/benchmarks/test_scan_benchmarks.py::test_scan_single_checkpoint_before_load single_checkpoint.pkl 183.0 KiB 1 38.64ms 40.16ms +3.9% stable
nested-payload-review tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_nested_payload_review[nested_base64] nested_base64 98 B 1 472.7us 481.1us +1.8% stable
direct-malicious-upload tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_direct_malicious_upload malicious_reduce 52 B 1 1.57ms 1.59ms +1.2% stable
warm-cache-rescan tests/benchmarks/test_scan_benchmarks.py::test_scan_warm_cached_repository_rescan release-candidate 547.3 KiB 32 72.28ms 72.88ms +0.8% stable
clean-training-checkpoint tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_clean_training_checkpoint safe_large 278.2 KiB 1 20.38ms 20.28ms -0.5% stable
nested-payload-review tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_nested_payload_review[nested_raw] nested_raw 78 B 1 472.1us 473.7us +0.3% stable
padded-multi-stream-upload tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_padded_multi_stream_upload multi_stream_padded 4.1 KiB 1 1.66ms 1.66ms -0.3% stable
nested-payload-review tests/benchmarks/test_picklescan_benchmarks.py::test_picklescan_nested_payload_review[nested_hex] nested_hex 130 B 1 479.2us 479.7us +0.1% stable

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@mldangelo-oai mldangelo-oai marked this pull request as ready for review May 31, 2026 14:05
Copy link
Copy Markdown
Contributor

@ianw-oai ianw-oai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed; this looks acceptable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants