defirisk.co
rubric v1.7.0

Public initialize() without initializer modifier

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

Evidence summary #

`Implementation.sol`: `function initialize() initializer public virtual` — the custom `initializer` modifier checks `!isInitialized(ERC1967Upgrade._getImplementation())` before permitting initialization, storing a flag by implementation address. This effectively prevents re-initialization of any given implementation. `BridgeImplementation.sol` uses the same pattern. The 2022 Immunefi issue ($10M payout) was NOT a missing modifier — it was that the implementation's initialized flag had been cl...

Sources #

  • Curator note
    Extracted from 01-code-security.md — RD-F-022 finding; no URL cited in originalretrieved 2026-04-28

Methodology #

Determine whether any implementation contract exposes `initialize(…)` without the OpenZeppelin `initializer` modifier or equivalent initialization lock.

See the full factor methodology and distribution across all protocols →

rubric_version v1.7.0 protocol wormhole factor RD-F-022 score green collected_at 2026-04-28 01:38:43