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