只要多签钱包的4把私钥牢牢受@yuboruan 和公司的控制,便可以保证用户的资产不会受到损失。
注:本文来自@0xjuu_17 推特,其是Hedgue crypto研究主管,原推文内容由MarsBit整理如下:
我花了8个小时,检查了210个合约文件,并对ParaSpace目前所有线上合约做了权限检查,大家看完之后便可以对 @yuboruan 和ParaSpace的用户资金安全情况消除怀疑:
源代码Github: https://github.com/para-space/paraspace-core
1涉及资产权限的合约文件
/apestaking/AutoCompoundApe.sol
管理员权限控制:
onlyPoolAdmin
/apestaking/AutoYieldApe.sol
管理员权限控制:
onlyPoolAdmin
/apestaking/P2PPairStaking.sol
管理员权限控制:
onlyOwner
/misc/ParaSpaceAirDrop.sol
管理员权限控制:
onlyOwner
/protocol/pool/PoolParameters.sol
管理员权限控制:
onlyPoolAdmin
/protocol/tokenization/PToken.sol
管理员权限控制:
onlyPoolAdmin
通过继承受影响:
/protocol/tokenization/DelegationAwarePToken.sol
/protocol/tokenization/PTokenSApe.sol
/protocol/tokenization/PYieldToken.sol
/protocol/tokenization/base/MintableIncentivizedERC721.sol
管理员权限控制:
onlyPoolAdmin
通过继承受影响:
/protocol/tokenization/NToken.sol
2涉及资产权限的接口文件
/interfaces/IPoolParameters.sol
通过继承受影响:
/interfaces/IPool.sol (Section 4展开)
/protocol/pool/PoolParameters.sol (Section 1已列出)
/interfaces/IPToken.sol
通过继承受影响:
/protocol/tokenization/PToken.sol (Section 1已列出)
3涉及资产权限的库文件
/protocol/libraries/logic/PoolLogic.sol
使用受影响合约:
/protocol/pool/PoolParameters.sol
/protocol/tokenization/libraries/MintableERC721Logic.sol
使用受影响合约:
/protocol/tokenization/base/MintableIncentivizedERC721.sol
4存放用户资产的线上合约
P2P Staking:
0xf090Eb4c2B63e7B26E8Bb09e6Fc0cC3A7586263B
权限:
0xca8678d2d273b1913148402aed2E99b085ea3F02 (TimeLockExecutor)
权限穿透:
0xe965198731CDdB2f06e91DD0CDff74b71e4b3714 (Safe多签钱包 4签5)
https://app.safe.global/settings/setup?safe=eth:0xe965198731CDdB2f06e91DD0CDff74b71e4b3714
TimeLockProxy:
0x59B72FdB45B3182c8502cC297167FE4f821f332d
无集权账号可直接提取资产
PToken 的transferUnderlyingTo 和 transferOnLiquidation虽然可以转移资产,但只有 Pool 合约可以调用,其余对IncentivizedERC20的调用均为view只读权限
集权资产提取函数 rescueTokens 权限判断为继承自 IncentivizedERC20 的 onlyPoolAdmin
NToken 的transferUnderlyingTo 和 transferOnLiquidation虽然可以转移资产,但只有 Pool 合约可以调用
集权资产提取函数直接继承自 MintableIncentivizedERC721 的 rescueERC20,权限判断为 onlyPoolAdmin
经检查,列出的PToken/NToken 资产合约的管理权限均来自 ACLManager 远程读取
ACLManager合约地址:
0x42b0C49130162F949e82ba855C4eFF0C3Fd4C5cC
PToken和NToken架构图如下
PToken和NToken高危财产函数传递关系
yubo.eth 对权限有绝对的控制力,并在5个月前将前文提到的Safe多签钱包
0xe965198731CDdB2f06e91DD0CDff74b71e4b3714
设置为了Admin,PoolAdmin和AssetListingAdmin
yubo.eth将ACLManager 的 ADDRESSES_PROVIDER 更改为了多签且 PoolAdmin 设置为了 TimeLockExecutor
https://etherscan.io/tx/0xa511b88029ed090da4480504107a0f11e20758959b6b28ca983a134fc84e642c
Recap:
只要多签钱包
0xe965198731CDdB2f06e91DD0CDff74b71e4b3714
的4把私钥牢牢受 @yuboruan 和公司的控制,便可以保证用户的资产不会受到损失。
我会继续保持跟进此事进展。