Dependency manifest uses unpinned versions
Wormhole's assessment for RD-F-133 — scored yellow on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
`ethereum/package.json` uses `"@openzeppelin/contracts": "^4.3.1"` (caret = unpinned minor/patch). This is a range specifier, not an exact pin. The `^` notation allows automatic updates to OZ within the 4.x major series. For production smart contract code, unpinned ranges carry supply-chain risk: a compromised OZ 4.x.y release could be pulled automatically. However, OZ is a well-maintained library with its own security practices and the version range does not span known-vulnerable OZ versions...
Sources #
- Curator noteExtracted from 01-code-security.md — RD-F-133 finding; no URL cited in originalretrieved 2026-04-28
Methodology #
Determine whether `package.json`, `Cargo.toml`, or `foundry.toml` uses `^` or `~` version ranges for security-critical libraries (OpenZeppelin, Solady, etc.).
See the full factor methodology and distribution across all protocols →