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
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

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly
Security Insights

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly

This BlockSec weekly security report covers eight attack incidents detected between April 20 and April 26, 2026, across Ethereum, Avalanche, Sui, Base, HyperLiquid, and MegaETH, with total estimated losses of approximately $7.04M. The highlighted incident is the $1.3M GiddyDefi exploit, where the attacker did not break any cryptography or use a flash loan but simply replayed an existing on-chain EIP-712 signature with the unsigned `aggregator` and `fromToken` fields swapped out for a malicious contract, demonstrating how partial signature coverage turns any historical signature into a generic permit. Other incidents include a $3.5M Volo Vault operator key compromise on Sui, a $1.5M Purrlend privileged-role takeover, a $413K SingularityFinance oracle misconfiguration, a $142.7K Scallop cross-pool index injection, a $72.35K Kipseli Router decimal mismatch, a $50.7K REVLoans (Juicebox) accounting pollution, and a $64K Custom Rebalancer arbitrary-call exploit.

Weekly Web3 Security Incident Roundup | Apr 13 – Apr 19, 2026
Security Insights

Weekly Web3 Security Incident Roundup | Apr 13 – Apr 19, 2026

This BlockSec weekly security report covers four attack incidents detected between April 13 and April 19, 2026, across multiple chains such as Ethereum, Unichain, Arbitrum, and NEAR, with total estimated losses of approximately $310M. The highlighted incident is the $290M KelpDAO rsETH bridge exploit, where an attacker poisoned the RPC infrastructure of the sole LayerZero DVN to fabricate a cross-chain message, triggering a cascading WETH freeze across five chains and an Arbitrum Security Council forced state transition that raises questions about the actual trust boundaries of decentralized systems. Other incidents include a $242K MMR proof forgery on Hyperbridge, a $1.5M signed integer abuse on Dango, and an $18.4M circular swap path exploit on Rhea Finance's Burrowland protocol.