diff --git a/pkgs/development/python-modules/karton-config-extractor/default.nix b/pkgs/development/python-modules/karton-config-extractor/default.nix new file mode 100644 index 000000000000..bb2b9d4903b9 --- /dev/null +++ b/pkgs/development/python-modules/karton-config-extractor/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, karton-core +, malduck +}: + +buildPythonPackage rec { + pname = "karton-config-extractor"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "CERT-Polska"; + repo = pname; + rev = "v${version}"; + sha256 = "1v0zqa81yjz6hm17x9hp0iwkllymqzn84dd6r2yrhillbwnjg9bb"; + }; + + propagatedBuildInputs = [ + karton-core + malduck + ]; + + postPatch = '' + substituteInPlace requirements.txt \ + --replace "karton.core==4.0.5" "karton-core" + ''; + + # Project has no tests + doCheck = false; + pythonImportsCheck = [ "karton.config_extractor" ]; + + meta = with lib; { + description = "Static configuration extractor for the Karton framework"; + homepage = "https://github.com/CERT-Polska/karton-config-extractor"; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/malduck/default.nix b/pkgs/development/python-modules/malduck/default.nix new file mode 100644 index 000000000000..a9a8419a04dc --- /dev/null +++ b/pkgs/development/python-modules/malduck/default.nix @@ -0,0 +1,48 @@ +{ lib +, buildPythonPackage +, capstone +, click +, cryptography +, fetchFromGitHub +, pefile +, pycryptodomex +, pyelftools +, pythonOlder +, typing-extensions +, yara-python +}: + +buildPythonPackage rec { + pname = "malduck"; + version = "4.1.0"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "CERT-Polska"; + repo = pname; + rev = "v${version}"; + sha256 = "04d8bhzax9ynbl83hif9i8gcs29zrvcay2r6n7mcxiixlxcqciak"; + }; + + propagatedBuildInputs = [ + capstone + click + cryptography + pefile + pycryptodomex + pyelftools + typing-extensions + yara-python + ]; + + # Project has no tests. They will come with the next release + doCheck = false; + pythonImportsCheck = [ "malduck" ]; + + meta = with lib; { + description = "Helper for malware analysis"; + homepage = "https://github.com/CERT-Polska/malduck"; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 07516ce1b2bd..3d52fad4d2fc 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3687,6 +3687,8 @@ in { karton-classifier = callPackage ../development/python-modules/karton-classifier { }; + karton-config-extractor = callPackage ../development/python-modules/karton-config-extractor { }; + karton-core = callPackage ../development/python-modules/karton-core { }; karton-mwdb-reporter = callPackage ../development/python-modules/karton-mwdb-reporter { }; @@ -4162,6 +4164,8 @@ in { Mako = callPackage ../development/python-modules/Mako { }; + malduck= callPackage ../development/python-modules/malduck { }; + managesieve = callPackage ../development/python-modules/managesieve { }; manhole = callPackage ../development/python-modules/manhole { };