As of 3 Nov 2026, DEFED has 1 audit report on Trustblock, by CertiK, dated 18 Oct 2022. That report lists no open critical findings.
Record last updated . It holds audits, findings and contracts up to Nov 2026, and incidents up to Oct 2026. Trustblock does not review code.
Newest first
Statuses are the security firm’s own, from each report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 2 | 1 |
| Medium | 0 | 3 | 1 |
| Low | 10 | 0 | 5 |
In the contract `AssetManagement`, the role `owner` has authority over the following function(s): - function `widthdraw()` and `withdrawETH()`, to withdraw money from the contract. - function `activeToken()` and `pauseToken()`, to manege the supported tokens. In the contract `BridgeControl`, the role `owner` has authority over the following function(s): - function `setVirtualDefedToken()`, to set `virtualDefedToken` and `veDEFE`. - function `transferFromEthereumForDeposit()`, `transferFromEthereumForRepay()` and `transferFromEthereum()`, to mint `vToken` for the user and interact with `LendingPool`(deposit or repay). - function `lockFromEthereum()`, to lock `defe` for the user. - function `turnOutToken()` (added in commit 3dbe95d01202b37aa139702e95f3150705eb8c7a), to withdraw tokens from the contract. Any compromise to the `owner` account may allow a hacker to take advantage of this authority and bring unpredictable damages to the project.
Open the reportWe understand the team needs to receive the parameter `tokenController` to read its configs as the contract is a proxy contract for `userProxy` contracts to perform delegate calls. But it is very dangerous behavior to allow the caller to decide which contract to interact with. The events in the contract `TokenController` are untrusted.
Open the reportCross-chain token transfer depends on third-party cross-chain protocol, for example, PolyNetwork. If the cross-chain protocol is hacked, the `BridgeControl` protocol in the source chain cannot confirm the transaction status correctly. As a result, the user deposits tokens in the source chain but cannot receive them in the target chain. The server is responsible for responding to on-chain events, maintaining transaction information, and executing across the chain. It needs reliable logic to support it. This part is not in the audit scope.
Open the reportTokens are sent to the address `misc` when deploying the contract. This could be a centralization risk as the address `misc` can distribute tokens without obtaining the consensus of the community.
Open the reportIn Ethereum, `send/transfer/call` can be used for ETH transferring. In the worst case, the `receive` and `fallback` functions can only rely on 2300 gas being available (for example when `send` or `transfer` is used), leaving little room to perform other operations except basic logging. If the contract `AssetManagement` is going to be deployed with proxy, since the certain version of proxy codes will do delegate calls in the receive() function, the below code in the function withdrawETH() will revert because of insufficient gas exception. ```solidity IWETH(WETH).withdraw(amount); ```
Open the reportThe reports name a repository or files. Open a report to see its scope.
Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.
Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.
<head><script src="https://widget.trustblock.run/project-widget.min.js" defer></script></head><body><divdata-tb-project-widgetdata-tb-project-slug="defed"></div></body>
Paste the code where the label should appear. It uses no API credit and updates by itself.
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