bizhawk-preview-latest-bin
The package downloads a prebuilt binary from a non-whitelisted but project-associated host (nightly.link), which is used to build the package; however, it is a legitimate project artifact, and the worst case of a swapped source is limited to supply-chain risk without evidence of active malice or remote code execution.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a prebuilt binary from a non-whitelisted but project-associated host (nightly.link), which is used to build the package; however, it is a legitimate project artifact, and the worst case of a swapped source is limited to supply-chain risk without evidence of active malice or remote code execution.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:36
"https://nightly.link/TASEmulators/BizHawk/workflows/ci/master/BizHawk-dev-linux.zip"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Ash <xash at riseup d0t net>
# Contributor: bemxio <bemxiov at protonmail dot com>
# Contributor: Claudia Pellegrino <aur ät cpellegrino.de>
# Contributor: James Groom <OSSYoshiRulz at gmail dot com>
pkgname="bizhawk-preview-latest-bin"
_pkgname="bizhawk"
pkgdesc="A multi-platform emulator with full re-recording support and Lua scripting (Nightly build)"
# upstream base version
_build_ver=2.10
pkgver=$(
# grab the latest commit hash
sha=$(curl -s "https://api.github.com/repos/TASEmulators/BizHawk/actions/runs?workflow_id=ci&branch=master&status=success&per_page=1" \
| grep -m1 '"head_sha"' \
| sed -E 's/.*"head_sha":[[:space:]]*"([0-9a-f]{7})[0-9a-f]*".*/\1/')
[ -z "$sha" ] && sha=unknown
# r.count = number of commits since the last tag
count=$(curl -s "https://api.github.com/repos/TASEmulators/BizHawk/compare/${_build_ver}...${sha}" \
| grep -m1 '"ahead_by"' \
| sed -E 's/.*"ahead_by":[[:space:]]*([0-9]+).*/\1/')
[ -z "$count" ] && count=0
echo "${_build_ver}.r${count}.g${sha}"
)
pkgrel=1
arch=(x86_64)
url="https://tasvideos.org/BizHawk"
license=("custom:BizHawk")
depends=(glibc mono openal "lua>=5.4" lsb-release)
makedepends=(icoutils)
provides=(bizhawk)
source=(
"https://nightly.link/TASEmulators/BizHawk/workflows/ci/master/BizHawk-dev-linux.zip"
"https://raw.githubusercontent.com/TASEmulators/BizHawk/master/LICENSE"
"bizhawk.desktop"
"bizhawk.png"
)
md5sums=(
"SKIP"
"2d15d8df1b4ec039a8fac3202a418a3c"
"324e1e4ebb6ae37e48aea8fb590cece3"
"e1e0f0339fdb7d3aa4c900b9761f9bac"
)
package() {
# Install everything under /opt/bizhawk
find . -type d \
-exec install -Dm775 -ggames -d "${pkgdir}/opt/bizhawk/{}" \;
find . -type f \
-regextype egrep \
-not -regex "./(EmuHawkMono.sh|bizhawk.desktop|bizhawk.png|LICENSE)" \
-exec install -Dm664 -ggames "{}" "${pkgdir}/opt/bizhawk/{}" \;
# Ensure the launcher script is executable
install -Dm775 -ggames EmuHawkMono.sh "${pkgdir}/opt/bizhawk/EmuHawkMono.sh"
install -Dm644 "${srcdir}/bizhawk.desktop" "${pkgdir}/usr/share/applications/bizhawk.desktop"
install -Dm644 "${srcdir}/bizhawk.png" "${pkgdir}/usr/share/pixmaps/bizhawk.png"
# symlink the launcher into $PATH
install -dm755 "${pkgdir}/usr/bin"
ln -s /opt/bizhawk/EmuHawkMono.sh "${pkgdir}/usr/bin/bizhawk"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 00:06:47 | Low | 2 |
| 2026-10-13 00:23:45 | Low | 2 |