cybersecurity.scm 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
  3. ;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
  4. ;;; Copyright © 2021 c4droid <c4droid@foxmail.com>
  5. ;;;
  6. ;;; This file is part of GNU Guix.
  7. ;;;
  8. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  9. ;;; under the terms of the GNU General Public License as published by
  10. ;;; the Free Software Foundation; either version 3 of the License, or (at
  11. ;;; your option) any later version.
  12. ;;;
  13. ;;; GNU Guix is distributed in the hope that it will be useful, but
  14. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  15. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. ;;; GNU General Public License for more details.
  17. ;;;
  18. ;;; You should have received a copy of the GNU General Public License
  19. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  20. (define-module (gnu packages cybersecurity)
  21. #:use-module (guix download)
  22. #:use-module (guix packages)
  23. #:use-module ((guix licenses) #:prefix license:)
  24. #:use-module (guix build-system python)
  25. #:use-module (gnu packages engineering)
  26. #:use-module (gnu packages python)
  27. #:use-module (gnu packages python-xyz)
  28. #:use-module (gnu packages python-crypto)
  29. #:use-module (gnu packages python-web)
  30. #:use-module (gnu packages time)
  31. #:use-module (gnu packages bioinformatics) ;python-intervaltree
  32. #:use-module (gnu packages emulators))
  33. (define-public ropgadget
  34. (package
  35. (name "ropgadget")
  36. (version "6.5")
  37. (source
  38. (origin
  39. (method url-fetch)
  40. (uri (pypi-uri "ROPGadget" version))
  41. (sha256
  42. (base32 "0p4h8xi27xcicz8sq6xi40hbj99mcsnnla6ar2r17vqapbr5c3jc"))))
  43. (build-system python-build-system)
  44. (propagated-inputs
  45. `(("python-capstone" ,python-capstone)))
  46. (home-page "http://shell-storm.org/project/ROPgadget/")
  47. (synopsis "Semiautomatic return oriented programming")
  48. (description
  49. "This tool lets you search for @acronym{ROP, Return Oriented Programming}
  50. gadgets in binaries. Some facilities are included for automatically generating
  51. chains of gadgets to execute system calls.")
  52. (license license:bsd-3)))
  53. (define-public pwntools
  54. (package
  55. (name "pwntools")
  56. (version "4.4.0")
  57. (source
  58. (origin
  59. (method url-fetch)
  60. (uri (pypi-uri "pwntools" version))
  61. (sha256
  62. (base32
  63. "1qw7j0wwm1878aia08gyw5xljjr26qsbp45w65n4qff672sha5n5"))))
  64. (build-system python-build-system)
  65. (arguments
  66. '(#:tests? #f)) ;XXX: needs a specific version of unicorn
  67. (propagated-inputs
  68. `(("capstone" ,capstone)
  69. ("python-dateutil" ,python-dateutil)
  70. ("python-intervaltree" ,python-intervaltree)
  71. ("python-mako" ,python-mako)
  72. ("python-packaging" ,python-packaging)
  73. ("python-paramiko" ,python-paramiko)
  74. ("python-psutil" ,python-psutil)
  75. ("python-pyelftools" ,python-pyelftools)
  76. ("python-pygments" ,python-pygments)
  77. ("python-pyserial" ,python-pyserial)
  78. ("python-pysocks" ,python-pysocks)
  79. ("python-requests" ,python-requests)
  80. ("ropgadget" ,ropgadget)
  81. ("python-six" ,python-six)
  82. ("python-sortedcontainers"
  83. ,python-sortedcontainers)
  84. ("unicorn" ,unicorn)))
  85. (home-page "https://github.com/Gallopsled/pwntools")
  86. (synopsis
  87. "Capture-the-flag (CTF) framework and exploit development library")
  88. (description
  89. "Pwntools is a capture-the-flag (CTF) framework and exploit development library.
  90. Written in Python, it is designed for rapid prototyping and development, and
  91. intended to make exploit writing as simple as possible.")
  92. (license license:expat)))