
Security News
Happy Birthday, Shai-Hulud
It has been one year since Shai-Hulud made its first appearance on npm.
@algovoi/audit-verifier
Advanced tools
Standalone reference verifier for AlgoVoi selective-disclosure audit bundles. TypeScript port; byte-for-byte parity with the Python algovoi-audit-verifier.
TypeScript reference verifier for AlgoVoi selective-disclosure audit bundles.
Byte-for-byte parity with the Python sibling
algovoi-audit-verifier
on PyPI.
Standalone — auditor-runnable on any Node.js 18+ machine with no AlgoVoi infrastructure trust required.
npm install @algovoi/substrate canonicalize # peer deps
npm install @algovoi/audit-verifier
Or just install the package directly (canonicalize is a dependency, pulled automatically):
npm install @algovoi/audit-verifier
POST your bundle to https://verify.algovoi.co.uk/verify and get a
structured verification report. Same code path as this package.
import { verifyBundle } from '@algovoi/audit-verifier';
const bundle = JSON.parse(fs.readFileSync('audit-bundle.json', 'utf-8'));
const report = await verifyBundle(bundle, {
signingKey: process.env.AUDIT_BUNDLE_KEY, // optional
});
console.log(report.render()); // human-readable PASS/FAIL
console.log(report.toJSON()); // machine-readable
if (!report.allPassed) process.exit(1);
import { buildDemoBundle, verifyBundle } from '@algovoi/audit-verifier';
const bundle = buildDemoBundle({ chainName: 'audit_log', rowCount: 3 });
const report = await verifyBundle(bundle, {
signingKey: 'demo-key-not-for-production-use',
});
console.log(report.allPassed); // true
| # | Check | What it proves |
|---|---|---|
| 1 | per_row_content_hash | Each row's stored content_hash matches SHA-256(JCS(canonical-fields)) — per-row tamper-evidence |
| 2 | continuity | prev_hash walks unbroken across rows + bridging_rows ordered by chain_position — no fabricated gap or reorder |
| 3 | bundle_signature | HMAC-SHA256 over JCS(bundle - signature) matches bundle_signature.hex — proves AlgoVoi emission (when signing key supplied) |
| 4 | selection_criteria_match | Selected rows actually match the filter declared in selection_criteria (when exact-match filters are set) |
| 5 | off_vm_anchor | Off-VM Object-Lock manifest tail entry matches chain_anchor.current_head (when manifestDir supplied) |
A bundle that passes all five checks (or has them skipped for legitimate
reasons — no signing key supplied, no manifest available, etc.) has its
all_passed set to true.
This TypeScript verifier is byte-for-byte equivalent to the Python sibling on PyPI:
| Implementation | Package |
|---|---|
| Python | algovoi-audit-verifier |
| TypeScript | @algovoi/audit-verifier (this package) |
Both verifiers produce identical:
(bundle - signature, key) paircontent_hash for the same row contentall_passed, fatal[], checks[])The parity is exercised by 9 cross-impl tests in this repo's
test/parity.test.ts, which generate bundles in Python and verify them in
TypeScript (and vice versa).
This verifier composes against the AlgoVoi-authored canonicalisation substrate:
draft-hopley-x402-canonicalisation-jcs-v1 (Independent Submission, Informational, sole AlgoVoi authorship)urn:x402:canonicalisation:jcs-rfc8785-v1@algovoi/substratechopmob-cloud/algovoi-jcs-conformance-vectorsThe same code path runs at https://verify.algovoi.co.uk behind nginx + Cloudflare on a dedicated VM. POST any audit bundle to /verify and get back the same CheckReportJSON shape this package returns programmatically.
This verifier consumes receipts pinned to canon_version: jcs-rfc8785-v1 (or jcs-rfc8785-v2 under the strictly-additive PQC-aware discipline). The pin selects which canonicalisation rule the verifier applies at receipt-bytes verification time. A receipt without a recognised canon_version pin is treated as opaque; the verifier fails closed rather than guessing the rule.
AlgoVoi is recorded in the Substrate Adopters Registry as the substrate author. Parties anchoring their own services or specifications to canon_version: jcs-rfc8785-v1 (or v2) are recorded in the registry via the submission process. AlgoVoi validates submissions against the artefact's canonical bytes and adds qualifying entries.
Apache 2.0. See LICENSE.
AlgoVoi (Christopher Hopley, GitHub chopmob-cloud).
FAQs
Standalone reference verifier for AlgoVoi selective-disclosure audit bundles. TypeScript port; byte-for-byte parity with the Python algovoi-audit-verifier.
The npm package @algovoi/audit-verifier receives a total of 4 weekly downloads. As such, @algovoi/audit-verifier popularity was classified as not popular.
We found that @algovoi/audit-verifier demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
It has been one year since Shai-Hulud made its first appearance on npm.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.