Skip to content

Commit

Permalink
use functions instead of functions_derived to analyze inherited funct…
Browse files Browse the repository at this point in the history
…ions too
  • Loading branch information
0xalpharush committed Apr 21, 2022
1 parent fab8cd9 commit 438b529
Show file tree
Hide file tree
Showing 13 changed files with 720 additions and 699 deletions.
2 changes: 1 addition & 1 deletion slither/detectors/erc/erc20/arbitrary_send_erc20.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def permit_results(self) -> List[Node]:
return self._permit_results

def _detect_arbitrary_from(self, contract: Contract):
for f in contract.functions_declared:
for f in contract.functions:
all_high_level_calls = [
f_called[1].solidity_signature
for f_called in f.high_level_calls
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -237,19 +237,19 @@
"elements": [
{
"type": "function",
"name": "bad3",
"name": "bad4",
"source_mapping": {
"start": 1434,
"length": 122,
"start": 1702,
"length": 133,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false,
"lines": [
57,
58,
59
65,
66,
67
],
"starting_column": 5,
"ending_column": 6
Expand Down Expand Up @@ -333,42 +333,42 @@
"ending_column": 2
}
},
"signature": "bad3(address,address,uint256)"
"signature": "bad4(address,address,uint256)"
}
},
{
"type": "node",
"name": "erc20.safeTransferFrom(from,to,amount)",
"name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)",
"source_mapping": {
"start": 1509,
"length": 40,
"start": 1777,
"length": 51,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false,
"lines": [
58
66
],
"starting_column": 9,
"ending_column": 49
"ending_column": 60
},
"type_specific_fields": {
"parent": {
"type": "function",
"name": "bad3",
"name": "bad4",
"source_mapping": {
"start": 1434,
"length": 122,
"start": 1702,
"length": 133,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false,
"lines": [
57,
58,
59
65,
66,
67
],
"starting_column": 5,
"ending_column": 6
Expand Down Expand Up @@ -452,16 +452,16 @@
"ending_column": 2
}
},
"signature": "bad3(address,address,uint256)"
"signature": "bad4(address,address,uint256)"
}
}
}
}
],
"description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#58)\n",
"markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L58)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59",
"id": "e7271d3fa958d20a025419c070ea1010431487e98e30fa2db65db9bf54a13665",
"description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#66)\n",
"markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L66)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67",
"id": "b2557d6385585034271b9873559de9cde4972e3207c43f260663f3d0e2a4d4a0",
"check": "arbitrary-send-erc20",
"impact": "High",
"confidence": "High"
Expand All @@ -470,19 +470,19 @@
"elements": [
{
"type": "function",
"name": "bad4",
"name": "bad3",
"source_mapping": {
"start": 1702,
"length": 133,
"start": 1434,
"length": 122,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false,
"lines": [
65,
66,
67
57,
58,
59
],
"starting_column": 5,
"ending_column": 6
Expand Down Expand Up @@ -566,42 +566,42 @@
"ending_column": 2
}
},
"signature": "bad4(address,address,uint256)"
"signature": "bad3(address,address,uint256)"
}
},
{
"type": "node",
"name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)",
"name": "erc20.safeTransferFrom(from,to,amount)",
"source_mapping": {
"start": 1777,
"length": 51,
"start": 1509,
"length": 40,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false,
"lines": [
66
58
],
"starting_column": 9,
"ending_column": 60
"ending_column": 49
},
"type_specific_fields": {
"parent": {
"type": "function",
"name": "bad4",
"name": "bad3",
"source_mapping": {
"start": 1702,
"length": 133,
"start": 1434,
"length": 122,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false,
"lines": [
65,
66,
67
57,
58,
59
],
"starting_column": 5,
"ending_column": 6
Expand Down Expand Up @@ -685,16 +685,16 @@
"ending_column": 2
}
},
"signature": "bad4(address,address,uint256)"
"signature": "bad3(address,address,uint256)"
}
}
}
}
],
"description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#66)\n",
"markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L66)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67",
"id": "b2557d6385585034271b9873559de9cde4972e3207c43f260663f3d0e2a4d4a0",
"description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#58)\n",
"markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L58)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59",
"id": "e7271d3fa958d20a025419c070ea1010431487e98e30fa2db65db9bf54a13665",
"check": "arbitrary-send-erc20",
"impact": "High",
"confidence": "High"
Expand Down
Loading

0 comments on commit 438b529

Please sign in to comment.