hmcl-pr-bin
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:13
"${pkgname}-${_pkgver}-${pkgrel}.jar::https://alist.8mi.tech/d/mirror/HMCL-Snapshot/Auto/6eca40e4c4f0a33343a9fb76819bae57caf30cb8/HMCL-${_pkgver}.jar")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): The PKGBUILD downloads a prebuilt JAR file from 'alist.8mi.tech', which is a personal/third-party mirror host, not the official GitHub releases infrastructure for the HMCL project (github.com/burningtnt/HMCL or the canonical HMCL repo). The JAR is executed as a Java application (installed to /usr/share/java and launched via a script), so a compromised or substituted JAR could achieve code execution. Additionally, all sha256sums are 'SKIP', meaning there is zero integrity verification — any file served by that host would be accepted without validation. This is a genuine supply-chain concern: the combination of an unofficial third-party host, an executable artifact (JAR), and no checksum verification represents a real medium-severity risk. It is not clearly malicious, but the trust chain is broken.
PKGBUILD
1 offending line(s) highlightedpkgname=hmcl-pr-bin
pkgver=3.6.unofficial_ad602ae
_pkgver=3.6.unofficial-ad602ae
pkgrel=1
pkgdesc="A Minecraft Launcher which is multi-functional, cross-platform and popular | PR Collection"
arch=('any')
url="https://github.com/burningtnt/HMCL"
license=('GPL-3.0-or-later')
depends=('java-runtime' 'hicolor-icon-theme')
conflicts=('hmcl' 'hmcl-bin' 'hmcl-dev-bin' 'hmcl-beta-bin')
source=("hmcl-pr.desktop"
"hmcl-pr-launch-script"
"${pkgname}-${_pkgver}-${pkgrel}.jar::https://alist.8mi.tech/d/mirror/HMCL-Snapshot/Auto/6eca40e4c4f0a33343a9fb76819bae57caf30cb8/HMCL-${_pkgver}.jar")
sha256sums=('SKIP'
'SKIP'
'SKIP')
noextract=("${pkgname}-${_pkgver}-${pkgrel}.jar")
prepare() {
# extract icons from jar
# Thanks to @Misaka13514
local _iconfile
for _iconfile in icon.png icon@2x.png icon@4x.png icon@8x.png; do
jar -xf "${pkgname}-${_pkgver}-${pkgrel}.jar" "assets/img/${_iconfile}"
done
}
package() {
install -Dm644 "${pkgname}-${_pkgver}-${pkgrel}.jar" "${pkgdir}/usr/share/java/${pkgname}/${pkgname}.jar"
install -Dm755 "hmcl-pr-launch-script" "${pkgdir}/usr/bin/${pkgname}"
install -Dm644 "hmcl-pr.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
# install icons
local _icon _iconfile
for _icon in 32:icon.png 64:icon@2x.png 128:icon@4x.png 256:icon@8x.png; do
_iconfile=${_icon#*:}
_icon=${_icon%:*}
install -Dm644 "assets/img/${_iconfile}" "${pkgdir}/usr/share/icons/hicolor/${_icon}x${_icon}/apps/${pkgname}.png"
done
}
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 |