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