Verification Actions
sha256:48010f1bf4eb63ae78104b96389421ef1f880bb640d0c39358eac34f0d850da3
9451e8fe636e6d5d
Generated report detail
Fixture attack-xchain-missing-domain-separator-v0 generated pass at 2026-06-10T22:58:55.224Z.
sha256:48010f1bf4eb63ae78104b96389421ef1f880bb640d0c39358eac34f0d850da3
9451e8fe636e6d5d
mock-fakenet
n/a
model
NEGATIVE CONTROL (expectRejected=true): a multi-EVM cross-chain exploit the invariant MUST catch.
Two EVM endpoints share one EIP-712 domain (chainId hardcoded to 1); a Base authorization is accepted on Optimism.
expectRejected inverts a CAUGHT exploit to a green proof-of-prevention.
No invariant packs referenced.
Observe terminal joint multi-EVM state
bridge
true
Distinct, re-derived domain per endpoint
critical
Observed DOMAIN: endpoint 8453: domain.chainId 1 != 8453; endpoint 8453: chainId not re-derived at verify (stale on fork); endpoint 10: domain.chainId 1 != 10; endpoint 10: chainId not re-derived at verify (stale on fork); duplicate domain separator across endpoints (cross-chain signature reuse); expected each endpoint has a distinct (chainId,verifyingContract) domain re-derived at verify; authorizations valid only at their bound endpoint, under xchain.domain.
No alert policies configured.
No adapter observations captured.
| Path | Before | After |
|---|---|---|
| xchain.observed | undefined | true |
Initial state
initial41d5b2d5bf0eac01
After observe
observe9451e8fe636e6d5d
lab_attack-xchain-missing-domain-separator-v0_20260610225855224
sha256:48010f1bf4eb63ae78104b96389421ef1f880bb640d0c39358eac34f0d850da3
9451e8fe636e6d5d
/bundle/server-functions/default/.nocklab/attack-xchain-missing-domain-separator.report.json
/bundle/server-functions/default/.nocklab/attack-xchain-missing-domain-separator.report.md
1304
xchain.observed
# ✅ ATTACK: missing-domain-separator Lab Report
0 triggered, 0 clear
ATTACK: missing-domain-separator Verification Candidate
watch
unsigned
none
sha256:48010f1bf4eb63ae78104b96389421ef1f880bb640d0c39358eac34f0d850da3
9451e8fe636e6d5d