diff options
Diffstat (limited to 'gnu/packages/cybersecurity.scm')
-rw-r--r-- | gnu/packages/cybersecurity.scm | 104 |
1 files changed, 91 insertions, 13 deletions
diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm index c66740b744..6b736f6f30 100644 --- a/gnu/packages/cybersecurity.scm +++ b/gnu/packages/cybersecurity.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2021 c4droid <c4droid@foxmail.com> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr> +;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,11 +23,15 @@ (define-module (gnu packages cybersecurity) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system cmake) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) + #:use-module (gnu packages databases) + #:use-module (gnu packages check) #:use-module (gnu packages cpp) #:use-module (gnu packages engineering) #:use-module (gnu packages pkg-config) @@ -36,8 +41,8 @@ #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages serialization) #:use-module (gnu packages time) - #:use-module (gnu packages bioinformatics) ;python-intervaltree #:use-module (gnu packages emulators)) (define-public blacksmith @@ -102,17 +107,81 @@ phase, and amplitude. It is able to bypass recent @acronym{TRR, Target Row Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.") (license license:expat))) +(define-public gallia + (package + (name "gallia") + (version "1.9.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Fraunhofer-AISEC/gallia") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11pyq2jn0py6n4xi5yxbsazybbdn9m8fgllqmfrsiqg9k96i6cwb")))) + (build-system pyproject-build-system) + (arguments + (list + ;; NOTE: Test steps are sourced from GitHub Actions attached to the + ;; project. This is a minimal test suite, more precise tests require + ;; setting up local service with Bats (Bash Automated Testing System) + ;; <https://bats-core.readthedocs.io/en/stable/>. bs + #:test-flags #~(list "tests/pytest"))) + (native-inputs + (list python-poetry-core + python-pygit2 + python-pytest + python-pytest-asyncio)) + (inputs + (list python-aiofiles + python-aiosqlite + python-argcomplete + python-can + python-construct + python-exitcode + python-httpx + python-more-itertools + python-msgspec + python-platformdirs + python-psutil + python-pydantic-2 + python-pygit2 + python-tabulate + python-zstandard)) + (home-page "https://github.com/Fraunhofer-AISEC/gallia") + (synopsis "Extendable Pentesting Framework") + (description + "Gallia is an extendable pentesting framework with the focus on the +automotive domain. The scope of the toolchain is conducting penetration tests +from a single ECU up to whole cars.") + (license license:apsl2))) + (define-public ropgadget (package (name "ropgadget") - (version "6.6") + (version "7.6") (source (origin (method url-fetch) - (uri (pypi-uri "ROPGadget" version)) + (uri (pypi-uri "ropgadget" version)) (sha256 - (base32 "08ms7x4af07970ij9899l75sghnxsa7xyx73gkn6gv0l05p1hqfw")))) - (build-system python-build-system) + (base32 "1hvl25j3fbiwihqa2p8a5i27h97pgspxp2ndwwn3l1r78r7cb0w8")))) + (build-system pyproject-build-system) + (arguments + (list + ;; TODO PyPI lack test data, Git provides a collection of binaries for + ;; the tests. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (with-directory-excursion "test-suite-binaries" + (invoke "./test.sh")))))))) + (native-inputs + (list python-setuptools)) (propagated-inputs (list python-capstone)) (home-page "https://shell-storm.org/project/ROPgadget/") @@ -126,17 +195,27 @@ chains of gadgets to execute system calls.") (define-public pwntools (package (name "pwntools") - (version "4.15.0b1") + (version "4.15.0beta1") (source (origin - (method url-fetch) - (uri (pypi-uri "pwntools" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Gallopsled/pwntools") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "091fsk9rvbjkcsp8mmww0ka26dvznmj4pbqwaiygcw90g3v94zgd")))) - (build-system python-build-system) + (base32 "048b8szybf3f69xdp258a783nl5dcgj316a5156i8ajhyfw6aaw0")))) + (build-system pyproject-build-system) (arguments - '(#:tests? #f)) ;XXX: needs a specific version of unicorn + (list + #:tests? #f ;XXX: needs a specific version of unicorn + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'relax-dependencies + (lambda _ + (substitute* "pyproject.toml" + (("^ *\"pip.*\",.*") + ""))))))) (propagated-inputs (list capstone python-colored-traceback @@ -145,7 +224,6 @@ chains of gadgets to execute system calls.") python-mako python-packaging python-paramiko - python-pathlib2 python-psutil python-pyelftools python-pygments |