QUADRIGA INITIATIVE
CRYPTO WATCHDOG & FRAUD RECOVERY PLATFORM
A COMMUNITY-BASED, NOT-FOR-PROFIT
$1 508 000 USD
JULY 2024
GLOBAL
BIFROST
DESCRIPTION OF EVENTS

"One Stake, Endless Opportunities. The Liquid Staking Standard for Any Chain."
"Bifrost is a Liquid Staking app-chain tailored for all blockchains, utilizing decentralized cross-chain interoperability to empower users to earn staking rewards and DeFi yields with flexibility, liquidity, and high security across multiple chains."
"Bifrost's solution vToken (liquid staking voucher Token) enables users to convert their PoS tokens into vTokens in order to obtain staking liquidity and staking rewards synchronously, without barriers in cross-chain scenarios."
"Mint vToken on Bifrost (equals stake through Bifrost), you can control your underlying staking assets during the locked period."
"Bifrost Staking protocols run under the Bifrost parachain pallets, earning staking rewards every era, without centralized risks."
"Bifrost SLP helps users to realize the possibility of early redemption by matching the real-time staking quantity with the redemption quantity at the protocol layer in the form of a queue. Theoretically, it can achieve faster redemption."
"Bifrost offers delegate staking for users by selecting a set of validators and rebalancing the rewards to give more profitable solutions. By holding vTokens, you will have chances to head into a world of yield scenarios."
"The easiest way to understand Bifrost is to see it as a derivative issuer that provides liquidity for all pledged assets, issuing corresponding shadow assets during the bonding period of the original assets. At the same time, the shadow asset is a fungible Token that can be circulated in different DEXs, pools, protocols and across chains."
"Due to the exploitation of the multi-signature script private key used for automatic replenishment of BNC transaction fees (the cause of the private key leak is still under investigation), the compromised key allowed the transfer of 100 BNC from the treasury each time it was triggered. A total of 6,631,252 BNC from the Bifrost treasury was transferred to a private address."
"After a thorough technical investigation, it was discovered that the leakage of a single private key resulted from the hacking of the script server. But the following 4 factors jointly led to the incident: The script is limited to replenishing a maximum of 100 BNC in fees per call, however there is no limit on the call frequency. Batch calls to the script will invalidate the 100 BNC limit. The transaction fee is supplemented by the Bifrost Treasury, which indirectly allows exploiter’s private key to access large amounts of BNC. The script requires 3/5 multi-party signatures to be called, but the signature content is not verified during the automated multi-signature, making the multi-signature useless. The script private key is stored in plain text on the server through the configuration file, which causes the private key to be leaked after the server is compromised."
"There are some points I want to clarify. The Bifrost treasury is decentralized and keyless, but it is programmable. It is not common for someone who seems to be very familiar with Bifrost to obtain the multi-signature private key of the script and exploit specific methods.
This type of script can only have specific permissions on the protocol's own assets, but here we do lack restrictions on the call frequency and call limit for this script, we need comprehensively reviewing various scripts and optimizing them."
"Throughout this process, Bifrost on-chain code and the security of its assets were unaffected. The Bifrost chain has undergone multiple rounds of audits and is secure, robust and battle-tested. For example, the SLP protocol is fully decentralized and keyless, so SLP has no connection with the incident here.
However, the security of the off-chain script code was overlooked, and the deployment process was not strictly monitored and controlled. Although the Bifrost Treasury is decentralized and has no private key, the lack of call limits restrictions on the script caused the Bifrost Treasury's own BNC to be threatened."
"A total of 6,631,252 BNC from the Bifrost treasury was transferred to a private address."
"During this process, 3,351,153 BNC have been successfully returned to the treasury through governance interception, and another 3,280,099 BNC have been exchanged for DOT or cross-chained."
6,631,252 BNC x 0.227351173 = 1507622.920658596 or 1508k
"Next, we will comprehensively review the security of relevant off-chain scripts and private keys to ensure the security of the protocol's own assets. All paused transfer/cross-chain features have now resumed normally."
"The $BNC that the exploiter moved to @MoonbeamNetwork is being processed for recovery to the @Bifrost treasury through https://moonbeam.polkassembly.network/referenda/62."
"As of now, the impact of this incident on the Bifrost treasury has been completely eliminated, and no new circulation of $BNC from this incident can enter the market."
3,351,153 BNC+ recovered x 0.227351173 = 761888.565452469 or 762k
"To compensate for this loss, the Bifrost core team has added 3,280,099 BNC self-held shares to the treasury. Currently, the Bifrost treasury has returned to its original holding level, holding a total of 22,888,508 BNC (Bifrost Kusama & Polkadot)."
"Finally, the Bifrost Treasury will use 10,000 DOT to buy back $BNC through Hydration DCA."
"We are still investigating and will pursue personal legal liability for the private theft key. It is worth emphasizing that this incident does not involve the security of Bifrost's on-chain assets and code."
"Therefore, we need to prevent such incidents from happening in the future in the following ways: Comprehensively review off-chain code, permissions, and interactions between off-chain and on-chain. As well as reduce off-chain services, and migrate logic to the chain where permitted, and re-audit permission constraints for off-chain services that cannot be removed. Avoid using addresses with large amounts of BNC, such as the Bifrost Treasury, as a source of automatic expenditure replenishment for fees, etc., and replenish through external addresses with lower balances and top-up mechanisms. The server's private key is encrypted and stored to prevent plain text transmission. The signature content is verified during automatic multi-signature to prevent ineffective multi-signature. Extend monitoring and alerting services to off-chain scripts"
The BiFrost protocol provides a way that stakable tokens can be converted into vToken assets, which are able to earn staking rewards while also being used continuously in different protocols. On July 6th, an individual was able to get ahold of a private key by compromising a server. This private key was intended to be part of a 3 of 5 multi-sig, however the signature was actually not validated properly. The key allowed a call for reimbursing up to 100 BNC in fees from the treasury, however there was no limit on the number of times this function could be called. Calling this function repeatedly allowed the attacker to drain 6.6m BNC to their own wallet. Roughly half of the funds (3,280,099 BNC) were able to be bridged to other blockchains before the attacker was caught and the remaining funds frozen. The Bifrost team have been chasing down the remaining funds and made efforts to reimburse everyone who was affected.
@0xLurpis Twitter (Jul 10)
@Bifrost Twitter (Jul 10)
https://bifrost.subscan.io/account/eCSrvbA5gGNYdM3UjBNxcBNBqGxtz3SEEfydKragtL4pJ4F (Jul 10)
https://bifrost-kusama.subscan.io/account/eCSrvbA5gGNYdM3UjBNxcBNBqGxtz3SEEfydKragtL4pJ4F (Jul 10)
Bifrost | The Liquid Staking Standard for Any Chain (Jul 10)
What is Bifrost | Bifrost Docs (Jul 10)
bifrost.io | Twitter | Linktree (Jul 10)
@Bifrost Twitter (Jul 10)
@0xLurpis Twitter (Jul 10)
Fix Bifrost Treasury BNC Reserve Proposal, Proposal 1: Temporarily disable xcBNC transfers on Moonbeam | Polkassembly (Jul 10)
https://moonbeam.subscan.io/account/0xf682B6D40CA93BdD14B2CBd843BFa4e8d3916a29 (Jul 10)
https://moonbeam.subscan.io/xcm_message/polkadot-97a5ee811889c4bda0ab17a1b7c8752ae0c4d3c8 (Jul 10)
Bifrost price today, BNC to USD live price, marketcap and chart | CoinMarketCap (Jul 10)
