Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.7.0 #157

Merged
merged 71 commits into from
May 7, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
c894abe
Initialized balancer detector
Oct 18, 2023
63f413a
working version
Yhtiyar Oct 19, 2023
3bd7b04
updated severity
Yhtiyar Oct 19, 2023
e33037a
fixed docs
Yhtiyar Oct 19, 2023
e3a0cf9
output_result_typo
Oct 19, 2023
18ac522
Merge branch 'master' into detector_balancer
Yhtiyar Oct 19, 2023
ebf96ae
Merge branch 'detector_balancer' of github.com:pessimistic-io/custom_…
Yhtiyar Oct 19, 2023
13ef10d
bench updates&workflow google sheet upload
nikolay19 Feb 12, 2024
67a88c5
bench 8000 contracts limit
nikolay19 Feb 12, 2024
417e866
Update benchmark.yml
nikolay19 Feb 13, 2024
98921ea
workflow for old version bench
nikolay19 Feb 15, 2024
318605c
Merge pull request #130 from pessimistic-io/submodule_benchmark
nikolay19 Feb 15, 2024
94218f1
Update old_version.yml
nikolay19 Feb 15, 2024
53ef547
bench updates
nikolay19 Feb 15, 2024
dc6210d
Update benchmark.yml
nikolay19 Feb 15, 2024
32b4e0c
Create benchmark_old.yml
nikolay19 Feb 19, 2024
60487a9
Merge pull request #136 from pessimistic-io/nikolay19-patch-1
nikolay19 Feb 19, 2024
ae60974
Merge branch 'develop' of https://github.com/pessimistic-io/slitherin…
nikolay19 Feb 19, 2024
e1cb898
remove action
nikolay19 Feb 19, 2024
115cd26
add napalm integration
JoranHonig Feb 22, 2024
f4f0c5a
removed arbitrum solidity version detector
Yhtiyar Feb 26, 2024
b4ba7f3
bench updates
nikolay19 Feb 26, 2024
a9e7635
Merge branch 'benchmark_updates' of https://github.com/pessimistic-io…
nikolay19 Feb 26, 2024
53038d9
Merge pull request #140 from pessimistic-io/remove-arbsol-verion
Yhtiyar Feb 28, 2024
2fe2cb3
Merge pull request #133 from pessimistic-io/benchmark_updates
nikolay19 Feb 28, 2024
21a5ea6
added detector
Yhtiyar Mar 4, 2024
5b3a52c
tets for arb-chainlink detector
Yhtiyar Mar 4, 2024
f5769a3
docs for arb-chainlink detector
Yhtiyar Mar 4, 2024
e8e79e8
Merge branch 'develop' into chainlink-arbitrum
Yhtiyar Mar 4, 2024
b4eafaa
removing uniswap v3 folder, as it was accidentally added
Yhtiyar Mar 4, 2024
fea92e4
added curve readonly detector
Yhtiyar Mar 5, 2024
5f5555a
added docs for curve detector
Yhtiyar Mar 6, 2024
06d3ed8
Merge pull request #141 from pessimistic-io/chainlink-arbitrum
ndkirillov Mar 7, 2024
b13e34a
Merge pull request #142 from pessimistic-io/curve-readonly-reentrancy
ndkirillov Mar 7, 2024
709548a
PR&slither version to sheet
nikolay19 Mar 7, 2024
597794c
Merge pull request #144 from pessimistic-io/benchmark_updates
nikolay19 Mar 8, 2024
6bd5782
add erc1155 support
olegggatttor Feb 12, 2024
982b7ff
add SafeERC20 support
olegggatttor Feb 12, 2024
ada5f71
Merge branch 'develop' into detector_balancer
Mar 22, 2024
c1b067d
corrected_readme
Mar 22, 2024
a01fdbc
readme_from_master
Mar 22, 2024
fb08e52
replaced_balancer_detector
Mar 22, 2024
d613692
add_init_balancer
Mar 22, 2024
bee7127
package_name update
Mar 22, 2024
52aa8ec
updated_detectors_table
Mar 22, 2024
6bf933f
Merge pull request #146 from pessimistic-io/nft_approve_support_erc1155
ndkirillov Apr 9, 2024
539e746
remove relative imports
JoranHonig Feb 22, 2024
76d0afa
update napalm entry point to restrict inclusions
JoranHonig Feb 22, 2024
f9c8ac5
revert undesired changes to setup
JoranHonig Feb 22, 2024
3581c9a
removed arbitrum solidity version detector
Yhtiyar Feb 26, 2024
1d10755
Merge pull request #150 from pessimistic-io/master
olegggatttor Apr 12, 2024
d9a684c
add recursive check for base constructors | strange setter
olegggatttor Apr 12, 2024
93f49f2
typo
olegggatttor Apr 12, 2024
a2862f3
fix: PotentialArithmOverflow detector fail
shortdoom Apr 12, 2024
3870d21
fix starge setter fail on new contract creations
olegggatttor Apr 12, 2024
49a7ef6
Merge pull request #153 from shortdoom/fix-detector-fail-develop
olegggatttor Apr 15, 2024
fdec81b
add vyper version detector
olegggatttor Apr 16, 2024
7669e67
add file
olegggatttor Apr 16, 2024
9650c18
rm comment
olegggatttor Apr 16, 2024
9028442
add detector
olegggatttor Apr 16, 2024
a96c304
add native support
olegggatttor Apr 16, 2024
1c6881f
update bench submodule in branch
nikolay19 Apr 18, 2024
9a6c889
Merge pull request #152 from pessimistic-io/147-strange-setter-detect…
ndkirillov Apr 18, 2024
c476f26
Merge pull request #155 from pessimistic-io/price_manipulation_detector
ndkirillov Apr 18, 2024
9cf2a55
Merge branch 'develop' into curve-vyper-version-detector
ndkirillov Apr 18, 2024
95c35b5
Merge pull request #154 from pessimistic-io/curve-vyper-version-detector
ndkirillov Apr 18, 2024
d37342a
Merge branch 'develop' into detector_balancer
olegggatttor Apr 18, 2024
da6ca8c
add comma
olegggatttor Apr 18, 2024
91562ba
Merge pull request #91 from pessimistic-io/detector_balancer
olegggatttor Apr 18, 2024
2d386c8
Merge pull request #139 from JoranHonig/master
ndkirillov May 6, 2024
8659ab2
version update
May 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add recursive check for base constructors | strange setter
  • Loading branch information
olegggatttor committed Apr 12, 2024
commit d9a684c606e4fb66d95c9e4eeafb4f5784d4d835
10 changes: 9 additions & 1 deletion slitherin/detectors/strange_setter.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification
from slither.core.declarations import Function
import slither.core.expressions.new_array as na
from slither.analyses.data_dependency.data_dependency import is_dependent


class StrangeSetter(AbstractDetector):
Expand Down Expand Up @@ -54,11 +55,18 @@ def _is_strange_setter(self, fun: Function) -> bool:
for arg in [*external.arguments, external._called._expression]:
if str(arg) == str(param):
used_params.add(param)
if fun.name == "constructor":
for base_call in fun.explicit_base_constructor_calls:
if not self._is_strange_constructor(base_call):
for param_cur in fun.parameters:
for param_base in base_call.parameters:
if is_dependent(param_base, param_cur, base_call):
used_params.add(param_cur)
intersection_len = len(set(fun.parameters) & used_params)
return intersection_len != len(fun.parameters)

def _is_strange_constructor(self, fun: Function) -> bool:
"""Checks if constructor sets nothing"""
"""Checks if constructor setqs nothing"""
return self._is_strange_setter(fun)

def _detect(self) -> List[Output]:
Expand Down
4 changes: 4 additions & 0 deletions tests/strange_setter_test.sol
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,7 @@ contract OkConstructor {
init = true;
}
}

contract TestInheritance is StrangeSetter{
constructor(uint256 _toSet) StrangeSetter(_toSet) {}
}
Loading