defirisk.co
rubric v1.7.0

Default bytes32(0) acceptable as valid root

M^0's assessment for RD-F-154 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.

Evidence summary #

M^0's Portal/HubPortal/SpokePortal does not use inbound Merkle-root-based message validation (the Nomad bug class). Messages validated via Wormhole VAA attestation (guardian signatures on VAA struct, not Merkle roots) or Hyperlane mailbox ISM. The only Merkle root in the system is the outbound earnersMerkleRoot_ fetched from IMerkleTreeBuilder for Solana earner list — an outbound data payload, not an inbound security mechanism. No acceptableRoot or zero-root acceptance path exists in M^0 bridge code.

Sources #

  • GitHub
    HubPortal.sol sourcem0-foundation/m-portal main/src/HubPortal.sol — earnersMerkleRoot_ is outbound payload via sendEarnersMerkleRoot(), not inbound security checkretrieved 2026-05-16
  • GitHub
    Portal.sol sourcem0-foundation/m-portal main/src/Portal.sol — uses NTT message digests, not Merkle roots for inbound validationretrieved 2026-05-16

Methodology #

Determine whether the bridge inbox accepts a default-value (bytes32(0)) Merkle root as a valid proof root (Nomad bug class).

See the full factor methodology and distribution across all protocols →

rubric_version v1.7.0 protocol m0 factor RD-F-154 score green collected_at 2026-05-16 09:46:19