android-x86-pie
OSDN.net (formerly SourceForge Japan) is a legitimate open-source hosting platform and is actually the official distribution host for Android-x86 project releases. The URL pattern matches the real Android-x86 project page (projects/android-x86). The RPM is the official upstream release artifact from the Android-x86 project, not a personal or unofficial build. Using 'SKIP' for checksums is sloppy and means integrity is not verified at build time, but this is a packaging quality issue rather than an active supply-chain attack. The package installs a QEMU wrapper binary and Android system image files — these are executed/used at runtime but come from the legitimate upstream project host. The main concern is the missing checksum verification, which is a low-severity packaging deficiency, not a medium supply-chain risk.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it LOW (confidence 82%): OSDN.net (formerly SourceForge Japan) is a legitimate open-source hosting platform and is actually the official distribution host for Android-x86 project releases. The URL pattern matches the real Android-x86 project page (projects/android-x86). The RPM is the official upstream release artifact from the Android-x86 project, not a personal or unofficial build. Using 'SKIP' for checksums is sloppy and means integrity is not verified at build time, but this is a packaging quality issue rather than an active supply-chain attack. The package installs a QEMU wrapper binary and Android system image files — these are executed/used at runtime but come from the legitimate upstream project host. The main concern is the missing checksum verification, which is a low-severity packaging deficiency, not a medium supply-chain risk.
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:28
"android-x86-9.0-r2.i686.rpm::https://osdn.net/projects/android-x86/downloads/71931/android-x86-9.0-r2.i686.rpm/"
PKGBUILD
1 offending line(s) highlighted# Maintaoner: Yamada Hayao <development@fascode.net>
android_ver="9.0"
android_codename="pie"
android_revision="r2"
pkgrel=1
pkgname="android-x86-${android_codename}"
pkgver="${android_revision}"
pkgdesc="This is a project to port Android open source project to x86 platform."
arch=('any')
url="https://www.android-x86.org/"
license=('Apache')
depends=()
makedepends=()
install="${pkgname}.install"
backup=(
"android-${android_ver}-${android_revision}/initrd.img"
"android-${android_ver}-${android_revision}/kernel"
"android-${android_ver}-${android_revision}/ramdisk.img"
"android-${android_ver}-${android_revision}/system.sfs"
)
# i686
source_i686=(
"android-x86-9.0-r2.i686.rpm::https://osdn.net/projects/android-x86/downloads/71931/android-x86-9.0-r2.i686.rpm/"
)
md5sums_i686=('SKIP')
#x86_64
source_x86_64=(
"android-x86-9.0-r2.x86_64.rpm::https://osdn.net/projects/android-x86/downloads/71931/android-x86-9.0-r2.x86_64.rpm/"
)
md5sums_x86_64=('SKIP')
package() {
install -D -m 755 "${srcdir}/usr/bin/qemu-android" "${pkgdir}/usr/bin/qemu-android-${android_codename}"
local file
for file in "${srcdir}/android-${android_ver}-${android_revision}/"*; do
install -D -m 755 "${file}" "${pkgdir}/android-${android_ver}-${android_revision}/$(basename "${file}")"
done
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |