This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Read-Only Reentrancy Vulnerability Scanner

Security · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — nothing to install.
CategorySecurity
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Read-Only Reentrancy Vulnerability Scanner helps developers and auditors detect a subtle but dangerous class of reentrancy that affects view and pure functions. Unlike traditional reentrancy that modifies state, read-only reentrancy occurs when a view function makes an external call that re-enters the contract and changes state before the view function completes its read. This can lead to stale or manipulated data being returned, which may break price oracles, governance checks, or access control decisions. The scanner analyzes your contract source to identify view/pure functions that combine external calls with state reads, flagging potential read-only reentrancy vectors.

HOW TO USE

Paste your Solidity contract source into the input area. Click "scan for read-only reentrancy". The tool analyzes each view and pure function, looking for external calls (call, delegatecall, staticcall) followed by state reads (mapping lookups, balance checks, msg/block access). Results are categorized by severity: Critical (state read after external call), High (external call with state reads), Medium (cross-function calls or require after external call), or Low/None. Each finding includes a description and recommendation for remediation. Use this to audit your view functions before deployment or during code review.

THE REAL MECHANISM

The scanner parses the contract source line by line to extract function definitions, bodies, and visibility modifiers. It distinguishes view/pure functions from state‑modifying ones. For each view function, it checks for external calls using patterns like .call(), .delegatecall(), and .staticcall(). It then tracks whether the function reads state after the external call — using heuristics like mapping lookups (balances[user]), balance checks (.balance), and global variables (msg.sender, block.timestamp). If state reads occur after an external call, the scanner flags a critical finding. It also detects cross‑function calls within the same contract and requires after external calls, which may indicate conditional reentrancy vectors. All analysis is static and does not execute the code.

WHAT IT CANNOT SEE

The tool cannot detect all read‑only reentrancy paths, determine if read‑only reentrancy is exploitable without full execution, handle complex cross‑contract read‑only reentrancy, detect read‑only reentrancy through delegatecall (which changes the execution context), verify that view/pure functions are safe, or detect read‑only reentrancy that depends on block context or transaction ordering. The analysis is heuristic — it may produce false positives or miss subtle vulnerabilities. Always combine with manual code review and dynamic testing.

PLEASE NOTE — EVM CHAINS ONLY

This tool is designed for Solidity contracts on Ethereum Virtual Machine (EVM) compatible chains. It relies on EVM‑specific patterns and semantics. All processing occurs in your browser; no contract data is stored or transmitted.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.