1{
2 lib,
3 stdenv,
4 fetchFromGitLab,
5 makeWrapper,
6}:
7stdenv.mkDerivation (finalAttrs: {
8 pname = "exploitdb";
9 version = "2025-09-18";
10
11 src = fetchFromGitLab {
12 owner = "exploit-database";
13 repo = "exploitdb";
14 tag = finalAttrs.version;
15 hash = "sha256-+5zXe+64tZD7zjZKXrAuv5ggBRb1ecKzKZSY2Knzklg=";
16 };
17
18 nativeBuildInputs = [ makeWrapper ];
19
20 installPhase = ''
21 runHook preInstall
22 mkdir -p $out/bin $out/share
23 cp --recursive . $out/share/exploitdb
24
25 substituteInPlace $out/share/exploitdb/.searchsploit_rc \
26 --replace-fail 'path_array+=("/opt/exploitdb")' 'path_array+=("'$out'/share/exploitdb")' \
27 --replace-fail 'path_array+=("/opt/exploitdb-papers")' 'path_array+=("'$out'/share/exploitdb")'
28
29 makeWrapper $out/share/exploitdb/searchsploit $out/bin/searchsploit
30 runHook postInstall
31 '';
32
33 meta = {
34 description = "Archive of public exploits and corresponding vulnerable software";
35 homepage = "https://gitlab.com/exploit-database/exploitdb";
36 license = with lib.licenses; [
37 gpl2Plus
38 gpl3Plus
39 mit
40 ];
41 maintainers = with lib.maintainers; [
42 applePrincess
43 fab
44 ];
45 mainProgram = "searchsploit";
46 platforms = lib.platforms.unix;
47 };
48})