Back to Blog

#7: ParaSpace-Zwischenfall: Wettlauf gegen die Zeit, um den kritischsten Angriff der Branche abzuwehren

February 17, 2024
4 min read

Hintergrund

Am 17. März 2023 erlitt Paraspace (jetzt Parallel Finance), eine NFT-Kreditplattform, einen kritischen Angriff aufgrund einer Schwachstelle in seinem Preisorakel. Paraspace ermöglicht es Benutzern, NFTs und ERC-20-Token als Sicherheit zu hinterlegen, um ERC-20-Token zu leihen, was Renditen auf NFTs ohne deren Verkauf ermöglicht.

Klicken Sie hier, um den Tweet zu lesen
Klicken Sie hier, um den Tweet zu lesen

Ein Hauptmerkmal von ParaSpace ist ApeStaking, das APE-Belohnungen automatisch kompoundiert. Benutzer, die APE staken, erhalten cAPE-Token, eine cToken-Darstellung von APE, die als Sicherheit zur Aufnahme von Vermögenswerten wie USDC und WETH verwendet werden kann. Die Einzahlung von cAPE-Token gewährt pcAPE-Anteile, deren Sicherheitenwert durch Multiplikation des pcAPE-Betrags mit seinem Rebasierungsindex berechnet wird.

Der Rebasierungsindex leitet sich aus dem gesamten gepoolten APE-Saldo und den gesamten Anteilen ab, wie in den folgenden Code-Schnipseln gezeigt:

function _scaledBalanceOf(address user, uint256 rebasingIndex)
    internal
    view
    returns (uint256)
{
    return super.scaledBalanceOf(user).rayMul(rebasingIndex);
}

function lastRebasingIndex() internal view override returns (uint256) {
  return ICApe(_underlyingAsset).getPooledApeByShares(WadRayMath.RAY);
}

function getPooledApeByShares(uint256 sharesAmount)
    public
    view
    returns (uint256)
{
    uint256 totalShares = _getTotalShares();
    if (totalShares == 0) {
        return 0;
    } else {
        return
            sharesAmount.mul(_getTotalPooledApeBalance()).div(totalShares);
    }
}

function _getTotalPooledApeBalance()
    internal
    view
    override
    returns (uint256)
{
    (uint256 stakedAmount, ) = apeStaking.addressPosition(address(this));
    uint256 rewardAmount = apeStaking.pendingRewards(
        APE_COIN_POOL_ID,
        address(this),
        0
    );
    return stakedAmount + rewardAmount + bufferBalance;
}

Die Funktion _getTotalPooledApeBalance() summiert die gestakten APE-Token, ausstehenden Belohnungen und einen Puffer-Saldo aus dem ApeCoinStaking-Vertrag.

Schwachstellenanalyse

Die Schwachstelle liegt in der Manipulation des rebasingIndex, der den Sicherheitenwert von cAPE-Token künstlich aufbläht. Insbesondere erhöht die Funktion depositApeCoin() im ApeCoinStaking-Vertrag den stakedAmount für eine Position. Ein Angreifer kann dies ausnutzen, indem er APE-Token in die cAPE-Position einzahlt, was die Ausgabe von _getTotalPooledApeBalance() und damit den rebasingIndex aufbläht.

function depositApeCoin(uint256 _amount, address _recipient) public {
    if (_amount < MIN_DEPOSIT) revert DepositMoreThanOneAPE();
    updatePool(APECOIN_POOL_ID);

    Position storage position = addressPosition[_recipient];
    _deposit(APECOIN_POOL_ID, position, _amount);

    apeCoin.transferFrom(msg.sender, address(this), _amount);

    emit Deposit(msg.sender, _amount, _recipient);
}

function _deposit(uint256 _poolId, Position storage _position, uint256 _amount) private {
  Pool storage pool = pools[_poolId];
  _position.stakedAmount += _amount;
  pool.stakedAmount += _amount.toUint96();
  _position.rewardsDebt += (_amount * pool.accumulatedRewardsPerShare).toInt256();
}

Dieser Designfehler ermöglicht es dem Angreifer, den Sicherheitenwert durch die Einzahlung von APE-Token über depositApeCoin() mit cAPE als Empfänger aufzublähen.

Angriffsanalyse

Der Angreifer nutzte diese Schwachstelle mit einem Flash-Loan-Angriff in fünf Hauptschritten aus:

  1. Erhielt einen Flash-Loan von etwa 47.352 wstETH und lieferte etwa 46.018 wstETH, um über mehrere Verträge cAPE zu leihen.
  2. Hinterlegte rund 12.880.000 cAPE-Token als Sicherheit.
  3. Tauschte ungefähr 1.205 wstETH gegen etwa 492.124 APE-Token und zog 1.839.999 cAPE in APE-Token ab.
  4. Hinterlegte 2.332.214 APE-Token in der cAPE-Position, indem er ApeCoinStaking.depositApeCoin() aufrief, was den stakedAmount des Protokolls von 851.662 auf 3.183.876 erhöhte (eine Steigerung von 373 %).
  5. Nutzte die aufgeblähte Sicherheit, um große Mengen an Vermögenswerten wie USDC und WETH zum Profit zu leihen.

Diese Manipulation des pcAPE-Preises über Flash-Loans nutzte die Verwendung von Spot-Preisen in der Orakelberechnung aus.

Erste Schritte mit Phalcon Security

Erkenne jede Bedrohung, warne, was wichtig ist, und blockiere Angriffe.

Jetzt kostenlos testen

Zusammenfassung

Der Vorfall bei ParaSpace unterstreicht die Risiken von Orakelmanipulationen und Flash-Loan-Angriffen in DeFi-Protokollen. Er hebt die kritische Notwendigkeit robuster, manipulationsresistenter Preisorakel und kontinuierlicher Sicherheitsüberwachung über Audits vor dem Start hinaus hervor.

BlockSecs Phalcon Security System demonstrierte den Wert der aktiven Bedrohungserkennung und -prävention, indem es den Angriff automatisch blockierte und Benutzervermögen schützte. Dieser Vorfall dient als Erinnerung für DeFi-Protokolle, umfassende Sicherheitsmaßnahmen zu implementieren, einschließlich Smart Contract Audits, Infrastruktur-Audits und Echtzeitüberwachung.

Weitere Einblicke in DeFi-Sicherheitsvorfälle und Best Practices finden Sie in unserer Security Incident Library und erwägen Sie unsere Dienstleistungen für Smart Contract Audit und Infrastructure Audit.

Erkunden Sie MetaSleuth Investigation

Verfolgen Sie Flüsse und sammeln Sie Beweise für Ermittlungen

Jetzt kostenlos testen

Lesen Sie weitere Artikel in dieser Serie:

Bester Sicherheitsauditor für Web3

Validieren Sie Design, Code und Geschäftslogik vor dem Start

Sign up for the latest updates
~$4.72M Lost: TAC, Transit Finance & More | BlockSec Weekly
Security Insights

~$4.72M Lost: TAC, Transit Finance & More | BlockSec Weekly

This BlockSec weekly security report covers 3 notable attack incidents identified between May 11 and May 17, 2026, across TRON, TON, and Ethereum, with total estimated losses of approximately $4.72M. Three incidents are analyzed in detail: the highlighted $1.88M Transit Finance exploit on TRON, where a deprecated swap bridge contract with lingering token approvals was exploited through arbitrary calldata forwarding; the $2.8M TAC TON-to-EVM bridge exploit caused by missing canonical wallet verification in the jetton deposit flow; and the $46.75K Boost Hook exploit on Ethereum, where spot price manipulation on a Uniswap V4 hook-based perpetual protocol forced the protocol to buy tokens at inflated prices using its own reserves.

~$15.9M Lost: Trusted Volumes, Wasabi & More | BlockSec Weekly
Security Insights

~$15.9M Lost: Trusted Volumes, Wasabi & More | BlockSec Weekly

This BlockSec bi-weekly security report covers 11 notable attack incidents identified between April 27 and May 10, 2026, across Sui, Ethereum, BNB Chain, Base, Blast, and Berachain, with total estimated losses of approximately $15.9M. Three incidents are analyzed in detail: the highlighted $1.14M Aftermath Finance exploit on Sui, where a signed/unsigned semantic mismatch in the builder-fee validation allowed an attacker to inject a negative fee that was converted into positive collateral during settlement; the $5.87M Trusted Volumes RFQ authorization mismatch on Ethereum; and the $5.7M Wasabi Protocol infrastructure-to-contract-control compromise across multiple EVM chains.

Newsletter - April 2026
Security Insights

Newsletter - April 2026

In April 2026, the DeFi ecosystem experienced three major security incidents. KelpDAO lost ~$290M due to an insecure 1-of-1 DVN bridge configuration exploited via RPC infrastructure compromise, Drift Protocol suffered ~$285M from a multisig governance takeover leveraging Solana's durable nonce mechanism, and Rhea Finance incurred ~$18.4M following a business logic flaw in its margin-trading module that allowed circular swap path manipulatio