gfxbench
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:12
source_i686=( "${_basename}.sh::https://gfxbench.com/download/${_basename}_32bit.sh")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 75%): This PKGBUILD downloads a prebuilt installer shell script from gfxbench.com (the official vendor site for the GFXBench benchmark tool by Kishonti) and executes it via 'sh' during the package() phase. The source is checksum-verified with SHA1. The host is the legitimate upstream vendor (gfxbench.com is Kishonti's official benchmark portal), not a personal or unofficial mirror. However, the pattern of downloading and executing a prebuilt binary installer script — even from the official vendor — is inherently a medium-risk supply-chain concern: the installer is a closed-source binary blob, SHA1 is a weak hash algorithm, and the package is quite old (v4.0.13, pkgrel=5). The PKGBUILD does take reasonable precautions (redirecting HOME, using --prefix for staged install, removing bundled libs). This is a standard pattern for proprietary software AUR packages and is not malicious, but the execution of a downloaded binary installer script from a non-open-source vendor with SHA1 checksums warrants a medium rating rather than clean.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Eric Engestrom <aur [at] engestrom [dot] ch>
pkgname=gfxbench
pkgver=4.0.13
pkgrel=5
pkgdesc="Unified graphics benchmark based on DXBenchmark (DirectX) and GLBenchmark (OpenGL ES)"
url='https://gfxbench.com/'
arch=('i686' 'x86_64')
license=('custom')
depends=('libpng12' 'qt5-base' 'icu')
_basename="gfxbench_gl-linux-qt-${pkgver}+community"
source_i686=( "${_basename}.sh::https://gfxbench.com/download/${_basename}_32bit.sh")
source_x86_64=("${_basename}.sh::https://gfxbench.com/download/${_basename}_64bit.sh")
sha1sums_i686=( 'dfbcd1deeeb3a21cd79738c30d535f08ebfdac6c')
sha1sums_x86_64=('c5740e8a36169c2210fe94185d0b8db8cb757ffb')
package() {
cd "${srcdir}"
# Script modifies the running user's files; prevent that by redirecting $HOME
export HOME=$PWD
install -dm755 "${pkgdir}"/opt/"${pkgname}"
sh "${_basename}".sh \
--skip-license \
--prefix="${pkgdir}"/opt/"${pkgname}"
chown root: -R "${pkgdir}"/opt/"${pkgname}"/
install -dm755 "${pkgdir}"/usr/bin
ln -s /opt/"${pkgname}"/gfxbench_gl "${pkgdir}"/usr/bin/"${pkgname}"
install -dm755 "${pkgdir}"/usr/share/licenses/"${pkgname}"
mv "${pkgdir}"/opt/"${pkgname}"/copyright "${pkgdir}"/usr/share/licenses/"${pkgname}"
install -Dm644 -t "${pkgdir}"/usr/share/applications/ "${pkgdir}"/opt/"${pkgname}"/gfxbench_gl.desktop
rm "${pkgdir}"/opt/"${pkgname}"/gfxbench_gl.desktop
install -Dm644 -t "${pkgdir}"/usr/share/icons/hicolor/128x128/apps/ "${pkgdir}"/opt/"${pkgname}"/gfxbench_gl.png
rm "${pkgdir}"/opt/"${pkgname}"/gfxbench_gl.png
# Fix path
sed -i "s#${pkgdir}##" "${pkgdir}"/usr/share/applications/gfxbench_gl.desktop
sed -i 's#^Icon=.*$#Icon=/usr/share/icons/hicolor/128x128/apps/gfxbench_gl.png#' \
"${pkgdir}"/usr/share/applications/gfxbench_gl.desktop
# Remove unnecessary local copies of libs
rm "${pkgdir}"/opt/"${pkgname}"/libQt5*
rm "${pkgdir}"/opt/"${pkgname}"/libicu*
rm -r "${pkgdir}"/opt/"${pkgname}"/platforms/
rm -r "${pkgdir}"/opt/"${pkgname}"/xcbglintegrations/
# Remove start script, since we're not using the local libs anymore
rm "${pkgdir}"/opt/"${pkgname}"/start.sh
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |