Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, fetchFromGitLab 3, python3 4}: 5let 6 py = python3.override { 7 packageOverrides = self: super: { 8 9 cmd2 = super.cmd2.overridePythonAttrs (oldAttrs: rec { 10 version = "1.5.0"; 11 src = oldAttrs.src.override { 12 inherit version; 13 hash = "sha256-cBqMmXXEq8ReXROQarFJ+Vn4EoaRBjRzI6P4msDoKmI="; 14 }; 15 doCheck = false; 16 }); 17 }; 18 }; 19in 20with py.pkgs; 21 22buildPythonApplication rec { 23 pname = "expliot"; 24 version = "0.9.8"; 25 26 src = fetchFromGitLab { 27 owner = "expliot_framework"; 28 repo = pname; 29 rev = version; 30 hash = "sha256-7Cuj3YKKwDxP2KKueJR9ZO5Bduv+lw0Y87Rw4b0jbGY="; 31 }; 32 33 pythonRelaxDeps = [ 34 "pymodbus" 35 "pynetdicom" 36 "cryptography" 37 "python-can" 38 "pyparsing" 39 "zeroconf" 40 ]; 41 42 nativeBuildInputs = [ 43 pythonRelaxDepsHook 44 ]; 45 46 propagatedBuildInputs = [ 47 aiocoap 48 awsiotpythonsdk 49 bluepy 50 can 51 cmd2 52 cryptography 53 paho-mqtt 54 pyi2cflash 55 pymodbus 56 pynetdicom 57 pyparsing 58 pyserial 59 pyspiflash 60 upnpy 61 xmltodict 62 zeroconf 63 ]; 64 65 # Project has no tests 66 doCheck = false; 67 68 pythonImportsCheck = [ 69 "expliot" 70 ]; 71 72 meta = with lib; { 73 description = "IoT security testing and exploitation framework"; 74 longDescription = '' 75 EXPLIoT is a Framework for security testing and exploiting IoT 76 products and IoT infrastructure. It provides a set of plugins 77 (test cases) which are used to perform the assessment and can 78 be extended easily with new ones. The name EXPLIoT (pronounced 79 expl-aa-yo-tee) is a pun on the word exploit and explains the 80 purpose of the framework i.e. IoT exploitation. 81 ''; 82 homepage = "https://expliot.readthedocs.io/"; 83 license = with licenses; [ agpl3Plus ]; 84 maintainers = with maintainers; [ fab ]; 85 }; 86}