Thu May 11 09:53:06 2023 UTC ()
py-manticore: updated to 0.3.7

0.3.7

Ethereum

Use crytic-compile 0.2.2
Multi-transaction analysis now uses fixed attacker and owner contracts

Native

[Added API] Retrieve list of unimplemented syscalls
Add FXSAVE/FXRSTOR concrete support on x86
Add last_executed_pc property to CPU
Support LD_LIBRARY_PATH
Optional will/did_read_memory events
Fixed base address handling on Linux
Add ENDBR-style NOPs
Support epoll-related syscalls

Other

[Added API] Add fork policy for providing explicit values
Fixed Constant Folding
Add simplifications for subtraction
Parent state ID, last PC now available in state descriptors
States now contain a reference to the current manticore instance
fast_fail config to exit after first state exception
Scaling bugfix for large solver queries
Don't fork when only one solution is found for Concretize


(adam)
diff -r1.18 -r1.19 pkgsrc/devel/py-manticore/Makefile
diff -r1.3 -r1.4 pkgsrc/devel/py-manticore/PLIST
diff -r1.8 -r1.9 pkgsrc/devel/py-manticore/distinfo
diff -r1.1 -r1.2 pkgsrc/devel/py-manticore/patches/patch-setup.py

cvs diff -r1.18 -r1.19 pkgsrc/devel/py-manticore/Makefile (expand / switch to unified diff)

--- pkgsrc/devel/py-manticore/Makefile 2022/11/14 14:34:48 1.18
+++ pkgsrc/devel/py-manticore/Makefile 2023/05/11 09:53:06 1.19
@@ -1,43 +1,40 @@ @@ -1,43 +1,40 @@
1# $NetBSD: Makefile,v 1.18 2022/11/14 14:34:48 wiz Exp $ 1# $NetBSD: Makefile,v 1.19 2023/05/11 09:53:06 adam Exp $
2 2
3.include "../../devel/py-angr/version.mk" 3DISTNAME= manticore-0.3.7
4 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
5DISTNAME= manticore-${GITHUB_TAG} 5CATEGORIES= devel python
6PKGNAME= ${PYPKGPREFIX}-${EGG_NAME} 6MASTER_SITES= ${MASTER_SITE_PYPI:=m/manticore/}
7PKGREVISION= 3 
8CATEGORIES= devel 
9MASTER_SITES= ${MASTER_SITE_GITHUB:=trailofbits/} 
10GITHUB_PROJECT= manticore 
11GITHUB_TAG= 0.3.4 
12 7
13MAINTAINER= khorben@defora.org 8MAINTAINER= khorben@defora.org
14HOMEPAGE= https://github.com/trailofbits/manticore/ 9HOMEPAGE= https://github.com/trailofbits/manticore
15COMMENT= Symbolic execution tool for analysis of binaries and smart contracts 10COMMENT= Symbolic execution tool for analysis of binaries and smart contracts
16LICENSE= gnu-agpl-v3 11LICENSE= gnu-agpl-v3
17 12
18DEPENDS+= ${PYPKGPREFIX}-angr>=${ANGR_VERSION}:../../devel/py-angr 13DEPENDS+= ${PYPKGPREFIX}-crytic-compile>=0.2.2:../../finance/py-crytic-compile
19DEPENDS+= ${PYPKGPREFIX}-capstone-[0-9]*:../../devel/py-capstone 14DEPENDS+= ${PYPKGPREFIX}-intervaltree-[0-9]*:../../devel/py-intervaltree
20DEPENDS+= ${PYPKGPREFIX}-rlp-[0-9]*:../../devel/py-rlp 
21DEPENDS+= ${PYPKGPREFIX}-ply-[0-9]*:../../devel/py-ply 15DEPENDS+= ${PYPKGPREFIX}-ply-[0-9]*:../../devel/py-ply
22DEPENDS+= ${PYPKGPREFIX}-pyelftools-[0-9]*:../../devel/py-pyelftools 16DEPENDS+= ${PYPKGPREFIX}-protobuf-[0-9]*:../../devel/py-protobuf
 17DEPENDS+= ${PYPKGPREFIX}-pyevmasm>=0.2.3:../../finance/py-pyevmasm
23DEPENDS+= ${PYPKGPREFIX}-pysha3-[0-9]*:../../devel/py-pysha3 18DEPENDS+= ${PYPKGPREFIX}-pysha3-[0-9]*:../../devel/py-pysha3
24DEPENDS+= ${PYPKGPREFIX}-unicorn-[0-9]*:../../emulators/py-unicorn 19DEPENDS+= ${PYPKGPREFIX}-prettytable-[0-9]*:../../textproc/py-prettytable
25DEPENDS+= ${PYPKGPREFIX}-crytic-compile-[0-9]*:../../finance/py-crytic-compile 20DEPENDS+= ${PYPKGPREFIX}-rlp-[0-9]*:../../devel/py-rlp
26DEPENDS+= ${PYPKGPREFIX}-pyevmasm-[0-9]*:../../finance/py-pyevmasm 
27DEPENDS+= ${PYPKGPREFIX}-z3solver-[0-9]*:../../math/py-z3solver 
28DEPENDS+= ${PYPKGPREFIX}-ptable-[0-9]*:../../textproc/py-ptable 
29DEPENDS+= ${PYPKGPREFIX}-wasm-[0-9]*:../../devel/py-wasm 21DEPENDS+= ${PYPKGPREFIX}-wasm-[0-9]*:../../devel/py-wasm
30DEPENDS+= ${PYPKGPREFIX}-yaml-[0-9]*:../../textproc/py-yaml 22DEPENDS+= ${PYPKGPREFIX}-yaml-[0-9]*:../../textproc/py-yaml
31 23DEPENDS+= ${PYPKGPREFIX}-z3-[0-9]*:../../math/py-z3
32PYTHON_VERSIONS_INCOMPATIBLE= 27 311 24# native
 25DEPENDS+= ${PYPKGPREFIX}-capstone>=4.0.2:../../devel/py-capstone
 26DEPENDS+= ${PYPKGPREFIX}-pyelftools-[0-9]*:../../devel/py-pyelftools
 27DEPENDS+= ${PYPKGPREFIX}-unicorn-[0-9]*:../../emulators/py-unicorn
33 28
34USE_PKG_RESOURCES= yes 29USE_PKG_RESOURCES= yes
35 30
 31PYTHON_VERSIONS_INCOMPATIBLE= 27 311
 32
36post-install: 33post-install:
37.for alternative in bin/manticore bin/manticore-verifier 34.for bin in manticore manticore-verifier
38 ${MV} ${DESTDIR}${PREFIX}/${alternative} \ 35 cd ${DESTDIR}${PREFIX}/bin && \
39 ${DESTDIR}${PREFIX}/${alternative}-${PYVERSSUFFIX} 36 ${MV} ${bin} ${bin}-${PYVERSSUFFIX} || ${TRUE}
40.endfor 37.endfor
41 38
42.include "../../lang/python/egg.mk" 39.include "../../lang/python/egg.mk"
43.include "../../mk/bsd.pkg.mk" 40.include "../../mk/bsd.pkg.mk"

cvs diff -r1.3 -r1.4 pkgsrc/devel/py-manticore/PLIST (expand / switch to unified diff)

--- pkgsrc/devel/py-manticore/PLIST 2020/09/29 00:50:05 1.3
+++ pkgsrc/devel/py-manticore/PLIST 2023/05/11 09:53:06 1.4
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.3 2020/09/29 00:50:05 khorben Exp $ 1@comment $NetBSD: PLIST,v 1.4 2023/05/11 09:53:06 adam Exp $
2bin/manticore-${PYVERSSUFFIX} 2bin/manticore-${PYVERSSUFFIX}
3bin/manticore-verifier-${PYVERSSUFFIX} 3bin/manticore-verifier-${PYVERSSUFFIX}
4${PYSITELIB}/${EGG_INFODIR}/PKG-INFO 4${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
5${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt 5${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
6${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt 6${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
7${PYSITELIB}/${EGG_INFODIR}/entry_points.txt 7${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
8${PYSITELIB}/${EGG_INFODIR}/requires.txt 8${PYSITELIB}/${EGG_INFODIR}/requires.txt
9${PYSITELIB}/${EGG_INFODIR}/top_level.txt 9${PYSITELIB}/${EGG_INFODIR}/top_level.txt
10${PYSITELIB}/manticore/__init__.py 10${PYSITELIB}/manticore/__init__.py
11${PYSITELIB}/manticore/__init__.pyc 11${PYSITELIB}/manticore/__init__.pyc
12${PYSITELIB}/manticore/__init__.pyo 12${PYSITELIB}/manticore/__init__.pyo
13${PYSITELIB}/manticore/__main__.py 13${PYSITELIB}/manticore/__main__.py
14${PYSITELIB}/manticore/__main__.pyc 14${PYSITELIB}/manticore/__main__.pyc
@@ -45,26 +45,29 @@ ${PYSITELIB}/manticore/core/smtlib/expre @@ -45,26 +45,29 @@ ${PYSITELIB}/manticore/core/smtlib/expre
45${PYSITELIB}/manticore/core/smtlib/expression.pyo 45${PYSITELIB}/manticore/core/smtlib/expression.pyo
46${PYSITELIB}/manticore/core/smtlib/operators.py 46${PYSITELIB}/manticore/core/smtlib/operators.py
47${PYSITELIB}/manticore/core/smtlib/operators.pyc 47${PYSITELIB}/manticore/core/smtlib/operators.pyc
48${PYSITELIB}/manticore/core/smtlib/operators.pyo 48${PYSITELIB}/manticore/core/smtlib/operators.pyo
49${PYSITELIB}/manticore/core/smtlib/solver.py 49${PYSITELIB}/manticore/core/smtlib/solver.py
50${PYSITELIB}/manticore/core/smtlib/solver.pyc 50${PYSITELIB}/manticore/core/smtlib/solver.pyc
51${PYSITELIB}/manticore/core/smtlib/solver.pyo 51${PYSITELIB}/manticore/core/smtlib/solver.pyo
52${PYSITELIB}/manticore/core/smtlib/visitors.py 52${PYSITELIB}/manticore/core/smtlib/visitors.py
53${PYSITELIB}/manticore/core/smtlib/visitors.pyc 53${PYSITELIB}/manticore/core/smtlib/visitors.pyc
54${PYSITELIB}/manticore/core/smtlib/visitors.pyo 54${PYSITELIB}/manticore/core/smtlib/visitors.pyo
55${PYSITELIB}/manticore/core/state.py 55${PYSITELIB}/manticore/core/state.py
56${PYSITELIB}/manticore/core/state.pyc 56${PYSITELIB}/manticore/core/state.pyc
57${PYSITELIB}/manticore/core/state.pyo 57${PYSITELIB}/manticore/core/state.pyo
 58${PYSITELIB}/manticore/core/state_pb2.py
 59${PYSITELIB}/manticore/core/state_pb2.pyc
 60${PYSITELIB}/manticore/core/state_pb2.pyo
58${PYSITELIB}/manticore/core/worker.py 61${PYSITELIB}/manticore/core/worker.py
59${PYSITELIB}/manticore/core/worker.pyc 62${PYSITELIB}/manticore/core/worker.pyc
60${PYSITELIB}/manticore/core/worker.pyo 63${PYSITELIB}/manticore/core/worker.pyo
61${PYSITELIB}/manticore/core/workspace.py 64${PYSITELIB}/manticore/core/workspace.py
62${PYSITELIB}/manticore/core/workspace.pyc 65${PYSITELIB}/manticore/core/workspace.pyc
63${PYSITELIB}/manticore/core/workspace.pyo 66${PYSITELIB}/manticore/core/workspace.pyo
64${PYSITELIB}/manticore/ethereum/__init__.py 67${PYSITELIB}/manticore/ethereum/__init__.py
65${PYSITELIB}/manticore/ethereum/__init__.pyc 68${PYSITELIB}/manticore/ethereum/__init__.pyc
66${PYSITELIB}/manticore/ethereum/__init__.pyo 69${PYSITELIB}/manticore/ethereum/__init__.pyo
67${PYSITELIB}/manticore/ethereum/abi.py 70${PYSITELIB}/manticore/ethereum/abi.py
68${PYSITELIB}/manticore/ethereum/abi.pyc 71${PYSITELIB}/manticore/ethereum/abi.pyc
69${PYSITELIB}/manticore/ethereum/abi.pyo 72${PYSITELIB}/manticore/ethereum/abi.pyo
70${PYSITELIB}/manticore/ethereum/abitypes.py 73${PYSITELIB}/manticore/ethereum/abitypes.py
@@ -186,26 +189,29 @@ ${PYSITELIB}/manticore/utils/__init__.py @@ -186,26 +189,29 @@ ${PYSITELIB}/manticore/utils/__init__.py
186${PYSITELIB}/manticore/utils/__init__.pyo 189${PYSITELIB}/manticore/utils/__init__.pyo
187${PYSITELIB}/manticore/utils/command_line.py 190${PYSITELIB}/manticore/utils/command_line.py
188${PYSITELIB}/manticore/utils/command_line.pyc 191${PYSITELIB}/manticore/utils/command_line.pyc
189${PYSITELIB}/manticore/utils/command_line.pyo 192${PYSITELIB}/manticore/utils/command_line.pyo
190${PYSITELIB}/manticore/utils/config.py 193${PYSITELIB}/manticore/utils/config.py
191${PYSITELIB}/manticore/utils/config.pyc 194${PYSITELIB}/manticore/utils/config.pyc
192${PYSITELIB}/manticore/utils/config.pyo 195${PYSITELIB}/manticore/utils/config.pyo
193${PYSITELIB}/manticore/utils/deprecated.py 196${PYSITELIB}/manticore/utils/deprecated.py
194${PYSITELIB}/manticore/utils/deprecated.pyc 197${PYSITELIB}/manticore/utils/deprecated.pyc
195${PYSITELIB}/manticore/utils/deprecated.pyo 198${PYSITELIB}/manticore/utils/deprecated.pyo
196${PYSITELIB}/manticore/utils/emulate.py 199${PYSITELIB}/manticore/utils/emulate.py
197${PYSITELIB}/manticore/utils/emulate.pyc 200${PYSITELIB}/manticore/utils/emulate.pyc
198${PYSITELIB}/manticore/utils/emulate.pyo 201${PYSITELIB}/manticore/utils/emulate.pyo
 202${PYSITELIB}/manticore/utils/enums.py
 203${PYSITELIB}/manticore/utils/enums.pyc
 204${PYSITELIB}/manticore/utils/enums.pyo
199${PYSITELIB}/manticore/utils/event.py 205${PYSITELIB}/manticore/utils/event.py
200${PYSITELIB}/manticore/utils/event.pyc 206${PYSITELIB}/manticore/utils/event.pyc
201${PYSITELIB}/manticore/utils/event.pyo 207${PYSITELIB}/manticore/utils/event.pyo
202${PYSITELIB}/manticore/utils/fallback_emulator.py 208${PYSITELIB}/manticore/utils/fallback_emulator.py
203${PYSITELIB}/manticore/utils/fallback_emulator.pyc 209${PYSITELIB}/manticore/utils/fallback_emulator.pyc
204${PYSITELIB}/manticore/utils/fallback_emulator.pyo 210${PYSITELIB}/manticore/utils/fallback_emulator.pyo
205${PYSITELIB}/manticore/utils/helpers.py 211${PYSITELIB}/manticore/utils/helpers.py
206${PYSITELIB}/manticore/utils/helpers.pyc 212${PYSITELIB}/manticore/utils/helpers.pyc
207${PYSITELIB}/manticore/utils/helpers.pyo 213${PYSITELIB}/manticore/utils/helpers.pyo
208${PYSITELIB}/manticore/utils/install_helper.py 214${PYSITELIB}/manticore/utils/install_helper.py
209${PYSITELIB}/manticore/utils/install_helper.pyc 215${PYSITELIB}/manticore/utils/install_helper.pyc
210${PYSITELIB}/manticore/utils/install_helper.pyo 216${PYSITELIB}/manticore/utils/install_helper.pyo
211${PYSITELIB}/manticore/utils/log.py 217${PYSITELIB}/manticore/utils/log.py

cvs diff -r1.8 -r1.9 pkgsrc/devel/py-manticore/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/py-manticore/distinfo 2021/10/26 10:18:40 1.8
+++ pkgsrc/devel/py-manticore/distinfo 2023/05/11 09:53:06 1.9
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
1$NetBSD: distinfo,v 1.8 2021/10/26 10:18:40 nia Exp $ 1$NetBSD: distinfo,v 1.9 2023/05/11 09:53:06 adam Exp $
2 2
3BLAKE2s (manticore-0.3.4.tar.gz) = 41b3011f9ff0317a6cd7280ddf26b4060f2732efada65c091738f60102677836 3BLAKE2s (manticore-0.3.7.tar.gz) = 12a504cf225145371698be42b3c06edb2044a79a4b3eab4b5363017536565236
4SHA512 (manticore-0.3.4.tar.gz) = e178dfde84f5526e4e6473ebebd238460c24fa2e2ae0a6a8b40aaf827dc148916b1c7b2501ee48f423042089fa34cadcf77a8c58ecff18e066963918380250ec 4SHA512 (manticore-0.3.7.tar.gz) = c7c87010f734ce5803637f33ce97199ab706309d112a9934a43f2a2d12769cff2541f4fc48115f133ed1e2c4240569b17d7bc667d7b394ff3a3236134afaea8b
5Size (manticore-0.3.4.tar.gz) = 7019961 bytes 5Size (manticore-0.3.7.tar.gz) = 385451 bytes
6SHA1 (patch-setup.py) = b232c08e23251f74b3e112306e60ef014ea404a6 6SHA1 (patch-setup.py) = 9bf6aa446f2fdf6278e19b54b0fe455d699b08b7

cvs diff -r1.1 -r1.2 pkgsrc/devel/py-manticore/patches/patch-setup.py (expand / switch to unified diff)

--- pkgsrc/devel/py-manticore/patches/patch-setup.py 2020/09/29 03:27:32 1.1
+++ pkgsrc/devel/py-manticore/patches/patch-setup.py 2023/05/11 09:53:06 1.2
@@ -1,15 +1,15 @@ @@ -1,15 +1,15 @@
1$NetBSD: patch-setup.py,v 1.1 2020/09/29 03:27:32 khorben Exp $ 1$NetBSD: patch-setup.py,v 1.2 2023/05/11 09:53:06 adam Exp $
2 2
3Use the ptable2 Python module to implement prettytable 3Allow newer crytic-compile.
4 4
5--- setup.py.orig 2020-06-27 01:54:55.000000000 +0000 5--- setup.py.orig 2023-05-11 09:50:04.000000000 +0000
6+++ setup.py 6+++ setup.py
7@@ -54,7 +54,7 @@ setup( 7@@ -71,7 +71,7 @@ setup(
8 install_requires=[ 
9 "pyyaml", 
10 "pysha3", 
11- "prettytable", 
12+ "PTable", 
13 "ply", 8 "ply",
14 "rlp", 9 "rlp",
15 "crytic-compile>=0.1.1", 10 "intervaltree",
 11- "crytic-compile==0.2.2",
 12+ "crytic-compile>=0.2.2",
 13 "wasm",
 14 "dataclasses; python_version < '3.7'",
 15 "pyevmasm>=0.2.3",