Quantstamp reviewed Alchemy ERC (Alchemy - Multisig Plugin) on 29 Mar 2024: 9 findings, 0 critical; 6 marked fixed, 3 acknowledged.
Report hosted on certificate.quantstamp.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 0 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 0 | 3 | 6 |
In the case of a contract owner signature, the `s` value points to the offset of the start of the specific signature of the contract owner. However, unlike the underlying addresses, the offsets are not enforced to be in ascending order. This means that two contract owners can technically share the same signature. It should of course be noted that the underlying contract addresses that those two separate signature validation calls are performed upon still have to differ, but digest and signature can be shared.
Currently, all the signatures are encoded into the `userOp.signature` field, including both EOA and 1271 contract-based signatures. We could not find any current limitations on the signature field size at this iteration of bundlers, currently the only limitation is the overall block size limit. It could be possible that bundlers will add a limit on that field, especially given the 1271 contract signatures can be of arbitrary size. The current [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337) specification states the following: > When a client receives a `UserOp`, it must first run some basic sanity checks, namely that: The `verificationGasLimit` is sufficiently low (<= `MAX_VERIFICATION_GAS`) ... The statement is saying there can be a limit on `verificationGasLimit` (to protect bundlers from being DoS'ed). And because the size of `userOp.signature` contributes to the verification gas, we can assume the bundler may drop a `UserOp` with a signature that is too large.
The plugin adds the ability to have multiple owners sign a `UserOp` to be executed. This is done via an ECDSA signature for an EOA or a 1271 signature from a smart contract. The signatures are then assembled together and submitted along with the `UserOp`. In the case of an EOA signature, there currently is no expiry time on the validity of the signature, so if the nonce has not been used yet, this signature is valid for the specific `UserOp` for an indefinite amount of time.
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (3)
236 projects reviewed · 332 reports · latest Oct 2026
See Quantstamp’s auditsSomething wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us