1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 impacket,
6 netaddr,
7 poetry-core,
8 pypykatz,
9 pythonOlder,
10 rich,
11}:
12
13buildPythonPackage rec {
14 pname = "lsassy";
15 version = "3.1.13";
16 pyproject = true;
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "Hackndo";
22 repo = "lsassy";
23 tag = "v${version}";
24 hash = "sha256-DdIEDseGLI+hUIaUNPBqpkGGe+F+Z+jZ0g/JzXB8pf8=";
25 };
26
27 pythonRelaxDeps = [
28 "impacket"
29 "netaddr"
30 "rich"
31 ];
32
33 build-system = [ poetry-core ];
34
35 dependencies = [
36 impacket
37 netaddr
38 pypykatz
39 rich
40 ];
41
42 # Tests require an active domain controller
43 doCheck = false;
44
45 pythonImportsCheck = [ "lsassy" ];
46
47 meta = with lib; {
48 description = "Python module to extract data from Local Security Authority Subsystem Service (LSASS)";
49 homepage = "https://github.com/Hackndo/lsassy";
50 changelog = "https://github.com/Hackndo/lsassy/releases/tag/v${version}";
51 license = with licenses; [ mit ];
52 maintainers = with maintainers; [ fab ];
53 mainProgram = "lsassy";
54 };
55}