jdk25-graalvm-bin
The package downloads a prebuilt GraalVM JDK binary from Oracle's official gds.oracle.com domain, which is plausibly Oracle's own infrastructure; despite the non-standard hostname, the source is verifiable and the checksums are provided, making this a legitimate build with low risk.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a prebuilt GraalVM JDK binary from Oracle's official gds.oracle.com domain, which is plausibly Oracle's own infrastructure; despite the non-standard hostname, the source is verifiable and the checksums are provided, making this a legitimate build with low 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:44
source_x86_64=("https://gds.oracle.com/download/graal/${_release}/archive/graalvm-jdk-${_release}-${_jdkver}_linux-x64_bin.tar.gz")
PKGBUILD
1 offending line(s) highlighted# Maintainer: gudzpoz <gudzpoz at live dot com>
# This PKGBUILD heavily borrows from jdk17-temurin on AUR maintained by:
# Michael Lass <bevan at bi-co dot net>
_major=25
_minor=2.4
# In the versioning scheme of GraalVM since JDK 25, three version numbers are
# relevant:
# - GraalVM release version: "GraalVM 25 Innovation 2" or 25i2
# - Graal compiler version: "graal 25.2.4"
# - Base JDK version: "jdk 25.0.4"
# We track the first (Graal compiler version) with this package since it is what
# they use in their release notes <https://www.graalvm.org/release-notes/25.1/>.
_release=25i2
_jdkver=25.0.4
_build=+7.1
pkgname="jdk${_major}-graalvm-bin"
pkgver="${_major}.${_minor}"
pkgrel=1
pkgdesc="Advanced JDK with ahead-of-time Native Image compilation"
arch=('x86_64' 'aarch64')
url='https://www.graalvm.org/'
license=('custom')
depends=(
'ca-certificates-java' 'java-runtime-common' 'java-environment-common'
'freetype2' 'glibc' 'libgcc' 'libstdc++' 'libz.so'
)
optdepends=(
'alsa-lib: for basic sound support'
'libx11: for AWT support'
'libxext: for AWT support'
'libxi: for AWT support'
'libxrender: for AWT support'
'libxtst: for AWT support'
)
provides=("java-runtime=${_major}" "java-runtime-headless=${_major}" "java-environment=${_major}")
options=('staticlibs' !debug !strip)
install=install_jdk25-graalvm.sh
source_x86_64=("https://gds.oracle.com/download/graal/${_release}/archive/graalvm-jdk-${_release}-${_jdkver}_linux-x64_bin.tar.gz")
source_aarch64=("https://gds.oracle.com/download/graal/${_release}/archive/graalvm-jdk-${_release}-${_jdkver}_linux-aarch64_bin.tar.gz")
sha256sums_x86_64=('7100d99cbfec68b03b669cc60c7e8592bbcda1732e8eaebc460fe0b75849a894')
sha256sums_aarch64=('0bc65f9c36ae77bd83aad46a2b4de4b0ec97da1b4ac83fedb59e19f868873dee')
_jvmdir=/usr/lib/jvm/java-${_major}-graalvm
_jdkdir="graalvm-${pkgver}${_build}"
package() {
install -dm 755 "${pkgdir}${_jvmdir}"
cp -a "${srcdir}/${_jdkdir}"/* "${pkgdir}${_jvmdir}"
cd "${pkgdir}${_jvmdir}"
# Conf
install -dm 755 "${pkgdir}/etc"
mv conf "${pkgdir}/etc/java-${_major}-graalvm"
ln -sf "/etc/java-${_major}-graalvm" conf
# Legal
install -dm 755 "${pkgdir}/usr/share/licenses"
mv legal "${pkgdir}/usr/share/licenses/${pkgname}"
ln -sf "/usr/share/licenses/${pkgname}" legal
# Other licenses
mv LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"
mv license-information-user-manual.zip "${pkgdir}/usr/share/licenses/${pkgname}/license-information-user-manual.zip"
# Man pages
for f in man/man1/*; do
install -Dm 644 "${f}" "${pkgdir}/usr/share/${f/\.1/-graalvm${_major}.1}"
done
rm -rf man
ln -sf /usr/share/man man
# Link JKS keystore from ca-certificates-utils
rm -f lib/security/cacerts
ln -sf /etc/ssl/certs/java/cacerts lib/security/cacerts
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-03 00:23:04 | Low | 2 |
| 2026-10-02 00:00:32 | Low | 2 |
| 2026-10-01 00:02:06 | Low | 2 |
| 2026-09-30 00:20:07 | Low | 2 |
| 2026-09-29 00:07:46 | Low | 2 |
| 2026-09-28 00:28:32 | Low | 2 |
| 2026-09-27 00:07:07 | Low | 2 |
| 2026-09-26 00:12:15 | Low | 2 |
| 2026-09-25 00:03:36 | Low | 2 |
| 2026-09-24 00:24:14 | Low | 2 |
| 2026-09-23 00:28:13 | Low | 2 |
| 2026-09-22 00:15:14 | Low | 2 |
| 2026-09-21 00:26:32 | Low | 2 |
| 2026-09-20 00:25:31 | Low | 2 |
| 2026-09-19 00:25:36 | Low | 2 |
| 2026-09-18 00:17:11 | Low | 2 |
| 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 |