summaryrefslogtreecommitdiff
path: root/gnu/packages/cybersecurity.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/cybersecurity.scm')
-rw-r--r--gnu/packages/cybersecurity.scm104
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