defirisk.co
rubric v1.7.0

Public initialize() without initializer modifier

Lombard Finance'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 #

All examined implementation contracts properly protect initialize(): (1) Consortium.sol — constructor() { _disableInitializers(); } AND function initialize(address _owner) external initializer; (2) BridgeV2.sol — constructor() { _disableInitializers(); } AND function initialize(address owner_, IMailbox mailbox_) external initializer; (3) NativeLBTC.sol — constructor() { _disableInitializers(); } AND function initialize(...) external initializer; (4) StakedLBTC.sol — constructor() { _disableInitializers(); } AND function initialize(address treasury, address initialOwner, uint48 initialOwnerDelay) external initializer. BasculeV2.sol uses a standard constructor (non-proxied) — no initialize() function, N/A for that contract. No unprotected initialize() found across reviewed contracts.

Sources #

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 lombard factor RD-F-022 score green collected_at 2026-05-05 12:03:08