91388de | feliam | 31 August 2018, 21:09:53 UTC | Merge master: | 31 August 2018, 21:09:53 UTC |
1907968 | feliam | 31 August 2018, 20:42:02 UTC | Sha3 rework and performance enhancements (#1031) * DAO detector + bugfixes * The actual benchmark tests * The actual benchmark tests * CC * Experiment reporting the finding at a JUMPI * Fix taint. Detect returned overflowded data * DAO -> Reentrancy * DAO -> reentrancy, C -> Benchmark * DAO -> reentrancy, C -> Benchmark * Allow function names to have numbers * Fix contract names in benchmark * Fix contract names in benchmark * Move default plugin registration * Better regexp * Fix minimal_bytecode example * Fix Array Slice and test * add tests * correct other bug * implement bytesM * BROKEN partial progress * need bytearray here * rm cmt * add basic tests for bytesM and bytes symbolic * correct bytes symbolic test * Refactor, clean bytesM handling * Add initial symbolic 'bytes' handling * refactor tests * Unify symbolic/concrete bytes handling in bytesM/bytes * Rm import * Rm debug assert * cc * Visitor/migrate/simplify fixes to make the seth refactor pass * Fix concolic? * Fix concolic? * CC * bytesM fix * Fix address and caller concretization on symb tx * Fix/refactor symbolic address/caller concretization * Fix caller concretization * Fix expression visiting * Fix account policy refactor * Accept numbers in function names abitypes * Simplify installation instructions to recommend install manticore only for the current user * Run some tests in parallel (#970) This PR splits the current test runner into three environments: 1. Linux examples 2. Ethereum tests 3. Remaining tests to faster complete each testing run. Ethereum tests include a number of integration tests that execute scripts to completion, which takes a while. We run them concurrently with other tests to save on execution time. The split is done by naming Ethereum tests differently (`eth_*.py` vs `test_*.py`) and updating what pattern unittest's `discover` uses. This change also updates the installation script and chooses to forego installing Keystone for EVM tests as it takes a while, and it adds a `setup.cfg` config file so that Nose finds the eth tests as well by default. * Be less verbose when testing * Fix slicing wrongly reference to proxyArray. Fix #912 * Only export human/external tx in the testcase (#972) * Make ManticoreEVM.make_symbolic_value size adjustable (#974) * Make size adjustable * Default to 256 * Dev evm yolo fix gas (#975) * Fix gas stipend on CALL and check dao * Add order dependence 1 * Going linter. Report/Detect that thing when code does not check returned value * cleaner example of fail * Update retval_crazy.sol * new solc for travis * CC * Remove duplicated ReentrancyDetector * POrt to py3 * POrt to py3 * P0rt to py3 * CC * Be mega forgiving on global expression usage - EVM * Tests doc * Refactor new_bitvector api * function id to binary * Fix neW_bool * CC * rename avoid_collisions collision * rename avoid_collisions collision * migrate on state.constraint too.. * Migration bugfixes * CC bugfixes * invalid assert removed * move rep code to method * unittets fixes and CC * CC * Refactor result_ref out in favor of change_last_result() * CC * reviewing the codes * CC * Change variable names * typo * Basic refactors and output enhancements * Some minid docstrings and a unittest * Some mini docstrings and a unittest * Add migration integration testion * Keep fuzz-refactoring it * CC * Bugfixfixfixfix * CC * re refactor mig algorithm * better cleaner stronger. (reviewing) * CC * Small refactor and Fix strange strcmp test. * CC * funtion selector abinary * bugfix.. waiting for migreation PR * convenient tx abi parsing func * convenient tx abi parsing func * convenient tx abi parsing func * convenient tx abi parsing func * re re refactor for readability * CC * rev * CC * forgoten var * CC * CC * review * typo * CC * review * Adding single example to sha3 trick when there are not know examples * CC * review * CC * Forgotten rollback * CC | 31 August 2018, 20:42:02 UTC |
3d937ae | Mark Mossberg | 31 August 2018, 19:38:03 UTC | Add env instruction detector to cli (#1105) | 31 August 2018, 19:38:03 UTC |
4eccdc0 | feliam | 31 August 2018, 18:14:04 UTC | cleanups | 31 August 2018, 18:14:04 UTC |
2ee0942 | feliam | 31 August 2018, 18:07:56 UTC | cleanups | 31 August 2018, 18:07:56 UTC |
3576ee4 | feliam | 31 August 2018, 18:03:24 UTC | make gas budget configurable by user | 31 August 2018, 18:03:24 UTC |
09f3719 | feliam | 31 August 2018, 17:33:34 UTC | cleanups | 31 August 2018, 17:33:34 UTC |
ebc33ef | feliam | 31 August 2018, 17:29:13 UTC | Merge all in | 31 August 2018, 17:29:13 UTC |
511b4e4 | feliam | 31 August 2018, 17:20:08 UTC | about to merge sha3 | 31 August 2018, 17:20:08 UTC |
1878f58 | feliam | 31 August 2018, 17:17:25 UTC | CC | 31 August 2018, 17:17:25 UTC |
4b553ef | feliam | 31 August 2018, 14:10:24 UTC | Merge branch 'dev-evm-perf01' of github.com:trailofbits/manticore into dev-evm-perf01 | 31 August 2018, 14:10:24 UTC |
5bc1b36 | feliam | 31 August 2018, 14:09:29 UTC | review | 31 August 2018, 14:09:29 UTC |
cf72c12 | Mark Mossberg | 31 August 2018, 13:23:31 UTC | eth: new/alternative reentrancy detector (#1082) * initial second one * update * polish * correct * Correctly check gas * Record gas constraint and save in finding * simplify logic * Check if destination is a contract * Revert "Check if destination is a contract" 901be37ce6e49bff455db52c71d5cf17c5b0a3d4 * better context key * Be lenient with Constants * Add new simpler/less input required reentrancy detector, use in the cli * Fix bad merge import * Fix import * Add final missing import | 31 August 2018, 13:23:31 UTC |
1c14514 | feliam | 30 August 2018, 20:43:04 UTC | Merge branch 'master' into dev-evm-perf01 | 30 August 2018, 20:43:04 UTC |
55c1ede | feliam | 30 August 2018, 20:37:53 UTC | Detection of environmental and potentially manipulable instruction/data (#1096) * unittest * CC * import fix * typo * forgotten test | 30 August 2018, 20:37:53 UTC |
4fbf273 | Mark Mossberg | 29 August 2018, 22:58:59 UTC | Add detector for plain external call (#1087) * initial refactor etherleak to also do general external call * refactor * Update users * Update tests * Update * Fix tests * Don't use signed operator, check != 0 * Record constraint * Record constraint * Use did_evm_execute So we don't falsely report if the CALL were to fail * Revert "Use did_evm_execute" 96a84f266d234667376ce6ad005d8190aba1a863 | 29 August 2018, 22:58:59 UTC |
ace6142 | feliam | 29 August 2018, 19:12:58 UTC | CC | 29 August 2018, 19:12:58 UTC |
af19eb6 | feliam | 29 August 2018, 15:36:00 UTC | Adding single example to sha3 trick when there are not know examples | 29 August 2018, 15:36:00 UTC |
41bfe09 | feliam | 29 August 2018, 15:19:21 UTC | merge | 29 August 2018, 15:19:21 UTC |
258ee39 | feliam | 29 August 2018, 00:43:57 UTC | review | 29 August 2018, 00:43:57 UTC |
70be698 | feliam | 29 August 2018, 00:27:17 UTC | Add check in constraints.add | 29 August 2018, 00:27:17 UTC |
78589ad | feliam | 28 August 2018, 22:17:33 UTC | remove debug print | 28 August 2018, 22:17:33 UTC |
a8457b0 | feliam | 28 August 2018, 19:36:42 UTC | merge | 28 August 2018, 19:36:42 UTC |
6b851d8 | feliam | 28 August 2018, 19:29:25 UTC | merge and typo | 28 August 2018, 19:29:25 UTC |
15b2257 | Yan Ivnitskiy | 28 August 2018, 18:56:44 UTC | Update the README (#1064) <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/trailofbits/manticore/1064) <!-- Reviewable:end --> | 28 August 2018, 18:56:44 UTC |
14815ac | Mark Mossberg | 28 August 2018, 17:01:39 UTC | Add --no-testcases flag (#1083) | 28 August 2018, 17:01:39 UTC |
e64eda1 | ggrieco-tob | 28 August 2018, 14:57:55 UTC | Improved printing of constructor call with decoded constructor arguments and transaction result (#1080) * added printing of decoded constructor arguments * Fixed test | 28 August 2018, 14:57:55 UTC |
2f14bbf | feliam | 27 August 2018, 19:34:02 UTC | Merge branch 'master' into dev-evm-perf01 | 27 August 2018, 19:34:02 UTC |
1d806ba | Mark Mossberg | 24 August 2018, 22:44:43 UTC | Fix rtd (#1086) * test * wrong number * sorry Popen :( * mocking * x * clean * better explain this arcane stuff * don't need io | 24 August 2018, 22:44:43 UTC |
6aaa8fd | Mark Mossberg | 24 August 2018, 21:16:58 UTC | Create readthedocs.yml (#1085) | 24 August 2018, 21:16:58 UTC |
81296f9 | Mark Mossberg | 24 August 2018, 14:41:11 UTC | eth: add ether leak detector (#1077) * Add initial ether leak detector * Initial test * correct * Add another neg * rm stray print * initial tests refactoring + ether leak tests * finding name * initial refactor * clean comment * correct this test * update tests * Add fp comment * add other test * remove unnecessary payable function * make LoopDepthLimiter configurable * Use real pc * cc * Add other test * Add cli interface | 24 August 2018, 14:41:11 UTC |
ece72fe | ggrieco-tob | 24 August 2018, 13:43:27 UTC | Added --txnoether option to avoid sending ether to contracts (#1078) * added --txnoether option * Improved command line description | 24 August 2018, 13:43:27 UTC |
86c1cec | feliam | 23 August 2018, 23:26:18 UTC | The solidity tests | 23 August 2018, 23:26:18 UTC |
22099a5 | feliam | 23 August 2018, 22:11:10 UTC | Merge branch 'master' into dev-evm-perf01 | 23 August 2018, 22:11:10 UTC |
46f0989 | feliam | 23 August 2018, 21:57:24 UTC | Sha3 random concre example when none. Concretize SIZE/OFFSET more. Initial calldata size management | 23 August 2018, 21:57:24 UTC |
8142472 | Mark Mossberg | 23 August 2018, 19:04:41 UTC | eth: add selfdestruct detector & misc bug fixes (#1068) * Don't keep selfdestruct states alive * Use avoid_collisions=True for internal uses of the .new_ methods * Better err msgs * Output pc in hex * Fix ignored workspace cli flag * hex pc * hex pc one last time * add selfdestruct detector * Add cli support * Add ok selfdestruct test * Add selfdestruct not ok - true positive * Add selfdestruct crazy - true negative * Reorganize plugin/detectors. Add LoopDepthLimiter plugin + cli flag * rename files * add another test * Add initial selfdestruct tests * Move integer overflow detector test into eth_detectors * cc * add missing import * add other missing import | 23 August 2018, 19:04:41 UTC |
3f305c4 | Aleksandr Sobolev | 23 August 2018, 12:57:35 UTC | Fix typo mistake in multi-million word (#1073) | 23 August 2018, 12:57:35 UTC |
8746f65 | feliam | 22 August 2018, 22:32:10 UTC | Merge branch 'master' into dev-evm-perf01 | 22 August 2018, 22:32:10 UTC |
38ecc25 | defunct | 22 August 2018, 02:37:17 UTC | Implements support for function overloading in ethereum (#1049) * implements `signature` kwarg for overloaded functions - resolves #810 | 22 August 2018, 02:37:17 UTC |
f556c72 | feliam | 22 August 2018, 02:35:48 UTC | CC | 22 August 2018, 02:35:48 UTC |
bbdd2f9 | feliam | 21 August 2018, 23:35:07 UTC | typo | 21 August 2018, 23:35:07 UTC |
62a6985 | feliam | 21 August 2018, 23:23:19 UTC | review | 21 August 2018, 23:23:19 UTC |
8247dc6 | ggrieco-tob | 21 August 2018, 19:51:46 UTC | Fix for #1008 (#1063) * Fix for #1008 * add test for funcall output | 21 August 2018, 19:51:46 UTC |
71a926c | feliam | 21 August 2018, 15:08:17 UTC | WIP delegatecall. Lot of fixes. Recursion fix. | 21 August 2018, 15:08:17 UTC |
9af8953 | feliam | 17 August 2018, 20:20:58 UTC | Delete duplicated detector | 17 August 2018, 20:20:58 UTC |
7be4bf1 | feliam | 17 August 2018, 17:33:04 UTC | CC | 17 August 2018, 17:33:04 UTC |
4003e1e | feliam | 17 August 2018, 17:06:25 UTC | merge | 17 August 2018, 17:06:25 UTC |
9eb2fba | feliam | 17 August 2018, 17:00:37 UTC | CC | 17 August 2018, 17:00:37 UTC |
ec28281 | feliam | 17 August 2018, 16:47:44 UTC | evm: aggressively check & migrate expressions into current ConstraintSet in case they are global/external (#1009) * Be mega forgiving on global expression usage - EVM * Refactor new_bitvector api * Fix neW_bool * CC * rename avoid_collisions collision * rename avoid_collisions collision * migrate on state.constraint too.. * Migration bugfixes * CC bugfixes * invalid assert removed * move rep code to method * reviewing the codes * CC * Change variable names * typo * Some mini docstrings and a unittest * Add migration integration testion * Keep fuzz-refactoring it * CC * Bugfixfixfixfix * CC * re refactor mig algorithm * better cleaner stronger. (reviewing) * CC * Small refactor and Fix strange strcmp test. * CC * re re refactor for readability * CC * rev * forgoten var | 17 August 2018, 16:47:44 UTC |
9252405 | feliam | 17 August 2018, 15:39:18 UTC | merge | 17 August 2018, 15:39:18 UTC |
1119814 | defunct | 17 August 2018, 13:34:45 UTC | Serialization cleanup (#1048) * refactor serialization / recursion limit handling | 17 August 2018, 13:34:45 UTC |
bf0d279 | feliam | 16 August 2018, 17:35:08 UTC | forgoten var | 16 August 2018, 17:35:08 UTC |
92a841c | feliam | 16 August 2018, 17:34:03 UTC | CC | 16 August 2018, 17:34:03 UTC |
2c34a22 | feliam | 16 August 2018, 16:48:30 UTC | rev | 16 August 2018, 16:48:30 UTC |
1f93601 | feliam | 16 August 2018, 16:42:56 UTC | CC | 16 August 2018, 16:42:56 UTC |
afbb430 | feliam | 16 August 2018, 13:45:25 UTC | re re refactor for readability | 16 August 2018, 13:45:25 UTC |
5684bdd | defunct | 15 August 2018, 20:49:40 UTC | Code cleanup and coverage (#1035) * dead code elimination, __init__ cleanup * `binary.Elf` bugfix, add `binary` package tests | 15 August 2018, 20:49:40 UTC |
3f44695 | feliam | 15 August 2018, 19:10:23 UTC | convenient tx abi parsing func | 15 August 2018, 19:10:23 UTC |
48ec79b | feliam | 15 August 2018, 19:06:41 UTC | convenient tx abi parsing func | 15 August 2018, 19:06:41 UTC |
f2c7e16 | feliam | 15 August 2018, 19:05:25 UTC | convenient tx abi parsing func | 15 August 2018, 19:05:25 UTC |
9b2f44b | feliam | 15 August 2018, 18:12:16 UTC | convenient tx abi parsing func | 15 August 2018, 18:12:16 UTC |
e6833ab | defunct | 15 August 2018, 17:26:08 UTC | Fix missing profiling data (#1057) * fix missing profiling data - resolves #982 * unit test | 15 August 2018, 17:26:08 UTC |
76a1022 | feliam | 15 August 2018, 14:06:07 UTC | bugfix.. waiting for migreation PR | 15 August 2018, 14:06:07 UTC |
67b484c | feliam | 15 August 2018, 13:15:11 UTC | funtion selector abinary | 15 August 2018, 13:15:11 UTC |
fd10d72 | feliam | 14 August 2018, 13:45:08 UTC | CC | 14 August 2018, 13:45:08 UTC |
a6e45ab | feliam | 14 August 2018, 12:26:35 UTC | Small refactor and Fix strange strcmp test. | 14 August 2018, 12:26:35 UTC |
f139ada | feliam | 14 August 2018, 03:11:06 UTC | CC | 14 August 2018, 03:11:06 UTC |
00467be | feliam | 14 August 2018, 03:00:48 UTC | better cleaner stronger. (reviewing) | 14 August 2018, 03:00:48 UTC |
91dddb4 | feliam | 14 August 2018, 02:48:52 UTC | re refactor mig algorithm | 14 August 2018, 02:48:52 UTC |
9482d1b | feliam | 14 August 2018, 01:53:09 UTC | Merge branch 'master' into dev-evm-perf01 | 14 August 2018, 01:53:09 UTC |
5062860 | feliam | 14 August 2018, 01:50:10 UTC | CC | 14 August 2018, 01:50:10 UTC |
01b9079 | feliam | 13 August 2018, 23:42:52 UTC | Bugfixfixfixfix | 13 August 2018, 23:42:52 UTC |
bed76e8 | feliam | 13 August 2018, 22:49:25 UTC | CC | 13 August 2018, 22:49:25 UTC |
f68d6b0 | feliam | 13 August 2018, 22:30:54 UTC | Keep fuzz-refactoring it | 13 August 2018, 22:30:54 UTC |
af7f1dd | feliam | 13 August 2018, 22:08:45 UTC | Add migration integration testion | 13 August 2018, 22:08:45 UTC |
e2ba0ac | feliam | 13 August 2018, 21:54:49 UTC | Some mini docstrings and a unittest | 13 August 2018, 21:54:49 UTC |
22e20a4 | feliam | 13 August 2018, 21:24:28 UTC | Some minid docstrings and a unittest | 13 August 2018, 21:24:28 UTC |
e53b499 | Yan Ivnitskiy | 13 August 2018, 18:41:30 UTC | Add logo to readme (#1046) * add logo to README | 13 August 2018, 18:41:30 UTC |
61aa740 | feliam | 13 August 2018, 18:19:28 UTC | Basic refactors and output enhancements | 13 August 2018, 18:19:28 UTC |
11a42b8 | feliam | 13 August 2018, 16:20:56 UTC | merge | 13 August 2018, 16:20:56 UTC |
25e820e | feliam | 13 August 2018, 13:51:15 UTC | typo | 13 August 2018, 13:51:15 UTC |
4c119cd | feliam | 13 August 2018, 13:33:11 UTC | Change variable names | 13 August 2018, 13:33:11 UTC |
289118b | feliam | 13 August 2018, 03:07:12 UTC | CC | 13 August 2018, 03:07:12 UTC |
d667926 | feliam | 13 August 2018, 02:53:52 UTC | reviewing the codes | 13 August 2018, 02:53:52 UTC |
0225434 | feliam | 13 August 2018, 02:52:32 UTC | Merge branch 'master' into dev-research-migration | 13 August 2018, 02:52:32 UTC |
0ad15c7 | Mark Mossberg | 10 August 2018, 20:07:39 UTC | Manticore 0.2.0 (#1043) * Bump version * Initial changelog changes * Bump version in setup.py * Add skeleton and externals * Fill in 0.2.0 readme * Updates | 10 August 2018, 20:07:39 UTC |
a0c2f76 | defunct | 10 August 2018, 19:28:41 UTC | Port remaining examples to py3 (#1042) * port use_def * port some scripts, cleanup * ported `scripts/gdb.py` - untested * misc | 10 August 2018, 19:28:41 UTC |
399a2ef | Mark Mossberg | 10 August 2018, 19:03:02 UTC | Emphasize new python requirement (#1041) * Emphasize new python requirement * Consistent formatting | 10 August 2018, 19:03:02 UTC |
7b66bec | Dan Guido | 10 August 2018, 17:57:50 UTC | Readme updates (#1037) * add some more heft to the Ethereum section * no longer needed * Integrate requirements into installation * Update README.md * Update README.md * Update README.md * Update README.md * Duplicate commands for docker quick start * Rm --process-dependency-links note, moved into the faq on the wiki * Small tweaks * pedantic formatting | 10 August 2018, 17:57:50 UTC |
9f73308 | Mark Mossberg | 09 August 2018, 22:27:34 UTC | Fix gast (#1039) | 09 August 2018, 22:27:34 UTC |
5710716 | Catena cyber | 09 August 2018, 18:47:57 UTC | Test manticore on MacOS (#1032) * Test manticore on MacOS like test_binaries.py for path to binary to test * MacOS compatibility achieved Replacement of /bin/ls in tests Use of basename in test_load_maps | 09 August 2018, 18:47:57 UTC |
a16c508 | Yan Ivnitskiy | 09 August 2018, 15:27:45 UTC | ignore resource warnings (e.g. unclosed files) (#1038) | 09 August 2018, 15:27:45 UTC |
810253d | feliam | 09 August 2018, 14:16:53 UTC | CC | 09 August 2018, 14:16:53 UTC |
e4c09b9 | feliam | 09 August 2018, 12:53:49 UTC | Refactor result_ref out in favor of change_last_result() | 09 August 2018, 12:53:49 UTC |
a398e25 | feliam | 09 August 2018, 02:54:02 UTC | CC | 09 August 2018, 02:54:02 UTC |
5b5d675 | feliam | 09 August 2018, 02:23:03 UTC | unittets fixes and CC | 09 August 2018, 02:23:03 UTC |
a266c0b | Dan Guido | 08 August 2018, 22:11:21 UTC | Update README.md | 08 August 2018, 22:11:21 UTC |
45931c3 | feliam | 08 August 2018, 21:41:55 UTC | Merge branch 'master' into dev-evm-perf01 | 08 August 2018, 21:41:55 UTC |
5b522cc | feliam | 08 August 2018, 21:37:08 UTC | Merge branch 'master' into dev-research-migration | 08 August 2018, 21:37:08 UTC |
682004e | Evan | 08 August 2018, 21:14:17 UTC | readme Ethereum update issue #1003 (#1034) * readme ethereum update issue #1003 * simplify | 08 August 2018, 21:14:17 UTC |