Backstop Syndicate for MakerDAO

QuantstampFiles named in the report

Quantstamp reviewed Backstop Syndicate for MakerDAO on 19 Mar 2020: 4 findings, 0 critical; 3 acknowledged, 1 open.

No open critical findings
Open the reportOpen Backstop Syndicate for MakerDAO’s security record

Report hosted on certificate.quantstamp.com.

Trustblock does not review code.

Findings4

Statuses are the security firm’s own, from its report.

SeverityOpenAcknowledgedFixed
Critical000
High000
Medium000
Low130
LowConstructors do not check argumentsAcknowledged

Constructors do not check if provided arguments are non-zero values. The deployed code, however, has been initialized with correct values. Hence, the issue is only informational; otherwise would have been of **low severity**.

LowReentrancyAcknowledged

A reentrancy vulnerability is a scenario where an attacker can repeatedly call a function from itself, unexpectedly leading to potentially disastrous results. Here's a basic example representing the very attack which impacted The DAO in 2016: ``` function withdraw_with_reentrancy(uint256 _amount) public { msg.sender.call.value(_amount)(); // ATTACKER CAN CALL AGAIN BEFORE // FUNCTION TERMINATES because `call` // allows msg.sender to execute any code using fallback function balances[msg.sender] -= _amount; // Balance only updated AFTER funds withdrawn } ``` Possible re-entrancy occurs in lines 93, 98, 186. The deployed code, however, has been initialized with addresses that refer to Maker's contracts. These contracts do not cause re-entrancy, hence, the issue is only informational; otherwise could have been of **high severity**.

LowTransaction Order Dependence between `contains()` and `remove()`Acknowledged

The function `EnumerableSet.contains()` may return different values depending on whether it is ordered before or after a transaction that executes `EnumerableSet.remove()` for the same value in the same block. Consequently, there is a similar transaction order dependence between the functions `DaiBackstopSyndicate.enterAuction()` and `DaiBackstopSyndicate.finalizeAuction()`.

Contracts in scope

No deployed address is recorded for this audit.

The report names a repository or files. Open the report to see its scope.

Repository and files the report names (15)

  • contracts/interfaces/IFlopper.sol
  • contracts/interfaces/IVat.sol
  • contracts/syndicate/SimpleFlopper.sol
  • contracts/mcd/DaiJoin.sol
  • contracts/syndicate/TwoStepOwnable.sol
  • contracts/syndicate/EnumerableSet.sol
  • contracts/mcd/Vat.sol
  • contracts/interfaces/IDaiBackstopSyndicate.sol
  • contracts/mcd/DSToken.sol
  • contracts/interfaces/IVow.sol
  • contracts/interfaces/IJoin.sol
  • contracts/syndicate/DaiBackstopSyndicate.sol
  • contracts/mcd/Dai.sol
  • contracts/mcd/MkrAuthority.sol
  • contracts/mcd/Flopper.sol

Part of Backstop Syndicate for MakerDAO’s security record

Backstop Syndicate for MakerDAO
Audits1 audit by 1 firmLast audit Mar 2020, by Quantstamp.
Critical findingsNo open critical findingsIn 1 report.
Open Backstop Syndicate for MakerDAO’s security record

Security firm

Quantstamp

236 projects reviewed · 332 reports · latest Oct 2026

See Quantstamp’s audits

Something 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