1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 makeWrapper,
6 amass,
7 alterx,
8 oam-tools,
9 subfinder,
10}:
11
12buildGoModule rec {
13 pname = "easyeasm";
14 version = "1.0.6";
15
16 src = fetchFromGitHub {
17 owner = "g0ldencybersec";
18 repo = "EasyEASM";
19 tag = "v${version}";
20 hash = "sha256-/PhoH+5k63rJL1N3V3IL1TP1oacsBfGfVw/OueN9j8M=";
21 };
22
23 vendorHash = "sha256-g+yaVIx4jxpAQ/+WrGKxhVeliYx7nLQe/zsGpxV4Fn4=";
24
25 nativeBuildInputs = [
26 makeWrapper
27 ];
28
29 ldflags = [
30 "-s"
31 "-w"
32 ];
33
34 postFixup = ''
35 wrapProgram $out/bin/easyeasm \
36 --prefix PATH : "${
37 lib.makeBinPath [
38 amass
39 alterx
40 oam-tools
41 subfinder
42 ]
43 }"
44 '';
45
46 meta = {
47 description = "Attack surface management tool";
48 homepage = "https://github.com/g0ldencybersec/EasyEASM";
49 changelog = "https://github.com/g0ldencybersec/EasyEASM/releases/tag/v${version}";
50 license = lib.licenses.mit;
51 maintainers = with lib.maintainers; [ fab ];
52 mainProgram = "easyeasm";
53 };
54}