Sentiment Hack

TOTAL LOST $1.0M
Medium Flashloan Reentrancy Attack / Reentrancy arbitrum

Summarize with AI

Affected Chain arbitrum Incident surface
Recovered $863K 86.3% returned
All-Time Rank #833 By amount stolen
Auditors 4 Prior security audits

Incident Overview

Sentiment was exploited through a view re-entrancy Balancer bug, resulting in the loss of 968,279 $USD.

Sentiment is a Borrowing and Lending protocol running on the Arbitrum chain. The attacker used a view re-entrancy Balancer bug to execute malicious code before pool balances were updated and steal money using overpriced collateral. The attack involved several steps:

1. Attacker took a flashloan.

2. Attacker significantly changed rates.

3. Attacker called "exitPool" function and executed hack when balancer sent assets to its contract.

4. Sentiment contracts were called before PoolBalancesChanged emitted by balancer smart contract.

5. Hacker could manipulate these values to overprice their collateral and then borrow and withdraw sentiment pool assets.

The exact amount lost due to this exploit reached 968,279 $USD in total, including 538,399 $USDC, 360,000 $USDT, 0.51 $WBTC and 29.97 $WETH.

Attacker address:

https://etherscan.io/address/0xdd0cDb4c…2e49C3

Malicious transaction:

https://etherscan.io/tx/0xa9ff2b58…e0f74d

Incident Report

Protocol / Project Sentiment
Date of Incident
Affected Chain(s) arbitrum
Attack Technique Flashloan Reentrancy Attack / Reentrancy
Classification Ecosystem / Borrowing and Lending
Primary Source View Post-Mortem

Protocol Information

Protocol Type Lending
Smart Contract Language Solidity
Official Website www.sentiment.xyz
Protocol Twitter/X @sentimentxyz
Team Anonymous
Source Code Verified On-Chain

Market Context at Time of Hack

Token Categories
AI & Big Data Ethereum Ecosystem Hashkey Capital Portfolio Pantera Capital Portfolio Spartan Group Binance Ecosystem Binance Listing

What the Attacker Needed to Succeed

Understanding the prerequisites for this type of attack helps auditors identify protocols that are most at risk and helps developers build better defenses.

Technical Knowledge Deep understanding of flashloan reentrancy attack / reentrancy and Solidity and EVM internals
Capital Required Seed capital to cover gas and initial position setup
On-Chain Access Ability to interact with arbitrum smart contracts and deploy a custom exploit contract
Protocol Analysis Identification of the exploitable vulnerability in Sentiment's contract logic - root cause: ecosystem / borrowing and lending
Execution Speed Precise transaction ordering and timing to exploit the vulnerability within a single atomic block
Obfuscation Plan A strategy to launder and move stolen funds - typically through mixers, cross-chain bridges, or decentralized DEX swaps to resist tracing

What Auditors Should Check

Could this have been caught in audit? Yes — skilled auditors routinely flag Flashloan Reentrancy Attack / Reentrancy vulnerabilities in code review
Audited by Audit Report 1, Audit Report 2, Audit Report 3, Audit Report 4 — still lost $1.0M. Prior audits don't guarantee safety, especially after post-audit code changes.

If you're auditing a protocol with similar architecture to Sentiment, these are the critical security checks that could have prevented this incident (April 2023).

  • Verify all logic paths related to Flashloan Reentrancy Attack / Reentrancy are guarded by proper access controls and input validation - see the Flash Loans Attacks attack class for patterns
  • Check that all state-changing functions follow the Checks-Effects-Interactions (CEI) pattern to prevent reentrancy and logic ordering bugs
  • Review privileged functions (owner, admin, governance) for potential abuse vectors - centralization risks should be documented and bounded with timelocks or multi-sigs

Master these auditing techniques with hands-on labs and real exploit scenarios in the Smart Contract Hacking course.

Free Trial

Funds Recovery

86.3%

Recovered

$863K

Net Loss

137000

Security Audit History

Post-Incident Timeline

  • 2023-04-05

    The Sentiment Team sent on-chain message, declaring 95,000 $USD bug bounty and 'asking' to return the rest of the funds. The attacker followed the statement, and returned roughly 90% of the stolen amount as 465.75 $ETH. The rest of the funds were transferred through TornadoCash. Returning transactions: https://etherscan.io/tx/0xe1d23500645cc42503235d9f5480c7a1e8b5667248d091df1883c053c7ab7580 https://etherscan.io/tx/0xa9ccdbd14ae7708248f0719d7e985bef7a9fa1084ab38b08a7870c5abec9b6ca https://etherscan.io/tx/0xc84e526fa5f90ee723bc7db2c1c975b7cedc1262f42f4806346f308b6c623e56 On-chain message: https://etherscan.io/tx/0x464c4d204a63c251033791ae631a435be3133301a9675fcd9cc0f6a383d432a1

Related Attack Classes

The technique used in this hack maps to these vulnerability classes in our security curriculum:

See all Flash Loans Attacks examples →

Proof-of-Concept Exploits

1 PoC available
poc-exploits - sentiment

Sources & References

Learn to Prevent the Next Sentiment

The Sentiment hack is one of many attacks that skilled auditors are trained to detect before deployment. Master real exploit patterns and defense techniques with hands-on Web3 security training.

Recreate exploit patterns safely Free Trial