Dependency manifest uses unpinned versions
Stargate Finance'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 #
OpenZeppelin contracts are specified as `"@openzeppelin/contracts": "^4.8.1"` and `"@openzeppelin/contracts-upgradeable": "^4.8.1"` — **caret (^) notation allows automatic minor and patch version updates** (i.e., any version ≥4.8.1 <5.0.0). This is unpinned by the methodology definition and is a risk for security-critical libraries. LayerZero libs use tilde (~) allowing only patch updates, which is less concerning. The `ethers` package uses `^5.7.2` — caret for a JS utility library.
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 →