2021-03-14 01:21:13 +00:00
|
|
|
{ lib
|
|
|
|
, fetchFromGitLab
|
2021-09-19 23:34:27 +01:00
|
|
|
, python3
|
2021-03-14 01:21:13 +00:00
|
|
|
}:
|
2021-09-19 23:34:27 +01:00
|
|
|
let
|
|
|
|
py = python3.override {
|
|
|
|
packageOverrides = self: super: {
|
|
|
|
|
|
|
|
cmd2 = super.cmd2.overridePythonAttrs (oldAttrs: rec {
|
|
|
|
version = "1.5.0";
|
|
|
|
src = oldAttrs.src.override {
|
|
|
|
inherit version;
|
|
|
|
sha256 = "0qiax309my534drk81lihq9ghngr96qnm40kbmgc9ay4fncqq6kh";
|
|
|
|
};
|
|
|
|
});
|
|
|
|
};
|
|
|
|
};
|
|
|
|
in
|
|
|
|
with py.pkgs;
|
2021-03-14 01:21:13 +00:00
|
|
|
|
|
|
|
buildPythonApplication rec {
|
|
|
|
pname = "expliot";
|
2021-05-07 11:25:13 +01:00
|
|
|
version = "0.9.8";
|
2021-09-19 23:34:27 +01:00
|
|
|
|
|
|
|
disabled = python3.pythonOlder "3.7";
|
2021-03-14 01:21:13 +00:00
|
|
|
|
|
|
|
src = fetchFromGitLab {
|
|
|
|
owner = "expliot_framework";
|
|
|
|
repo = pname;
|
|
|
|
rev = version;
|
2021-05-07 11:25:13 +01:00
|
|
|
sha256 = "sha256-7Cuj3YKKwDxP2KKueJR9ZO5Bduv+lw0Y87Rw4b0jbGY=";
|
2021-03-14 01:21:13 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
propagatedBuildInputs = [
|
|
|
|
aiocoap
|
|
|
|
awsiotpythonsdk
|
|
|
|
bluepy
|
|
|
|
can
|
|
|
|
cmd2
|
|
|
|
cryptography
|
|
|
|
paho-mqtt
|
|
|
|
pyi2cflash
|
|
|
|
pymodbus
|
|
|
|
pynetdicom
|
|
|
|
pyparsing
|
|
|
|
pyserial
|
|
|
|
pyspiflash
|
|
|
|
upnpy
|
|
|
|
xmltodict
|
|
|
|
zeroconf
|
|
|
|
];
|
|
|
|
|
|
|
|
# Project has no tests
|
|
|
|
doCheck = false;
|
2021-09-19 23:34:27 +01:00
|
|
|
|
2021-03-14 01:21:13 +00:00
|
|
|
pythonImportsCheck = [ "expliot" ];
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "IoT security testing and exploitation framework";
|
|
|
|
longDescription = ''
|
|
|
|
EXPLIoT is a Framework for security testing and exploiting IoT
|
|
|
|
products and IoT infrastructure. It provides a set of plugins
|
|
|
|
(test cases) which are used to perform the assessment and can
|
|
|
|
be extended easily with new ones. The name EXPLIoT (pronounced
|
|
|
|
expl-aa-yo-tee) is a pun on the word exploit and explains the
|
|
|
|
purpose of the framework i.e. IoT exploitation.
|
|
|
|
'';
|
|
|
|
homepage = "https://expliot.readthedocs.io/";
|
|
|
|
license = with licenses; [ agpl3Plus ];
|
|
|
|
maintainers = with maintainers; [ fab ];
|
|
|
|
};
|
|
|
|
}
|