From a8b375437729d17673e4959dd55cb6cb34ca6bba Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Mon, 6 Oct 2025 01:54:48 +0100 Subject: [PATCH] gnu: Add gallia. * gnu/packages/cybersecurity.scm (gallia): New variable. Change-Id: I927c7d43bad89052c689390a42a268c2de597a8d --- gnu/packages/cybersecurity.scm | 55 ++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm index 2c82f4b2086..bb826d482e9 100644 --- a/gnu/packages/cybersecurity.scm +++ b/gnu/packages/cybersecurity.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2021 c4droid ;;; Copyright © 2021 Raghav Gururajan ;;; Copyright © 2025 Nicolas Graves +;;; Copyright © 2025 Sharlatan Hellseher ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,12 +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) @@ -37,6 +41,7 @@ #: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)) @@ -103,6 +108,56 @@ 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) + ;; . 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")