CoolFace
Datasetpublic

Anonymous648/zkml-audit-benchmark

zkml-audit-benchmark A benchmark dataset for evaluating AI agents on zkML soundness auditing: finding cryptographic vulnerabilities in zero-knowledge machine learning proof implementations. Overview This dataset pairs 4 published zkML research papers with their corresponding frozen codebase snapshots and 56 bug artifacts (20 real-world from expert audits + 36 synthetic for broader coverage). Each artifact describes a single soundness vulnerability — the code edits… See the full description on the dataset page: https://huggingface.co/datasets/Anonymous648/zkml-audit-benchmark.

sourceHugging Facecc-by-4.0updated 5mo agoView on Hugging Face
0likes20downloads
Dataset Card

zkml-audit-benchmark

A benchmark dataset for evaluating AI agents on zkML soundness auditing: finding cryptographic vulnerabilities in zero-knowledge machine learning proof implementations.

Overview

This dataset pairs 4 published zkML research papers with their corresponding frozen codebase snapshots and 56 bug artifacts (20 real-world from expert audits + 36 synthetic for broader coverage). Each artifact describes a single soundness vulnerability — the code edits to inject it, ground-truth labels for scoring, and presence probes for post-injection validation

The benchmark supports two complementary workflows:

  1. 1.Pair extraction — load a (paper, codebase) pair for an agent to audit.
  2. 2.Test-case generation — sample artifacts and apply their edit logic to the clean codebase, producing flawed codebases with known ground-truth findings.

Documentation

  • DATASHEET.md — datasheet for this dataset, following Gebru et al. 2021.
  • CONTRIBUTING.md — how to add new (paper, codebase) pairs and bug artifacts.
  • CHANGELOG.md — release history and label/codebase corrections.
  • schema/artifact.v2.schema.json — authoritative JSON schema for bug artifacts.

Positioning vs. Existing Security Benchmarks

Several mature benchmarks evaluate code-security tooling, but none target the theory-to-implementation gap that defines zkML soundness. The table below contrasts the design axes that matter for this setting: domain coverage, the granularity of the ground-truth labels, and whether artifacts are paired with the academic claims they implement.

BenchmarkDomainArtifact granularityTheory-pairedZKP-aware
Juliet test suiteGeneral C/C++/Java securityCWE-class injectionsnono
OWASP BenchmarkWeb/Java securityOWASP-class injectionsnono
NIST CAVPStandardized crypto implementationsTest-vector validationnopartial
`zkml-audit-benchmark` (this dataset)zkML soundnessPer-claim soundness gapyesyes

Juliet ships tens of thousands of injected vulnerabilities for general-purpose code, but its labels are generic CWE classes rather than per-paper soundness claims. The OWASP Benchmark is web-application focused, and the NIST Cryptographic Algorithm Validation Program validates implementations of standardized primitives, not bespoke proof-system protocols. By contrast, this benchmark ships paper–codebase pairs together with declarative artifact specifications that re-introduce a precisely characterized soundness gap, making it directly suitable for studying theory-to-practice alignment in zkML.

Dataset Structure

Configs

ConfigRowsDescription
pairs4One row per (paper, codebase) pair
artifacts56One row per bug artifact (flattened metadata)

Loading

python
from datasets import load_dataset

pairs = load_dataset("anonymous-zkml-benchmark/zkml-audit-benchmark", "pairs")
artifacts = load_dataset("anonymous-zkml-benchmark/zkml-audit-benchmark", "artifacts")

Raw Files

Beyond the Parquet tables, the repository includes:

  • papers/{pair_id}.pdf — research paper PDFs
  • codebases/{pair_id}.zip — frozen codebase snapshots (Git LFS)
  • artifacts/{pair_id}/*.json — full artifact JSONs with edit instructions, conflict metadata, and presence probes
  • schema/artifact.v2.schema.json — JSON Schema defining the artifact format

The Parquet tables contain flattened metadata for filtering and loading. The full artifact JSONs (with heterogeneous edit/probe structures) are the authoritative source for test-case generation.

Data Fields

pairs config

FieldTypeDescription
pair_idstringPrimary key: zkllm, zkml, zktorch, zkgpt
paper_titlestringFull paper title
paper_venuestringPublication venue
paper_yearint32Publication year
paper_licensestringPaper redistribution terms
paper_urlstringarXiv or publisher URL (empty if unavailable)
paper_pathstringRelative path to PDF: papers/{pair_id}.pdf
paper_sha256stringSHA256 hash of the PDF
codebase_pathstringRelative path to zip: codebases/{pair_id}.zip
codebase_dirstringDirectory name after extraction
codebase_sha256stringSHA256 hash of the zip
codebase_languagestringPrimary implementation language
codebase_frameworkslist\<string\>Key cryptographic frameworks used
codebase_snapshot_notestringCommit hash or snapshot date
artifact_countint32Number of artifacts targeting this pair
notesstringCaveats or special build instructions

artifacts config

FieldTypeDescription
artifact_idstringPrimary key, e.g. zkLLM-001
pair_idstringForeign key → pairs
sourcestringreal (from audit) or synthetic (authored for coverage)
finding_namestringShort vulnerability title (3–7 words)
finding_explanationstringOne paragraph: root cause and impact
relevant_codestringComma-separated file:line[-line] references
paper_referencestringSection/theorem/protocol citation with optional quote
edit_countint32Number of code edits to inject this bug
files_touchedlist\<string\>Files modified by this artifact's edits
semantic_tagslist\<string\>Semantic labels for conflict detection
requireslist\<string\>Artifact IDs this depends on
incompatiblelist\<string\>Artifact IDs incompatible with this one
artifact_pathstringRelative path to full artifact JSON
artifact_sha256stringSHA256 hash of the artifact JSON

Pair Inventory

pair_idPaperVenueLanguageArtifactsSnapshot
zkllmzkLLM: Zero Knowledge Proofs for Large Language ModelsACM CCS 2024CUDA/C++13commit 993311e…
zkmlZKML: An Optimizing System for ML Inference in Zero-Knowledge ProofsEuroSys 2024Rust14commit 4378958… (ddkang/zkml)
zktorchZKTorch: Compiling ML Inference to Zero-Knowledge Proofs via Parallel Proof AccumulationarXivRust15directory snapshot 2026-04-19
zkgptzkGPT: An Efficient Non-interactive Zero-knowledge Proof Framework for LLM InferenceUSENIX Security 2025C++14Zenodo record 14727819 v1

Artifact Summary

  • Total artifacts: 56 (14 zkGPT + 13 zkLLM + 14 zkML + 15 zkTorch)
  • Source breakdown: 20 real (derived from expert audit reports), 36 synthetic (authored for broader coverage)
  • Each artifact includes declarative code edits, conflict metadata for safe composition, and presence probes for post-injection validation

Reproducibility

All files are checksummed in MANIFEST.json. To verify integrity:

bash
python scripts/verify_dataset.py

To rebuild the Parquet tables from the in-repo artifact JSONs:

bash
python scripts/build_parquet.py

Known Limitations & Assumptions

  1. 1.Paper ↔ codebase mapping uses fixed pair IDs (zkllm, zkml, zktorch, zkgpt) defined in scripts/build_parquet.py.
  1. 1.Non-git snapshots: The zktorch codebase is a directory snapshot dated 2026-04-19 and cannot be pinned to an upstream commit. zkllm and zkml are pinned to Git commits (993311ea… and 4378958… respectively). zkgpt is pinned to Zenodo record 14727819 v1.
  1. 1.Paper licensing: PDFs are included for research reproducibility. The dataset-level CC-BY-4.0 license covers only the curation layer (artifact definitions, schema, scripts). Papers carry their respective publisher terms (ACM, arXiv). Users redistribute at their own responsibility.
  1. 1.Artifact format: Artifacts follow schema/artifact.v2.schema.json. All graded labels live under finding.labels.
  1. 1.Scope: This release covers 4 of the 10 available research papers — specifically those with paired frozen codebases and authored artifacts. Remaining papers may be added in future releases.

Schema Reference

The artifact JSON format is defined by schema/artifact.v2.schema.json. Key structures:

  • finding.labels — the two graded fields (relevant_code, paper_reference)
  • edits — ordered list of code edits to inject the bug
  • conflict_keys — files, regions, and semantic tags for safe composition
  • presence_probes — assertions to verify successful injection

Citation

If you use this dataset, please cite:

bibtex
@misc{zkml-audit-benchmark,
  title={zkml-audit-benchmark: A Benchmark for AI Agents on zkML Soundness Auditing},
  author={Anonymous},
  year={2026},
  url={https://huggingface.co/datasets/anonymous-zkml-benchmark/zkml-audit-benchmark},
}

License

  • Dataset curation layer (artifacts, schema, scripts, documentation): CC-BY-4.0
  • Codebases: retain their original upstream licenses (see each codebase's LICENSE file inside the zip)
  • Papers: subject to respective publisher terms