pith:MR2ZJUVF
Cryptographic Registry Provenance: Structural Defense Against Dependency Confusion in AI Package Ecosystems
A cryptographic system with registry Ed25519 identities, dual publisher-registry signatures, and consumer-pinned fingerprints creates three independent layers that must all be breached for a dependency confusion attack to succeed.
arxiv:2605.03309 v2 · 2026-05-05 · cs.CR · cs.AI · cs.SE
Add to your LaTeX paper
\usepackage{pith}
\pithnumber{MR2ZJUVFMTTCHJZEQ6TBYDLAD6}
Prints a linked badge after your title and injects PDF metadata. Compiles on arXiv. Learn more · Embed verified badge
Record completeness
Claims
These create three defense layers requiring simultaneous compromise for a successful attack. A comparison across eight ecosystems shows no existing ecosystem combines mandatory publisher signing, cryptographic registry identity, mandatory registry countersigning, and consumer-side cryptographic enforcement.
That registries will universally adopt and maintain Ed25519 keypairs, that publishers will sign at packaging time, and that consumers will correctly pin registry fingerprints in their resolvers; the system fails if any layer is not enforced.
A three-layer cryptographic system with registry identity, dual signatures, and authoritative binding prevents dependency confusion by requiring simultaneous compromise of publisher, registry, and consumer controls.
Receipt and verification
| First computed | 2026-05-27T01:05:56.143153Z |
|---|---|
| Builder | pith-number-builder-2026-05-17-v1 |
| Signature | Pith Ed25519
(pith-v1-2026-05) · public key |
| Schema | pith-number/v1.0 |
Canonical hash
647594d2a564e623a72487a61c0d601fa89aa25d24cd983413b0288ec207cff6
Aliases
· · · · ·Agent API
Verify this Pith Number yourself
curl -sH 'Accept: application/ld+json' https://pith.science/pith/MR2ZJUVFMTTCHJZEQ6TBYDLAD6 \
| jq -c '.canonical_record' \
| python3 -c "import sys,json,hashlib; b=json.dumps(json.loads(sys.stdin.read()), sort_keys=True, separators=(',',':'), ensure_ascii=False).encode(); print(hashlib.sha256(b).hexdigest())"
# expect: 647594d2a564e623a72487a61c0d601fa89aa25d24cd983413b0288ec207cff6
Canonical record JSON
{
"metadata": {
"abstract_canon_sha256": "63b5879e6ddfcbf23fc7074c5c3f199e8a4ad32e7ba2e645a8de249d0796f44c",
"cross_cats_sorted": [
"cs.AI",
"cs.SE"
],
"license": "http://creativecommons.org/publicdomain/zero/1.0/",
"primary_cat": "cs.CR",
"submitted_at": "2026-05-05T02:56:31Z",
"title_canon_sha256": "dda8c12c2f635da36666a43cb977b91357151411b12e103e95b435b55a612736"
},
"schema_version": "1.0",
"source": {
"id": "2605.03309",
"kind": "arxiv",
"version": 2
}
}