From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id aHKiN6j6pmEWVAEAgWs5BA (envelope-from ) for ; Wed, 01 Dec 2021 05:31:36 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id OFxCM6j6pmH/FQAAB5/wlQ (envelope-from ) for ; Wed, 01 Dec 2021 04:31:36 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A49A133667 for ; Wed, 1 Dec 2021 05:31:36 +0100 (CET) Received: from localhost ([::1]:54262 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1msHHL-0001vd-Mp for larch@yhetil.org; Tue, 30 Nov 2021 23:31:35 -0500 Received: from eggs.gnu.org ([209.51.188.92]:34294) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1msHGo-0001Zw-Th for guix-patches@gnu.org; Tue, 30 Nov 2021 23:31:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:59665) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1msHGo-0005UN-LU for guix-patches@gnu.org; Tue, 30 Nov 2021 23:31:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1msHGo-0006u2-Iz for guix-patches@gnu.org; Tue, 30 Nov 2021 23:31:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#51885] [PATCH 4/4] gnu: Add blacksmith. Resent-From: Raghav Gururajan Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 01 Dec 2021 04:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51885 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 51885@debbugs.gnu.org Cc: Raghav Gururajan Received: via spool by 51885-submit@debbugs.gnu.org id=B51885.163833300723058 (code B ref 51885); Wed, 01 Dec 2021 04:31:02 +0000 Received: (at 51885) by debbugs.gnu.org; 1 Dec 2021 04:30:07 +0000 Received: from localhost ([127.0.0.1]:42976 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msHFu-0005zL-Lz for submit@debbugs.gnu.org; Tue, 30 Nov 2021 23:30:07 -0500 Received: from out0.migadu.com ([94.23.1.103]:27089) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msHFm-0005vP-Mh for 51885@debbugs.gnu.org; Tue, 30 Nov 2021 23:29:59 -0500 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raghavgururajan.name; s=key1; t=1638332997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nU9d4wIsQhzVH0gI0kyLYbRCVxn3U3dW10YG8H5otJM=; b=sbrNB9I5HI/9k7svUgH/ixBSJuEUAl2Nhw8yt3icsJ42z7foE6YNE/DQM+rxPRRqWqaZ16 Dxgr4B3e4x76FKdd6LymCkopV/+BeH2s+5//wnxeJQg1yJecV1QcK9bjVJrLefi7Ym7sMA O1V49K8ecU8xryLTdODjZEDkcoaae9w5WTleSTktRvVeYHQRP/ZeYXjTACK+P9OzcA13kI 4mgVqUORHVGO5uzOHB+notZqd8xRY3+TCeAl50+6S+fLlyhJDb1A00RrYaoBL24oCWkxt4 CdyXA+WttjPDj+u0wmLJiuzS6Xqub1sKyIi9mBiYx31LQkMuoFv+D7KElumKDQ== Date: Tue, 30 Nov 2021 23:29:27 -0500 Message-Id: <20211201042927.18454-4-rg@raghavgururajan.name> In-Reply-To: <20211201042927.18454-1-rg@raghavgururajan.name> References: <20211201042927.18454-1-rg@raghavgururajan.name> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" Reply-to: Raghav Gururajan X-ACL-Warn: , Raghav Gururajan via Guix-patches From: Raghav Gururajan via Guix-patches via Authentication-Results: aspmx1.migadu.com; none X-Migadu-Scanner: scn0.migadu.com X-TUID: rIk8dvR+gy0o * gnu/packages/cybersecurity.scm (blacksmith): New variable. --- gnu/packages/cybersecurity.scm | 78 ++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm index e4614e908e..e096c41fd6 100644 --- a/gnu/packages/cybersecurity.scm +++ b/gnu/packages/cybersecurity.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2021 c4droid +;;; Copyright © 2021 Raghav Gururajan ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,10 +21,14 @@ (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 cmake) #:use-module (guix build-system python) + #:use-module (gnu packages cpp) #:use-module (gnu packages engineering) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages python-crypto) @@ -32,6 +37,79 @@ (define-module (gnu packages cybersecurity) #:use-module (gnu packages bioinformatics) ;python-intervaltree #:use-module (gnu packages emulators)) +(define-public blacksmith + (let ((commit "c8e65b709a83665f9528efdedcf064abdb04859f") + (revision "0")) + (package + (name "blacksmith") + (version + (git-version "0.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/comsec-group/blacksmith") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kyp71wndf527dgza5iks5m5vj543mvxp5w7cjd8x0pilmd1xrls")) + (modules '((guix build utils))) + (snippet + `(begin + (delete-file-recursively "external") + (substitute* "CMakeLists.txt" + (("add_subdirectory\\(external\\)") "") + (("[ \t]*FetchContent_MakeAvailable\\(asmjit\\)") + (string-append "find_package(asmjit)\n" + "find_package(nlohmann_json)"))) + #t)))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;no test-suite + #:imported-modules + ((guix build copy-build-system) + ,@%cmake-build-system-modules) + #:modules + (((guix build copy-build-system) + #:prefix copy:) + (guix build cmake-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (substitute* "CMakeLists.txt" + ;; Use default C++ standard instead. + (("cxx_std_17") "") + ;; This project tries to link argagg library, + ;; which doesn't exist, as argagg project + ;; is a single header file. + (("argagg") "")))) + (replace 'install + (lambda args + (apply (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("." "bin" + #:include ("blacksmith")) + ("." "lib" + #:include-regexp ("\\.a$"))) + args)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("argagg" ,argagg) + ("asmjit" ,asmjit) + ("json" ,json))) + (home-page "https://comsec.ethz.ch/research/dram/blacksmith") + (synopsis "Rowhammer fuzzer with non-uniform and frequency-based patterns") + (description "Blacksmith is an implementation of Rowhammer fuzzer that +crafts novel non-uniform Rowhammer access patterns based on the concepts of +frequency, phase, and amplitude. It is able to bypass recent +@acronym{TRR, Target Row Refresh}in-DRAM mitigations effectively and as such can +could trigger bit flips.") + (license license:expat)))) + (define-public ropgadget (package (name "ropgadget") -- 2.34.0