sonarqube-bin
The package downloads a prebuilt binary from the official vendor's domain (binaries.sonarsource.com), which is the project's legitimate distribution infrastructure, making it a standard and trustworthy source despite not being on a whitelist.
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 binary from the official vendor's domain (binaries.sonarsource.com), which is the project's legitimate distribution infrastructure, making it a standard and trustworthy source despite not being on a whitelist.
2 higher static findings superseded - not the current verdict (shown for transparency)
external_download_not_in_source
curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.
-
PKGBUILD:30
curl -fsSL 'https://binaries.sonarsource.com/s3api?delimiter=/&prefix=Distribution/sonarqube/' |
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:19
source=("https://binaries.sonarsource.com/Distribution/${_pkgname}/${_pkgname}-${pkgver}.zip"
PKGBUILD
2 offending line(s) highlighted# Maintainer: Yakov Till <yakov.till@gmail.com>
# Contributor: ksj podhorsky.ksj@gmail.com
# Contributor: ParaSait <parasait at proton dot me>
_pkgname=sonarqube
pkgname=sonarqube-bin
pkgver=26.9.0.129388
pkgrel=1
pkgdesc="An open source platform for continuous inspection of code quality (Community Build)"
arch=('x86_64')
url="https://www.sonarsource.com/products/sonarqube/"
license=('LGPL-3.0-only')
depends=('java-runtime>=17')
optdepends=('postgresql: A sophisticated object-relational DBMS')
backup=("etc/webapps/${_pkgname}/sonar.properties")
conflicts=("${_pkgname}" "${_pkgname}-lts")
provides=("${_pkgname}")
options=('!strip' '!debug')
source=("https://binaries.sonarsource.com/Distribution/${_pkgname}/${_pkgname}-${pkgver}.zip"
"${_pkgname}.service"
"${_pkgname}.tmpfiles"
"${_pkgname}.sysusers")
install="sonarqube-bin.install"
sha256sums=('b7306f5ecfa6806753bc0eb0dc4ea11fe0ddd2c5a346592718814d6ec35b88cb'
'58c0b2b9ae96a5901b8face8e35481e4c9a7feebdab6b21023805f6814a2fa98'
'b0204a7b86289929765c651627e9b55d02ae1f0da34184d2c05c7929d1222932'
'198fab7e6a5e9aeab55d080e5b7133be0e315706b159ebfbfb3126ddaf355aa4')
latestver() {
curl -fsSL 'https://binaries.sonarsource.com/s3api?delimiter=/&prefix=Distribution/sonarqube/' |
grep -oP 'Distribution/sonarqube/sonarqube-\K[0-9.]+(?=\.zip</Key>)' | sort -Vu | tail -1
}
package() {
cd "${srcdir}/${_pkgname}-${pkgver}"
# Copy everything except conf and logs to /usr/share/webapps/sonarqube.
install -dm755 "${pkgdir}/usr/share/webapps/${_pkgname}"
cp -dr --no-preserve=ownership {bin,data,elasticsearch,extensions,lib,temp,web} "${pkgdir}/usr/share/webapps/${_pkgname}/"
# Remove non-Linux platform files.
rm -rf "${pkgdir}/usr/share/webapps/${_pkgname}/bin/macosx-universal-64"
rm -rf "${pkgdir}/usr/share/webapps/${_pkgname}/bin/windows-x86-64"
rm -f "${pkgdir}/usr/share/webapps/${_pkgname}"/elasticsearch/bin/*.bat
rm -f "${pkgdir}/usr/share/webapps/${_pkgname}"/elasticsearch/bin/*.exe
rm -rf "${pkgdir}/usr/share/webapps/${_pkgname}/elasticsearch/lib/platform/windows-x64"
rm -rf "${pkgdir}/usr/share/webapps/${_pkgname}/elasticsearch/lib/platform/darwin-aarch64"
rm -rf "${pkgdir}/usr/share/webapps/${_pkgname}/elasticsearch/lib/platform/darwin-x64"
rm -rf "${pkgdir}/usr/share/webapps/${_pkgname}/elasticsearch/lib/platform/linux-aarch64"
rm -rf "${pkgdir}/usr/share/webapps/${_pkgname}/elasticsearch/lib/tools/windows-service-cli"
rm -rf "${pkgdir}/usr/share/webapps/${_pkgname}/bin/winsw-license"
# ES config files ship as 640; fix so the sonarqube user can read them at runtime.
chmod 644 "${pkgdir}/usr/share/webapps/${_pkgname}"/elasticsearch/config/*
# Install the license.
install -Dm644 "COPYING" "${pkgdir}/usr/share/doc/${_pkgname}/COPYING"
# Install the configuration files to /etc/webapps/sonarqube.
install -Dm644 "conf/sonar.properties" "${pkgdir}/etc/webapps/${_pkgname}/sonar.properties"
# Install the systemd configuration and service files.
cd "${srcdir}"
install -Dm644 "${_pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${_pkgname}.service"
install -Dm644 "${_pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${_pkgname}.conf"
install -Dm644 "${_pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${_pkgname}.conf"
# Create symbolic links because SonarQube expects a specific directory layout.
ln -s "/var/log/${_pkgname}" "${pkgdir}/usr/share/webapps/${_pkgname}/logs"
ln -s "/run/${_pkgname}" "${pkgdir}/usr/share/webapps/${_pkgname}/run"
ln -s "/etc/webapps/${_pkgname}" "${pkgdir}/usr/share/webapps/${_pkgname}/conf"
rm -rf "${pkgdir}/usr/share/webapps/${_pkgname}/temp"
ln -s "/var/lib/${_pkgname}/temp" "${pkgdir}/usr/share/webapps/${_pkgname}/temp"
rm -rf "${pkgdir}/usr/share/webapps/${_pkgname}/data"
ln -s "/var/lib/${_pkgname}/data" "${pkgdir}/usr/share/webapps/${_pkgname}/data"
ln -s "/var/lib/${_pkgname}/downloads" "${pkgdir}/usr/share/webapps/${_pkgname}/extensions/downloads"
}
Changes since previous scan
--- PKGBUILD @ 2026-08-12 00:27+++ PKGBUILD @ 2026-09-17 00:27@@ -4,7 +4,7 @@ _pkgname=sonarqube pkgname=sonarqube-bin-pkgver=26.8.0.126808+pkgver=26.9.0.129388 pkgrel=1 pkgdesc="An open source platform for continuous inspection of code quality (Community Build)" arch=('x86_64')@@ -21,7 +21,7 @@ "${_pkgname}.tmpfiles" "${_pkgname}.sysusers") install="sonarqube-bin.install"-sha256sums=('ea1c5c1932f9c25350eafc4cdb1a839527c117e5d98b5fcf222a715b6b50a1f2'+sha256sums=('b7306f5ecfa6806753bc0eb0dc4ea11fe0ddd2c5a346592718814d6ec35b88cb' '58c0b2b9ae96a5901b8face8e35481e4c9a7feebdab6b21023805f6814a2fa98' 'b0204a7b86289929765c651627e9b55d02ae1f0da34184d2c05c7929d1222932' '198fab7e6a5e9aeab55d080e5b7133be0e315706b159ebfbfb3126ddaf355aa4')Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 3 |
| 2026-09-16 00:03:17 | Low | 3 |
| 2026-09-15 00:25:31 | Low | 3 |
| 2026-09-14 00:27:57 | Low | 3 |
| 2026-09-13 00:19:54 | Low | 3 |
| 2026-09-12 00:25:17 | Low | 3 |
| 2026-09-11 00:19:22 | Low | 3 |
| 2026-09-10 00:22:44 | Low | 3 |
| 2026-09-09 00:04:09 | Low | 3 |
| 2026-09-08 00:18:08 | Low | 3 |
| 2026-09-07 00:30:15 | Low | 3 |
| 2026-09-06 00:17:06 | Low | 3 |
| 2026-09-05 00:16:27 | Low | 3 |
| 2026-09-04 00:03:13 | Low | 3 |
| 2026-09-03 00:15:47 | Low | 3 |
| 2026-09-02 13:50:58 | Medium | 2 |
| 2026-08-12 00:27:08 | Clean | 3 |
| 2026-08-11 19:21:46 | Medium | 2 |
| 2026-08-11 00:07:57 | Low | 3 |
| 2026-08-10 00:09:14 | Low | 3 |