@@ -18,10 +18,17 @@
(define-module (gnu packages cybersecurity)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system python)
- #:use-module (gnu packages engineering))
+ #:use-module (gnu packages bioinformatics)
+ #:use-module (gnu packages emulators)
+ #:use-module (gnu packages engineering)
+ #:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages time))
(define-public ropgadget
(package
@@ -44,3 +51,45 @@
gadgets in binaries. Some facilities are included for automatically generating
chains of gadgets to execute system calls.")
(license license:bsd-3)))
+
+(define-public python-pwntools
+ (package
+ (name "python-pwntools")
+ (version "4.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Gallopsled/pwntools")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "14grsflkfpr7y3gg2lm86lfn6n40yip45n4gjz0hzi9sjalq1gr5"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ; Tests require networking and custom sshd configuration
+ (propagated-inputs
+ `(("paramiko" ,python-paramiko)
+ ("mako" ,python-mako)
+ ("pyelftools" ,python-pyelftools)
+ ("capstone" ,python-capstone)
+ ("ropgadget" ,ropgadget)
+ ("pyserial" ,python-pyserial)
+ ("requests" ,python-requests)
+ ("pygments" ,python-pygments)
+ ("pysocks" ,python-pysocks)
+ ("dateutil" ,python-dateutil)
+ ("packaging" ,python-packaging)
+ ("psutil" ,python-psutil)
+ ("intervaltree" ,python-intervaltree)
+ ("sortedcontainers" ,python-sortedcontainers)
+ ("unicorn" ,unicorn-next "python")))
+ (native-inputs
+ `(("tox" ,python-tox)))
+ (home-page "https://github.com/Gallopsled/pwntools")
+ (synopsis "CTF framework and exploit development library")
+ (description "Pwntools is a CTF framework and exploit development library.
+Written in Python, it is designed for rapid prototyping and development, and
+intended to make exploit writing as simple as possible.")
+ (license (list license:expat license:bsd-2 license:gpl2+))))