nahimic-linux
The package downloads two prebuilt binaries (a .cab and a .exe) from non-standard, unverifiable hosts; while they appear to be part of the official Nahimic distribution, the URLs are opaque and not hosted on a standard software repository, creating a supply-chain risk if those endpoints were compromised or subverted.
Triggered rules
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:14
'nahimic-apo4-4.14.cab::https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2025/06/5038101c-bafc-45b6-b338-d086f6877059_8ba41f8fd185d004f674891c937eb6b815acb443.cab' -
PKGBUILD:15
'nahimic-runtime-settings.exe::https://nahimic.helprace.com/resources/SdHjE1CwBkqCwL1qTng83XvmSgyUM3WU8bA3F21ZCfca-wMam1lcLqCrQgAIHtE1DyfpwdnFPjQ5DuRdOgpXLg%7E%7E/GenericNahimicRestoreTool.exe'
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 90%): The package downloads two prebuilt binaries (a .cab and a .exe) from non-standard, unverifiable hosts; while they appear to be part of the official Nahimic distribution, the URLs are opaque and not hosted on a standard software repository, creating a supply-chain risk if those endpoints were compromised or subverted.
PKGBUILD
2 offending line(s) highlighted# Maintainer: wearzdk <hi@wearzdk.me>
pkgname=nahimic-linux
pkgver=0.3.2
pkgrel=1
pkgdesc='Nahimic speaker effects and equalizer for supported Linux laptops'
arch=('x86_64')
url='https://github.com/wearzdk/nahimic-linux'
license=('MIT' 'LicenseRef-Nahimic')
depends=('python' 'pyside6' 'wine' 'pipewire' 'pipewire-pulse' 'wireplumber>=0.5' 'libpulse' 'systemd' 'hicolor-icon-theme' 'bash' 'glibc')
makedepends=('mingw-w64-gcc' 'pkgconf' 'cabextract' 'git')
install=nahimic-linux.install
options=('!strip' '!debug')
source=("$pkgname::git+$url#tag=v$pkgver"
'nahimic-apo4-4.14.cab::https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2025/06/5038101c-bafc-45b6-b338-d086f6877059_8ba41f8fd185d004f674891c937eb6b815acb443.cab'
'nahimic-runtime-settings.exe::https://nahimic.helprace.com/resources/SdHjE1CwBkqCwL1qTng83XvmSgyUM3WU8bA3F21ZCfca-wMam1lcLqCrQgAIHtE1DyfpwdnFPjQ5DuRdOgpXLg%7E%7E/GenericNahimicRestoreTool.exe'
'nahimic-linux.install')
noextract=('nahimic-apo4-4.14.cab' 'nahimic-runtime-settings.exe')
sha256sums=('SKIP'
'f3b1aae44826f85045cff8e085367dd8b48ffb3510e074adf552cc8eafbf8bde'
'5f9c4d9eda54b7f946e331740354f01c043f25408d7053b4c23327c1b5b0a74a'
'f8206f52fd53c647e8ab1707545d5d977a2dd1495ba76b1f24abdb4faf35ce6e')
prepare() {
python "$srcdir/$pkgname/packaging/extract_runtime.py" \
"$srcdir/nahimic-apo4-4.14.cab" "$srcdir/nahimic-runtime-settings.exe" "$srcdir/runtime"
}
build() {
make -C "$srcdir/$pkgname"
strip --strip-unneeded "$srcdir/$pkgname/bin/pulse_state"
}
package() {
make -C "$srcdir/$pkgname" DESTDIR="$pkgdir" install
install -d "$pkgdir/usr/share/nahimic-linux"
cp -r "$srcdir/runtime/vendor" "$srcdir/runtime/factory" "$pkgdir/usr/share/nahimic-linux/"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-22 00:13+++ PKGBUILD @ 2026-10-28 00:06@@ -1,6 +1,6 @@ # Maintainer: wearzdk <hi@wearzdk.me> pkgname=nahimic-linux-pkgver=0.3.1+pkgver=0.3.2 pkgrel=1 pkgdesc='Nahimic speaker effects and equalizer for supported Linux laptops' arch=('x86_64')Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-28 00:06:54 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 00:12:40 | Medium | 2 |
| 2026-10-25 00:20:48 | Medium | 2 |
| 2026-10-24 00:14:55 | Medium | 2 |
| 2026-10-23 00:02:19 | Medium | 2 |
| 2026-10-22 09:34:24 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 00:10:31 | Medium | 2 |
| 2026-10-19 00:03:55 | Medium | 2 |
| 2026-10-18 00:06:55 | Medium | 2 |
| 2026-10-17 00:21:55 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |
| 2026-10-14 00:06:47 | Medium | 2 |
| 2026-10-13 00:23:45 | Medium | 2 |
| 2026-10-12 00:18:51 | Medium | 2 |
| 2026-10-11 00:26:05 | Medium | 2 |
| 2026-10-10 16:14:21 | Medium | 2 |