nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitLab,
4 python3,
5}:
6with python3.pkgs;
7buildPythonApplication rec {
8 pname = "expliot";
9 version = "0.11.1";
10 pyproject = true;
11
12 src = fetchFromGitLab {
13 owner = "expliot_framework";
14 repo = "expliot";
15 tag = version;
16 hash = "sha256-aFJVT5vE9YKirZEINKFzYWDffoVgluoUyvMmOifLq1M=";
17 };
18
19 build-system = [
20 poetry-core
21 ];
22
23 pythonRelaxDeps = [
24 "cryptography"
25 "paho-mqtt"
26 "pynetdicom"
27 "setuptools"
28 "xmltodict"
29 "zeroconf"
30 ];
31
32 dependencies = [
33 aiocoap
34 awsiotpythonsdk
35 bluepy
36 cmd2
37 cryptography
38 distro
39 jsonschema
40 paho-mqtt
41 pyi2cflash
42 pymodbus
43 pynetdicom
44 pyparsing
45 pyspiflash
46 python-can
47 python-magic
48 pyudev
49 setuptools
50 upnpy
51 xmltodict
52 zeroconf
53 ];
54
55 # Project has no tests
56 doCheck = false;
57
58 pythonImportsCheck = [ "expliot" ];
59
60 meta = {
61 description = "IoT security testing and exploitation framework";
62 longDescription = ''
63 EXPLIoT is a Framework for security testing and exploiting IoT
64 products and IoT infrastructure. It provides a set of plugins
65 (test cases) which are used to perform the assessment and can
66 be extended easily with new ones. The name EXPLIoT (pronounced
67 expl-aa-yo-tee) is a pun on the word exploit and explains the
68 purpose of the framework i.e. IoT exploitation.
69 '';
70 homepage = "https://expliot.readthedocs.io/";
71 license = lib.licenses.agpl3Plus;
72 maintainers = with lib.maintainers; [ fab ];
73 mainProgram = "expliot";
74 };
75}