Audits
Testimonials
Why Us
Blog
Contact
AUDIT CONTRACT NOW
REQUEST AUDIT
/
Menu
/
Back
From our Blog
A collection of our research and novel findings across the blockchain security space.
1inch
Aave
Angle
Arbitrum Foundation
Argent
Arrakis
Augur
Bancor
BlockV
BlockV / DualFoundation
Blockswap labs
Chronicle
Circle
Claystack
Compound
Conic
Coreledger
Curve
DAOStack
DeFi Money
Decentralized USD (USDD)
Digix
Divergence
Enso
Enzyme
Ethereal
Ethereum Foundation
Ethereum Name Service
Euler
Everstake
Fire Token
Frankencoin
Frax
Fuel Network
Fume Finance
Gearbox
Gelato
Grove
HOPRNet
HTX DAO
Hedgehog
HelloGold
Herodotus
Intmax
JustCrypto
K3 Capital
Keel
Kernel
Kuma
Kyber network
Layer Zero
Legend Labs
Lido
Liquity
M0
M^ZERO
MakerDao (Sky)
Makina Finance
Mangrove
Mellow
Mellow Protocol
Melonport
Mento
Mimo
Moebius
Morpho
Myso Finance
NFTfi
Neulock
Oasis
OffChain Labs
OpenEden
POA Network
Paxos
Pendle
PlusPlus
Polkadot
Polygon
Polymarket
Primitive Finance
Primitive Finance
Primitive Finance
Q
REN
Rarible
Ren
Ren Project
SSV Network
STK
Saffron Finance
Silo
Sky (MakerDAO)
Snapshot
SparkDAO
Spool
StakeDAO
StarknetID
Starkware
Steakhouse
Stokr
Solana
Privacy / Zero Knowledge (ZK)
Wrapper
System Contracts
Governance
DePin
ERC20
NFT / GameFi
Baselayers
Wallets / Account Abstraction
Oracles
RWA (Real World Assets)
TRON
Indexing
Starknet
Compilers
Options / Perps / Derivatives
Prediction Markets
Yield Aggregators / DeFi Asset Management
Staking / Restaking
DEX / AMM
Lending / Leverage
Stablecoins
Bridges
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Don't underestimate TON: how incorrect gas estimations lead to critical issues
TON is a novel blockchain that combines a complex fee system with asynchronous messages. We explore how fees are computed in TON and why their correct estimation is critical.
Don't Let Your Off-Chain Components Get Confused
Off-chain components like bridge relayers and keepers hold cryptographic keys that give them power. Attackers exploit the classic Confused Deputy Problem to trick these components into misusing that power. The article covers multiple attack vectors including: fake EVM events, manipulable ERC-20 balance conditions that trigger incorrect state transitions, and block re-organizations that persist despite Proof-of-Stake.
A Compound Proposal Decoder
To help the Compound community dig deeper and verify proposals independently, ChainSecurity has developed the Compound Proposal Decoder, an open-source CLI tool that fetches and better displays everything that’s happening inside a Compound proposal.
The Real Minimal Proxy - Powered by EIP-7702
For years, developers have relied on EIP-1167 minimal proxies to cut gas costs during contract deployments. In this blog article, we present a new approach that pushes past those established limits, using a powerful feature in the new EIP-7702.
Hex, Lies, and BigInts: Finding Critical Bugs in TypeScript Blockchain Code
Bugs in off-chain applications can lead to critical problems like Denial of Service that can be abused by attackers. Typescript is used in many cases. Learn about our experiences.
When Empty Means Valid: Exploiting MPT Proof Verification for an Alternative Truth
A severe flaw was discovered in a library for on-chain verification of Merkle-Patricia-Trie proofs. Protocols using it to bridge operations to L2s could be misled into accepting wrong state proofs, entailing direct loss of funds.
f(x) Protocol: Circumventing Access Control with a Double Flash Loan Attack
A critical vulnerability in the f(x) Protocol allowed attackers to exploit nested flash loans and bypass access controls, enabling them to steal collateral from any user's positions.
Java-Tron Limited Review
ChainSecurity completes a limited security review of Java-Tron, the Client running Tron.
EigenLayer Integration for developers and auditors
Although the protocol seems promising, it is a complex system with edge cases and details that need to be taken into account when integrating with EigenLayer. In this article, we will try to cover as many integration quirks as possible in order to help developers and auditors understand what can go wrong and why.
Merkle Mountain Range (MMR): the case of Herodotus
A Merkle Proof is a cryptographically authenticated data structure widely used to minimize on-chain data storage. For instance, a Merkle proof against a Merkle root can support airdrop claims from a smart contract. Similarly, a Merkle Patricia Trie proof can verify the existence of a key-value pair in Ethereum’s state Trie.
StarkNetID auto-renewal explainer
StarkNet ID recently launched a subscription feature for users. An auto-renewal contract has been implemented that facilitates the renewal of a user’s domain. This article explains the core functionality of this subscription feature, which we reviewed in our smart contract audit.
TSTORE Low Gas Reentrancy
In the upcoming Cancun hardfork, Ethereum will add a new exciting feature to its Ethereum Virtual Machine (EVM). Transient storage (EIP-1153) will be available to developers as a new data location for storing data with the lifespan of one transaction.
Circom assertions: misconceptions and deceptions
This article is not meant to explain the concepts of zero-knowledge or zk-SNARKs, a lot of amazing learning material can be found online. Its goal is to make programmers aware of the misuse Circom’s assert() statement.
Denial-of-Service Attacks In DeFi: The Balancer-Synthetix Case
How can a DeFi project’s entire liquidity become inaccessible in an instant? In this article, we explore a type of Denial-of-Service attack vector. Namely, Denial-of-service by affecting internal token balances. This particular vulnerability arises when a Balancer multi-token flash loan is taken out for tokens with double entry points.
How To Read Smart Contract Audit Reports
Having smart contracts audited is necessary if they are to serve a meaningful purpose. It is also essential that all stakeholders of a project read its audit report. This is so that the project and its security outlook is understood at a deeper level.
Heartbreaks & Curve LP Oracles
It’s easy to get tricked by lies and deception when you’re blinded by beauty. Taking off rose-colored glasses can be heartbreaking but getting them smashed on your face will be disastrous. Oracle manipulations are quite similar. They deceive you into not seeing the true value of something. Once you realize, the world around you is crumbling.
Curve LP Oracle Manipulation: Post Mortem
On April 14, we informed Curve and affected projects about a read-only reentrancy vulnerability in some Curve pools. More specifically, the value of function get_virtual_price can be manipulated by reentering it during the removal of liquidity.
Why is Oracle Manipulation after the Merge so cheap? Multi-Block MEV.
Proof of Stake is coming Ethereum’s Merge is coming soon™ and will be moving the network from PoW to PoS. This is a consensus layer change and will have relatively few effects on the application layer.
Beware of Undefined Behavior! — Underhanded Solidity Contest Winner 22
This year’s Underhanded Solidity Contest featured many great submissions highlighting quirks in Solidity which can bite developers and auditors. We are proud to be among excellent company as judges for this contest, and even more so that this year the submission of Tynan, one of our Blockchain Security Engineers, won the contest for abusing a little known quirk in Solidity.
TrueUSD ↔ Compound Vulnerability
TrueUSD (TUSD) is a stablecoin on the Ethereum blockchain. Until recently, it had multiple entry points, which could cause issues for various protocols. We discovered such an issue in our audit of the Compound cToken contract. The issue, with several millions at risk, has been mitigated by Compound and OpenZeppelin and a detailed write-up can be found here.
TotalSupply Inconsistency in ERC1155 NFT Tokens
On November 1st, 2021, we reported a vulnerability to OpenZeppelin in which the totalSupply can appear lower than it actually is for ERC1155 NFT tokens. This affects projects relying on totalSupply for calculations, e.g. when voting or determining market caps. All tokens utilizing the ERC1155Supply.sol extension prior to v4.3.2 are affected. The vulnerability was promptly fixed and publicly disclosed on November 12th.
Is DeFi worth the risk?
The skyrocketing prices of cryptocurrencies — including Bitcoin and Ethereum — are drawing increased attention to the cryptocurrency market. And, this in turn, becomes a catalyst for growth of projects on these underlying distributed ledger networks.
PolPatrol – Validator for Polkadot Runtimes
ChainSecurity is happy to release PolPatrol, an automated validator for testing the stability and security of Polkadot runtimes with respect to generic security and performance properties. Since Polkadot’s relay chain runtime lies at the core of the Polkadot network, the current version of PolPatrol focuses on ensuring that relay chain runtimes are secure and functionally correct.
Istanbul Hardfork EIPs – Changing Gas Costs and More
The Ethereum network will soon have its next hardfork called Istanbul. Many Ethereum Improvment Proposals (EIPs) were submitted to be included in that hardfork.
ChainSecurity joins the Capital Markets and Technology Association
We are pleased to announce that ChainSecurity has joined the Capital Markets and Technology Association (CMTA) whose members include well-known FinTech leaders such as Bank Vontobel, Mt Pelerin Group, and Taurus Group.
Next