Loading pkgs/by-name/bl/bloodhound-ce/fetch-dagrejs-via-https.patch 0 → 100644 +42 −0 Original line number Diff line number Diff line diff --git a/cmd/ui/package.json b/cmd/ui/package.json index e061ece8e3..e80f144399 100644 --- a/cmd/ui/package.json +++ b/cmd/ui/package.json @@ -34,7 +34,7 @@ "@react-sigma/core": "^3.4.1", "@reduxjs/toolkit": "^1.8.5", "bh-shared-ui": "workspace:*", - "dagrejs": "git@github.com:BloodHoundAD/dagre.git", + "dagrejs": "https://github.com/BloodHoundAD/dagre/archive/3e217cedd8c540c10f9282c2f87d9d4f88dd8185.tar.gz", "downshift": "^6.1.7", "graphology": "^0.25.1", "graphology-layout": "^0.6.1", diff --git a/yarn.lock b/yarn.lock index d1da73ceb6..f9efa7a893 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4884,7 +4884,7 @@ "@vitest/coverage-v8": ^2.1.9 autoprefixer: ^10.4.20 bh-shared-ui: "workspace:*" - dagrejs: "git@github.com:BloodHoundAD/dagre.git" + dagrejs: "https://github.com/BloodHoundAD/dagre/archive/3e217cedd8c540c10f9282c2f87d9d4f88dd8185.tar.gz" downshift: ^6.1.7 eslint: ^8.57.0 eslint-config-prettier: ^9.1.0 @@ -5572,12 +5572,12 @@ languageName: node linkType: hard -"dagrejs@git@github.com:BloodHoundAD/dagre.git": +"dagrejs@https://github.com/BloodHoundAD/dagre/archive/3e217cedd8c540c10f9282c2f87d9d4f88dd8185.tar.gz": version: 1.0.1-pre - resolution: "dagrejs@git@github.com:BloodHoundAD/dagre.git#commit=3e217cedd8c540c10f9282c2f87d9d4f88dd8185" + resolution: "dagrejs@https://github.com/BloodHoundAD/dagre/archive/3e217cedd8c540c10f9282c2f87d9d4f88dd8185.tar.gz" dependencies: "@dagrejs/graphlib": 2.1.12 - checksum: 7c93c58f7f3c32d990f3136ea90802619cf254106755ac8aa09baf3d772b71a39264ce39fa961b1f9b65dcba04b5c229cace129eb74b411087e85f40d7c2008d + checksum: 3c6e8873a5598b87ca6adb1da33a0f0a324bae325e946efa08af2e1e138ac48bbe6dbd9ffe9f6026185aa0b71268947237b63e7aceacf603409560bff4998b11 languageName: node linkType: hard pkgs/by-name/bl/bloodhound-ce/missing-hashes.json 0 → 100644 +44 −0 Original line number Diff line number Diff line { "@esbuild/aix-ppc64@npm:0.21.5": "97ede19d9e192ba1697ce1d1ea898d7b055605a49f78812abc2c9ee3429d46b30ac0bf064437bbfdf231e4ed484fb1093f30dd65c5f6b21fa3530be1e6ac739b", "@esbuild/android-arm64@npm:0.21.5": "46f84da8656aca18906d8d92469b6a9012c08e3b709002e8711160a07ca993c111cf82966b317ee508bbe73e15efec3c4e0211ad74d5ca0e5795bfa19c1163ab", "@esbuild/android-arm@npm:0.21.5": "082023508d5e46a81ccb3a8bac3ca693bc3832bcb89a32a8cdfd1d643029381e8d4995a8ebcaece03eeb68ebf3a10c5f11f8604e99ea1d6acb1ca8d4eab2f62c", "@esbuild/android-x64@npm:0.21.5": "1141ef28c967dae1b44e921c83bfcc67186d6cde2dcca16909dd34fc84a40852389a99716e603cd348780ade7d9901e054c88a06906e3bfa703f3701d742d86a", "@esbuild/darwin-arm64@npm:0.21.5": "50d5d633be3d0fe0fce54c4740171ae6d2e8f5220280a6f6996f234c718de25535e50a31cee1745b5b80f2cc9e336c42c7fc2b49f3ea38b5f3ff5d8c97ef4123", "@esbuild/darwin-x64@npm:0.21.5": "7f3657b7e76ea593eea37ac6738ed5cc10e97fda333f1b6c7bbf2f7c2e292e7ffe7fa8f214ffd9298f4a748ac6e421e061605e6a5e87333311fbe33f255f39df", "@esbuild/freebsd-arm64@npm:0.21.5": "7efa374aa1a57e6473acda817fcac4b1f9da953a9d945f5a051f7451c1f31ae34af1855b67c3bfcbb8a49e04c10083ec112f3eacaeb0114d3b1a5576bced8fa6", "@esbuild/freebsd-x64@npm:0.21.5": "e365444f5ff8b64dfccc065cee72cb30223f8075be0ea4323578a5677bfd9f114935823cebc2d4f40739288a6e46a1c963d7c68cd5b334eac3e7e38eefdaea77", "@esbuild/linux-arm64@npm:0.21.5": "cdd25895394a13db376a2c4bff1f800642d5d5c2b502e6b96ed989d5386b5d0c00b437c04fd5ac1e30d71727d2d7382981d51154b2ae27692288a7cc02148f1b", "@esbuild/linux-arm@npm:0.21.5": "d08c2f7cf878ef3e0e541dbe8dd4a5ef9cf5f8328ad703353aaf3dfec533e61beb69bb59b6c26022b7ff777c5db39968f4cf60fe4133400e98d1c546a3a0990a", "@esbuild/linux-ia32@npm:0.21.5": "274b528e979f87f106ff306793e4a5d788c4d5de14914e25e784e4b7cb67f2da93227e2f65315b66b79e271b48cec4b2442226bd32f139acb77bb4f492cc4de2", "@esbuild/linux-loong64@npm:0.21.5": "5016b6ff58667dfa026d6911e5d04a644f56bb0dc8385a84e5ca83eb231d9b570d24d6da79542b94cfd7f164a7da7c40b26c8e7ea32d050d1476035dde1f5c59", "@esbuild/linux-mips64el@npm:0.21.5": "540c8e3bdfc380ee07c72b7df3583e0a0c236144cc84ce33b0a906075ac81ab357429023ba2ef4823dd0247edbc7843cfa41b878ae665e62d3d0ef107fdfe27d", "@esbuild/linux-ppc64@npm:0.21.5": "929a04c785fa9dcced848b14f060b514418f7e4cde17b12232027dead1ea9fd91b47e080887e6d0a431bb7222f7f0184664edea0f9ae8fe17a611450ff07c52c", "@esbuild/linux-riscv64@npm:0.21.5": "ad4d6743d9d266700c9e874bc12787be4425de7ea4f5192863adca27f7cefa583ec573b4e6f1f5cc6dfd9bb3542d9ddbe9c9e661e113da2c54ce4a7296f455a1", "@esbuild/linux-s390x@npm:0.21.5": "d5ba16e3d434c109f740d5d31e037c07685b8f989f20eb4295db658057cf03c1363001991258e8d8f523153f7f6e993314ac086b3434acfb067bc39701a54c53", "@esbuild/linux-x64@npm:0.21.5": "91c202dca064909b2c56522f98e3a3b24bc5d43405506b4e67923ecb5d0cc2b78dcee8d815f705d71395402f8532670a391777a3cf6a08894049e453becf07a0", "@esbuild/netbsd-x64@npm:0.21.5": "f42c8c96699fe3cb5ae258d075d437ebf0cb19bdca3b99431be4377f9dbcb9a154f3106e4e85a587b491f2a5c31e15d58f2b1505de5fc23379bf9c5535db9f2d", "@esbuild/openbsd-x64@npm:0.21.5": "7d11f7a371fa438a0e3cf3f6d626e698b773c4f0b2577b0a0b9d303d13ad1cd6821473df0dc96dc09f2cfe12f7502a6011f000292fcf750c1b7b1ad6a93e49ca", "@esbuild/sunos-x64@npm:0.21.5": "1d3b0f316fcca3e22b055c1f459b618adea8c70d9ea996845fb231489c7a4f6dde547666b7a257710245f4b312c57c4bc3006789e4a37735ba626aeab069e253", "@esbuild/win32-arm64@npm:0.21.5": "eaa7a03d70828e806db8010d497e716c49c3fbd72ab7af3de1604726de1ce292b4441aa4bcaa693fb234d9e0054e81daed6f3e1f794a160282c31be424f45789", "@esbuild/win32-ia32@npm:0.21.5": "7a42a116d954eb7920e0713a2cddc605275b36dda91ef34a41d16461d3e1dabad1942742b742c37d0d9d981975445c2acb3cc079628bc415bd94284342c5abe0", "@esbuild/win32-x64@npm:0.21.5": "59f53cdd81340d48479bd4998fc2c11c7018964ca4c41efe3e00fa56b94e4b2e11c9606bac6cf92384a2268d2a9f7621a8d441d456ea42200c91f8a38c03e476", "@rollup/rollup-android-arm-eabi@npm:4.35.0": "63b8af67e4db20b58719c2e7a4e1a8252e591ce3f621c3b254c80ae413127d18dce7a9ba1be157068efe511af99170d519613ca6e005c273ed1bfb37d46e8d9a", "@rollup/rollup-android-arm64@npm:4.35.0": "69f8bcb2123fd201e3db6f828bccec8b2ca3c707b06fd82e0792d1af615214c104b835669601e4dfddf50f77eb3036de8abfe0bb30d2eaa237c3e1006ef10f9c", "@rollup/rollup-darwin-arm64@npm:4.35.0": "559080459c32778aa481745f9a3ee35fa6cec2e3d2cd16246515e7554830571b35c8a334f7a264337a9cede422a8f86e94bfb5daf77ecc07fa5d0384f099b767", "@rollup/rollup-darwin-x64@npm:4.35.0": "ad7e081f4fe82274cebb89ed34cb6bb7c9e2eb30d03fd4cd2c9d4217c76227ec370d7065a1778791a5fe82d3ee7e9e9a04a77714cf65fe36c9e43202a49198b4", "@rollup/rollup-freebsd-arm64@npm:4.35.0": "a685691f78693b8b5052a7fe4fbf89361b2001115b14c14cd156ad84b621e67c7b67171aee05d3a659f4148df31fd9a4460b3ac27627bacbda185fa2576e1f45", "@rollup/rollup-freebsd-x64@npm:4.35.0": "6202f1e61d0d92a0232b46a98c6ca9d71782803d2ffe5c7b99b04230ecdc1d822408b2833c5889804c27bb364897708676ed9853e8c4cae19f7ea9a9afa291ef", "@rollup/rollup-linux-arm-gnueabihf@npm:4.35.0": "b05e7aee3c388a2902bc282952c3d8ebf7d72a6ecebb44bc76bbcf86c399294f471f59fcaf32750b8ae885f17c6f707f75dc698883aaeb3424e5a9b4a2ff9416", "@rollup/rollup-linux-arm-musleabihf@npm:4.35.0": "74fa64b7d9891770ef305f64e7cf10684252819f77e7e6b6bd9480aede21e4a6050989840cb3a3d471b17adf6186755ae11c9c6da31a64c3df362c6b3477ef74", "@rollup/rollup-linux-arm64-gnu@npm:4.35.0": "64774108822fe5a03dbfcc956988a6ad649a1de284878b395778fef72fd28103112d30fc4478cad0f8f738fee43a1f9d53847a76a6003881a6850e43c868ce72", "@rollup/rollup-linux-arm64-musl@npm:4.35.0": "51c3785b65767c1345359fdf738e88dacfe7394787ec275245e0d2db94b487bfd57c0461b38239afdbc276d8428fe6e688d716c76012c97a4b5ec21f86482cb5", "@rollup/rollup-linux-loongarch64-gnu@npm:4.35.0": "42ecbbe666cfbe20c1a6ff81f10318524c0b2cb0aaeda5ad41ce02f13bba29c72352b75b5a0bfe0a600a2e4daeca616e2ad4b874c3066a130612c7e1518c9ffa", "@rollup/rollup-linux-powerpc64le-gnu@npm:4.35.0": "00d07f1f4d41ad965554c32aafd7409f651749b62570fbb41442f72264a2df841be37deb9a11409d399727d9c16d740204ae8f280c2f0bbcada5ec65e70a0f61", "@rollup/rollup-linux-riscv64-gnu@npm:4.35.0": "1ce600dcd78e5de15f0f10f21c2378c5469250c0fb00c610e1f218a62855a17a425631afffc84e8d526070d82c96980da86aa8b9a8fce400e79cd030027ec995", "@rollup/rollup-linux-s390x-gnu@npm:4.35.0": "f0e568e47e2d4675afc139c2d13cb0258ffe08414b8ac75372454c7179f74364fb06504666cf22c824f18e12e5c1dc774a1a2e2bb3201689ec116e4e6e5570db", "@rollup/rollup-linux-x64-gnu@npm:4.35.0": "d07781b3fcef75ca3989ff5f179d03a7ca0e93dd478b001557b5950d8883ac2104a63688cbf3d8d085baea4a676d73dd04ef053914e5c8839d6295eb682c06b4", "@rollup/rollup-linux-x64-musl@npm:4.35.0": "7052cd1dbf44674da9a57d453435693456ad1cdbf079307f6ff9ceecc92c654c194c7b06a5692f34690bc2f73397d6f7f5dc93710403bff11d4082818d9b4ff4", "@rollup/rollup-win32-arm64-msvc@npm:4.35.0": "0259f2acfbc1bfea042e235fbc8d8862e2c06cb394106e16b1ca980e66002d002cc55dc463fedb28feda49375f605d2aa8ceff52e78d4db2ca8e2921a5c89806", "@rollup/rollup-win32-ia32-msvc@npm:4.35.0": "2ec41e203aee7eaa42eceb2853c0e7cce0613034d0e086d3eca4073b0565769c674f7563cb0f05d90900cf08bc486b57c16cb184b1e8d68ee57c60fc0a54f18a", "@rollup/rollup-win32-x64-msvc@npm:4.35.0": "253b4421e708bde3f848d5165619f0301cd65da6d359ba1f23c6e2a42466d1a793baf35df46fb3574a8a6e74b0439511c397624742dd9abcb3a11256a9599007" } pkgs/by-name/bl/bloodhound-ce/package.nix 0 → 100644 +227 −0 Original line number Diff line number Diff line { buildGoModule, fetchFromGitHub, fetchurl, lib, makeWrapper, nodejs_22, p7zip, python311, runCommand, stdenv, yarn-berry_3, }: let inherit (lib) concatLines flip pipe; inherit (lib.versions) major minor patch; # reference: https://github.com/SpecterOps/BloodHound/blob/v8.3.1/dockerfiles/bloodhound.Dockerfile pname = "bloodhound-ce"; version = "8.3.1"; src = fetchFromGitHub { owner = "SpecterOps"; repo = "BloodHound"; tag = "v${version}"; hash = "sha256-mIoQkxUxv2BktFGSLKo5RVEF/7JByiyCWC2o9GWS9w4="; }; filter = flip pipe [ (map (x: '' mkdir -p "$out/${dirOf x}" cp -r "${src}/${x}" "$out/${x}" '')) concatLines (runCommand "filtered-source" { }) ]; yarn-berry = yarn-berry_3; ############################################################################## frontend = stdenv.mkDerivation (finalAttrs: { pname = "bloodhound-ce-frontend"; inherit version; src = filter [ ".yarn/plugins" ".yarn/releases" ".yarnrc.yml" "cmd/ui" "constraints.pro" "package.json" "packages/javascript" "yarn-workspaces.json" "yarn.lock" ]; patches = [ # cmd/ui/package.json includes "git@github.com:BloodHoundAD/dagre.git" # which is fetched using SSH, and that doesn't work in the Nix sandbox # so we just replace it with a standard HTTPS URL ./fetch-dagrejs-via-https.patch ]; nativeBuildInputs = [ nodejs_22 yarn-berry yarn-berry.yarnBerryConfigHook python311 # for node-gyp builds ]; missingHashes = ./missing-hashes.json; offlineCache = yarn-berry.fetchYarnBerryDeps { inherit (finalAttrs) src patches missingHashes; hash = "sha256-0OXOZ9QVpOxqE4r1Gj0dOlEijY+JAqOvanntp5D5t1M="; }; env.JOBS = "max"; buildPhase = '' runHook preBuild yarn build runHook postBuild ''; installPhase = '' runHook preInstall cp -r cmd/ui/dist $out runHook postInstall ''; }); ############################################################################## collectors = let azver = "v2.8.1"; shver = "v2.8.0"; sharphound = fetchurl { url = "https://github.com/SpecterOps/SharpHound/releases/download/${shver}/sharphound_${shver}_windows_x86.zip"; hash = "sha256-BjBOxjhQYpqD/qUy9EsuXplK8JAuPU/LE2O0Ooxr+r4="; }; in pipe [ { os = "darwin"; arch = "amd64"; hash = "sha256-HD5vMc6vt71wj5ST6On417iY3DJZQXdG8Il73H22m9Q="; } { os = "darwin"; arch = "arm64"; hash = "sha256-57i+/9gV17pqQqqnEianJdJ6Jtg4DsExMkfAEqaeNns="; } { os = "linux"; arch = "amd64"; hash = "sha256-8wrEef0+ik5WAsIV7tInyUlNnsUBw6Ux9LE7gVS3Fhs="; } { os = "linux"; arch = "arm64"; hash = "sha256-23lokcbd2Yp9pWibsb5SNW/YE/eHpHCFZv2PbBlw0Xo="; } { os = "windows"; arch = "amd64"; hash = "sha256-IkEfEh2VFNTnuUAez6/vMY7sMv4rtDR3Paerev/xoqs="; } { os = "windows"; arch = "arm64"; hash = "sha256-qEgmO7oNy/pUXH7lbOoJxNznl2mPofj2R5RGBZdOoUI="; } ] [ (map ( x: "cp ${ fetchurl { url = "https://github.com/SpecterOps/AzureHound/releases/download/${azver}/azurehound_${azver}_${x.os}_${x.arch}.zip"; inherit (x) hash; } } azurehound_${azver}_${x.os}_${x.arch}.zip" )) concatLines ( copyAzurehoundZips: stdenv.mkDerivation { pname = "bloodhound-ce-collectors"; inherit version src; nativeBuildInputs = [ p7zip ]; installPhase = '' mkdir -p $out/{azurehound,sharphound} ${copyAzurehoundZips} 7z x 'azurehound_*.zip' '-oartifacts/*' (cd artifacts; 7z a -tzip -mx9 $out/azurehound/azurehound-${azver}.zip *) cp ${sharphound} $out/sharphound/sharphound-${shver}.zip for i in $out/*/*.zip; do sha256sum "$i" > "$i.sha256"; done ''; } ) ]; in buildGoModule { inherit pname version; src = filter [ "cmd/api" "go.mod" "go.sum" "packages/go" ]; nativeBuildInputs = [ makeWrapper ]; ldflags = [ "-s" "-w" "-X github.com/specterops/bloodhound/cmd/api/src/version.majorVersion=${major version}" "-X github.com/specterops/bloodhound/cmd/api/src/version.minorVersion=${minor version}" "-X github.com/specterops/bloodhound/cmd/api/src/version.patchVersion=${patch version}" ]; subPackages = [ "cmd/api/src/cmd/bhapi" ]; vendorHash = "sha256-Lm6g0pxGVIuns6mUwnkbnBQQQp1V0TvEakX5fAo8qMo="; preBuild = '' rm -rf cmd/api/src/api/static/assets cp -r ${frontend} cmd/api/src/api/static/assets ''; postInstall = '' mv $out/bin/{bhapi,bloodhound-ce} wrapProgram $out/bin/bloodhound-ce \ --set BHE_COLLECTORS_BASE_PATH ${collectors} ''; passthru = { inherit frontend collectors; }; meta = with lib; { description = "Six Degrees of Domain Admin"; homepage = "https://github.com/SpecterOps/BloodHound"; changelog = "https://github.com/SpecterOps/BloodHound/releases/tag/v${version}"; downloadPage = "https://github.com/SpecterOps/BloodHound/releases"; license = licenses.asl20; platforms = platforms.linux; maintainers = with maintainers; [ eleonora ]; mainProgram = "bloodhound-ce"; }; } Loading
pkgs/by-name/bl/bloodhound-ce/fetch-dagrejs-via-https.patch 0 → 100644 +42 −0 Original line number Diff line number Diff line diff --git a/cmd/ui/package.json b/cmd/ui/package.json index e061ece8e3..e80f144399 100644 --- a/cmd/ui/package.json +++ b/cmd/ui/package.json @@ -34,7 +34,7 @@ "@react-sigma/core": "^3.4.1", "@reduxjs/toolkit": "^1.8.5", "bh-shared-ui": "workspace:*", - "dagrejs": "git@github.com:BloodHoundAD/dagre.git", + "dagrejs": "https://github.com/BloodHoundAD/dagre/archive/3e217cedd8c540c10f9282c2f87d9d4f88dd8185.tar.gz", "downshift": "^6.1.7", "graphology": "^0.25.1", "graphology-layout": "^0.6.1", diff --git a/yarn.lock b/yarn.lock index d1da73ceb6..f9efa7a893 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4884,7 +4884,7 @@ "@vitest/coverage-v8": ^2.1.9 autoprefixer: ^10.4.20 bh-shared-ui: "workspace:*" - dagrejs: "git@github.com:BloodHoundAD/dagre.git" + dagrejs: "https://github.com/BloodHoundAD/dagre/archive/3e217cedd8c540c10f9282c2f87d9d4f88dd8185.tar.gz" downshift: ^6.1.7 eslint: ^8.57.0 eslint-config-prettier: ^9.1.0 @@ -5572,12 +5572,12 @@ languageName: node linkType: hard -"dagrejs@git@github.com:BloodHoundAD/dagre.git": +"dagrejs@https://github.com/BloodHoundAD/dagre/archive/3e217cedd8c540c10f9282c2f87d9d4f88dd8185.tar.gz": version: 1.0.1-pre - resolution: "dagrejs@git@github.com:BloodHoundAD/dagre.git#commit=3e217cedd8c540c10f9282c2f87d9d4f88dd8185" + resolution: "dagrejs@https://github.com/BloodHoundAD/dagre/archive/3e217cedd8c540c10f9282c2f87d9d4f88dd8185.tar.gz" dependencies: "@dagrejs/graphlib": 2.1.12 - checksum: 7c93c58f7f3c32d990f3136ea90802619cf254106755ac8aa09baf3d772b71a39264ce39fa961b1f9b65dcba04b5c229cace129eb74b411087e85f40d7c2008d + checksum: 3c6e8873a5598b87ca6adb1da33a0f0a324bae325e946efa08af2e1e138ac48bbe6dbd9ffe9f6026185aa0b71268947237b63e7aceacf603409560bff4998b11 languageName: node linkType: hard
pkgs/by-name/bl/bloodhound-ce/missing-hashes.json 0 → 100644 +44 −0 Original line number Diff line number Diff line { "@esbuild/aix-ppc64@npm:0.21.5": "97ede19d9e192ba1697ce1d1ea898d7b055605a49f78812abc2c9ee3429d46b30ac0bf064437bbfdf231e4ed484fb1093f30dd65c5f6b21fa3530be1e6ac739b", "@esbuild/android-arm64@npm:0.21.5": "46f84da8656aca18906d8d92469b6a9012c08e3b709002e8711160a07ca993c111cf82966b317ee508bbe73e15efec3c4e0211ad74d5ca0e5795bfa19c1163ab", "@esbuild/android-arm@npm:0.21.5": "082023508d5e46a81ccb3a8bac3ca693bc3832bcb89a32a8cdfd1d643029381e8d4995a8ebcaece03eeb68ebf3a10c5f11f8604e99ea1d6acb1ca8d4eab2f62c", "@esbuild/android-x64@npm:0.21.5": "1141ef28c967dae1b44e921c83bfcc67186d6cde2dcca16909dd34fc84a40852389a99716e603cd348780ade7d9901e054c88a06906e3bfa703f3701d742d86a", "@esbuild/darwin-arm64@npm:0.21.5": "50d5d633be3d0fe0fce54c4740171ae6d2e8f5220280a6f6996f234c718de25535e50a31cee1745b5b80f2cc9e336c42c7fc2b49f3ea38b5f3ff5d8c97ef4123", "@esbuild/darwin-x64@npm:0.21.5": "7f3657b7e76ea593eea37ac6738ed5cc10e97fda333f1b6c7bbf2f7c2e292e7ffe7fa8f214ffd9298f4a748ac6e421e061605e6a5e87333311fbe33f255f39df", "@esbuild/freebsd-arm64@npm:0.21.5": "7efa374aa1a57e6473acda817fcac4b1f9da953a9d945f5a051f7451c1f31ae34af1855b67c3bfcbb8a49e04c10083ec112f3eacaeb0114d3b1a5576bced8fa6", "@esbuild/freebsd-x64@npm:0.21.5": "e365444f5ff8b64dfccc065cee72cb30223f8075be0ea4323578a5677bfd9f114935823cebc2d4f40739288a6e46a1c963d7c68cd5b334eac3e7e38eefdaea77", "@esbuild/linux-arm64@npm:0.21.5": "cdd25895394a13db376a2c4bff1f800642d5d5c2b502e6b96ed989d5386b5d0c00b437c04fd5ac1e30d71727d2d7382981d51154b2ae27692288a7cc02148f1b", "@esbuild/linux-arm@npm:0.21.5": "d08c2f7cf878ef3e0e541dbe8dd4a5ef9cf5f8328ad703353aaf3dfec533e61beb69bb59b6c26022b7ff777c5db39968f4cf60fe4133400e98d1c546a3a0990a", "@esbuild/linux-ia32@npm:0.21.5": "274b528e979f87f106ff306793e4a5d788c4d5de14914e25e784e4b7cb67f2da93227e2f65315b66b79e271b48cec4b2442226bd32f139acb77bb4f492cc4de2", "@esbuild/linux-loong64@npm:0.21.5": "5016b6ff58667dfa026d6911e5d04a644f56bb0dc8385a84e5ca83eb231d9b570d24d6da79542b94cfd7f164a7da7c40b26c8e7ea32d050d1476035dde1f5c59", "@esbuild/linux-mips64el@npm:0.21.5": "540c8e3bdfc380ee07c72b7df3583e0a0c236144cc84ce33b0a906075ac81ab357429023ba2ef4823dd0247edbc7843cfa41b878ae665e62d3d0ef107fdfe27d", "@esbuild/linux-ppc64@npm:0.21.5": "929a04c785fa9dcced848b14f060b514418f7e4cde17b12232027dead1ea9fd91b47e080887e6d0a431bb7222f7f0184664edea0f9ae8fe17a611450ff07c52c", "@esbuild/linux-riscv64@npm:0.21.5": "ad4d6743d9d266700c9e874bc12787be4425de7ea4f5192863adca27f7cefa583ec573b4e6f1f5cc6dfd9bb3542d9ddbe9c9e661e113da2c54ce4a7296f455a1", "@esbuild/linux-s390x@npm:0.21.5": "d5ba16e3d434c109f740d5d31e037c07685b8f989f20eb4295db658057cf03c1363001991258e8d8f523153f7f6e993314ac086b3434acfb067bc39701a54c53", "@esbuild/linux-x64@npm:0.21.5": "91c202dca064909b2c56522f98e3a3b24bc5d43405506b4e67923ecb5d0cc2b78dcee8d815f705d71395402f8532670a391777a3cf6a08894049e453becf07a0", "@esbuild/netbsd-x64@npm:0.21.5": "f42c8c96699fe3cb5ae258d075d437ebf0cb19bdca3b99431be4377f9dbcb9a154f3106e4e85a587b491f2a5c31e15d58f2b1505de5fc23379bf9c5535db9f2d", "@esbuild/openbsd-x64@npm:0.21.5": "7d11f7a371fa438a0e3cf3f6d626e698b773c4f0b2577b0a0b9d303d13ad1cd6821473df0dc96dc09f2cfe12f7502a6011f000292fcf750c1b7b1ad6a93e49ca", "@esbuild/sunos-x64@npm:0.21.5": "1d3b0f316fcca3e22b055c1f459b618adea8c70d9ea996845fb231489c7a4f6dde547666b7a257710245f4b312c57c4bc3006789e4a37735ba626aeab069e253", "@esbuild/win32-arm64@npm:0.21.5": "eaa7a03d70828e806db8010d497e716c49c3fbd72ab7af3de1604726de1ce292b4441aa4bcaa693fb234d9e0054e81daed6f3e1f794a160282c31be424f45789", "@esbuild/win32-ia32@npm:0.21.5": "7a42a116d954eb7920e0713a2cddc605275b36dda91ef34a41d16461d3e1dabad1942742b742c37d0d9d981975445c2acb3cc079628bc415bd94284342c5abe0", "@esbuild/win32-x64@npm:0.21.5": "59f53cdd81340d48479bd4998fc2c11c7018964ca4c41efe3e00fa56b94e4b2e11c9606bac6cf92384a2268d2a9f7621a8d441d456ea42200c91f8a38c03e476", "@rollup/rollup-android-arm-eabi@npm:4.35.0": "63b8af67e4db20b58719c2e7a4e1a8252e591ce3f621c3b254c80ae413127d18dce7a9ba1be157068efe511af99170d519613ca6e005c273ed1bfb37d46e8d9a", "@rollup/rollup-android-arm64@npm:4.35.0": "69f8bcb2123fd201e3db6f828bccec8b2ca3c707b06fd82e0792d1af615214c104b835669601e4dfddf50f77eb3036de8abfe0bb30d2eaa237c3e1006ef10f9c", "@rollup/rollup-darwin-arm64@npm:4.35.0": "559080459c32778aa481745f9a3ee35fa6cec2e3d2cd16246515e7554830571b35c8a334f7a264337a9cede422a8f86e94bfb5daf77ecc07fa5d0384f099b767", "@rollup/rollup-darwin-x64@npm:4.35.0": "ad7e081f4fe82274cebb89ed34cb6bb7c9e2eb30d03fd4cd2c9d4217c76227ec370d7065a1778791a5fe82d3ee7e9e9a04a77714cf65fe36c9e43202a49198b4", "@rollup/rollup-freebsd-arm64@npm:4.35.0": "a685691f78693b8b5052a7fe4fbf89361b2001115b14c14cd156ad84b621e67c7b67171aee05d3a659f4148df31fd9a4460b3ac27627bacbda185fa2576e1f45", "@rollup/rollup-freebsd-x64@npm:4.35.0": "6202f1e61d0d92a0232b46a98c6ca9d71782803d2ffe5c7b99b04230ecdc1d822408b2833c5889804c27bb364897708676ed9853e8c4cae19f7ea9a9afa291ef", "@rollup/rollup-linux-arm-gnueabihf@npm:4.35.0": "b05e7aee3c388a2902bc282952c3d8ebf7d72a6ecebb44bc76bbcf86c399294f471f59fcaf32750b8ae885f17c6f707f75dc698883aaeb3424e5a9b4a2ff9416", "@rollup/rollup-linux-arm-musleabihf@npm:4.35.0": "74fa64b7d9891770ef305f64e7cf10684252819f77e7e6b6bd9480aede21e4a6050989840cb3a3d471b17adf6186755ae11c9c6da31a64c3df362c6b3477ef74", "@rollup/rollup-linux-arm64-gnu@npm:4.35.0": "64774108822fe5a03dbfcc956988a6ad649a1de284878b395778fef72fd28103112d30fc4478cad0f8f738fee43a1f9d53847a76a6003881a6850e43c868ce72", "@rollup/rollup-linux-arm64-musl@npm:4.35.0": "51c3785b65767c1345359fdf738e88dacfe7394787ec275245e0d2db94b487bfd57c0461b38239afdbc276d8428fe6e688d716c76012c97a4b5ec21f86482cb5", "@rollup/rollup-linux-loongarch64-gnu@npm:4.35.0": "42ecbbe666cfbe20c1a6ff81f10318524c0b2cb0aaeda5ad41ce02f13bba29c72352b75b5a0bfe0a600a2e4daeca616e2ad4b874c3066a130612c7e1518c9ffa", "@rollup/rollup-linux-powerpc64le-gnu@npm:4.35.0": "00d07f1f4d41ad965554c32aafd7409f651749b62570fbb41442f72264a2df841be37deb9a11409d399727d9c16d740204ae8f280c2f0bbcada5ec65e70a0f61", "@rollup/rollup-linux-riscv64-gnu@npm:4.35.0": "1ce600dcd78e5de15f0f10f21c2378c5469250c0fb00c610e1f218a62855a17a425631afffc84e8d526070d82c96980da86aa8b9a8fce400e79cd030027ec995", "@rollup/rollup-linux-s390x-gnu@npm:4.35.0": "f0e568e47e2d4675afc139c2d13cb0258ffe08414b8ac75372454c7179f74364fb06504666cf22c824f18e12e5c1dc774a1a2e2bb3201689ec116e4e6e5570db", "@rollup/rollup-linux-x64-gnu@npm:4.35.0": "d07781b3fcef75ca3989ff5f179d03a7ca0e93dd478b001557b5950d8883ac2104a63688cbf3d8d085baea4a676d73dd04ef053914e5c8839d6295eb682c06b4", "@rollup/rollup-linux-x64-musl@npm:4.35.0": "7052cd1dbf44674da9a57d453435693456ad1cdbf079307f6ff9ceecc92c654c194c7b06a5692f34690bc2f73397d6f7f5dc93710403bff11d4082818d9b4ff4", "@rollup/rollup-win32-arm64-msvc@npm:4.35.0": "0259f2acfbc1bfea042e235fbc8d8862e2c06cb394106e16b1ca980e66002d002cc55dc463fedb28feda49375f605d2aa8ceff52e78d4db2ca8e2921a5c89806", "@rollup/rollup-win32-ia32-msvc@npm:4.35.0": "2ec41e203aee7eaa42eceb2853c0e7cce0613034d0e086d3eca4073b0565769c674f7563cb0f05d90900cf08bc486b57c16cb184b1e8d68ee57c60fc0a54f18a", "@rollup/rollup-win32-x64-msvc@npm:4.35.0": "253b4421e708bde3f848d5165619f0301cd65da6d359ba1f23c6e2a42466d1a793baf35df46fb3574a8a6e74b0439511c397624742dd9abcb3a11256a9599007" }
pkgs/by-name/bl/bloodhound-ce/package.nix 0 → 100644 +227 −0 Original line number Diff line number Diff line { buildGoModule, fetchFromGitHub, fetchurl, lib, makeWrapper, nodejs_22, p7zip, python311, runCommand, stdenv, yarn-berry_3, }: let inherit (lib) concatLines flip pipe; inherit (lib.versions) major minor patch; # reference: https://github.com/SpecterOps/BloodHound/blob/v8.3.1/dockerfiles/bloodhound.Dockerfile pname = "bloodhound-ce"; version = "8.3.1"; src = fetchFromGitHub { owner = "SpecterOps"; repo = "BloodHound"; tag = "v${version}"; hash = "sha256-mIoQkxUxv2BktFGSLKo5RVEF/7JByiyCWC2o9GWS9w4="; }; filter = flip pipe [ (map (x: '' mkdir -p "$out/${dirOf x}" cp -r "${src}/${x}" "$out/${x}" '')) concatLines (runCommand "filtered-source" { }) ]; yarn-berry = yarn-berry_3; ############################################################################## frontend = stdenv.mkDerivation (finalAttrs: { pname = "bloodhound-ce-frontend"; inherit version; src = filter [ ".yarn/plugins" ".yarn/releases" ".yarnrc.yml" "cmd/ui" "constraints.pro" "package.json" "packages/javascript" "yarn-workspaces.json" "yarn.lock" ]; patches = [ # cmd/ui/package.json includes "git@github.com:BloodHoundAD/dagre.git" # which is fetched using SSH, and that doesn't work in the Nix sandbox # so we just replace it with a standard HTTPS URL ./fetch-dagrejs-via-https.patch ]; nativeBuildInputs = [ nodejs_22 yarn-berry yarn-berry.yarnBerryConfigHook python311 # for node-gyp builds ]; missingHashes = ./missing-hashes.json; offlineCache = yarn-berry.fetchYarnBerryDeps { inherit (finalAttrs) src patches missingHashes; hash = "sha256-0OXOZ9QVpOxqE4r1Gj0dOlEijY+JAqOvanntp5D5t1M="; }; env.JOBS = "max"; buildPhase = '' runHook preBuild yarn build runHook postBuild ''; installPhase = '' runHook preInstall cp -r cmd/ui/dist $out runHook postInstall ''; }); ############################################################################## collectors = let azver = "v2.8.1"; shver = "v2.8.0"; sharphound = fetchurl { url = "https://github.com/SpecterOps/SharpHound/releases/download/${shver}/sharphound_${shver}_windows_x86.zip"; hash = "sha256-BjBOxjhQYpqD/qUy9EsuXplK8JAuPU/LE2O0Ooxr+r4="; }; in pipe [ { os = "darwin"; arch = "amd64"; hash = "sha256-HD5vMc6vt71wj5ST6On417iY3DJZQXdG8Il73H22m9Q="; } { os = "darwin"; arch = "arm64"; hash = "sha256-57i+/9gV17pqQqqnEianJdJ6Jtg4DsExMkfAEqaeNns="; } { os = "linux"; arch = "amd64"; hash = "sha256-8wrEef0+ik5WAsIV7tInyUlNnsUBw6Ux9LE7gVS3Fhs="; } { os = "linux"; arch = "arm64"; hash = "sha256-23lokcbd2Yp9pWibsb5SNW/YE/eHpHCFZv2PbBlw0Xo="; } { os = "windows"; arch = "amd64"; hash = "sha256-IkEfEh2VFNTnuUAez6/vMY7sMv4rtDR3Paerev/xoqs="; } { os = "windows"; arch = "arm64"; hash = "sha256-qEgmO7oNy/pUXH7lbOoJxNznl2mPofj2R5RGBZdOoUI="; } ] [ (map ( x: "cp ${ fetchurl { url = "https://github.com/SpecterOps/AzureHound/releases/download/${azver}/azurehound_${azver}_${x.os}_${x.arch}.zip"; inherit (x) hash; } } azurehound_${azver}_${x.os}_${x.arch}.zip" )) concatLines ( copyAzurehoundZips: stdenv.mkDerivation { pname = "bloodhound-ce-collectors"; inherit version src; nativeBuildInputs = [ p7zip ]; installPhase = '' mkdir -p $out/{azurehound,sharphound} ${copyAzurehoundZips} 7z x 'azurehound_*.zip' '-oartifacts/*' (cd artifacts; 7z a -tzip -mx9 $out/azurehound/azurehound-${azver}.zip *) cp ${sharphound} $out/sharphound/sharphound-${shver}.zip for i in $out/*/*.zip; do sha256sum "$i" > "$i.sha256"; done ''; } ) ]; in buildGoModule { inherit pname version; src = filter [ "cmd/api" "go.mod" "go.sum" "packages/go" ]; nativeBuildInputs = [ makeWrapper ]; ldflags = [ "-s" "-w" "-X github.com/specterops/bloodhound/cmd/api/src/version.majorVersion=${major version}" "-X github.com/specterops/bloodhound/cmd/api/src/version.minorVersion=${minor version}" "-X github.com/specterops/bloodhound/cmd/api/src/version.patchVersion=${patch version}" ]; subPackages = [ "cmd/api/src/cmd/bhapi" ]; vendorHash = "sha256-Lm6g0pxGVIuns6mUwnkbnBQQQp1V0TvEakX5fAo8qMo="; preBuild = '' rm -rf cmd/api/src/api/static/assets cp -r ${frontend} cmd/api/src/api/static/assets ''; postInstall = '' mv $out/bin/{bhapi,bloodhound-ce} wrapProgram $out/bin/bloodhound-ce \ --set BHE_COLLECTORS_BASE_PATH ${collectors} ''; passthru = { inherit frontend collectors; }; meta = with lib; { description = "Six Degrees of Domain Admin"; homepage = "https://github.com/SpecterOps/BloodHound"; changelog = "https://github.com/SpecterOps/BloodHound/releases/tag/v${version}"; downloadPage = "https://github.com/SpecterOps/BloodHound/releases"; license = licenses.asl20; platforms = platforms.linux; maintainers = with maintainers; [ eleonora ]; mainProgram = "bloodhound-ce"; }; }