crytic / crytic/slither

[Bug-Candidate]: Infinite loop in `SlitherCompilationUnitSolc._analyze_using_for`

Open
#2,757 0 comments 0 reactions 0 assignees View on GitHub
bug-candidate
Dominant language
Python
Stars
6.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

### Describe the issue:

While parsing https://etherscan.deth.net/address/0xb78d0db9cca422313a83eb368ca3d9f443433081 Slither falls info an infinite loop in `_analyze_using_for(...)`, repeatedly adding the same contract to `contracts_to_be_analyzed`.

### Code example to reproduce the issue:

```
$ slither 0xb78d0db9cca422313a83eb368ca3d9f443433081 --etherscan-apikey ...
```

### Version:

0.11.3

### Relevant log output:

```shell

```

Contributor guide

Open the contributing guide

Research direction

Run the reported Slither command against the Etherscan address using version 0.11.3, then inspect SlitherCompilationUnitSolc._analyze_using_for and the contracts_to_be_analyzed behavior. Confirm the repeated contract additions and verify that analysis terminates without entering an infinite loop.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, solidity
Domain
security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.