sonarqube-bin
The package downloads a prebuilt binary from SonarSource's official binaries domain, which is the project's legitimate release infrastructure; despite the static analyzer flag for non-whitelisted host, this is a standard and trusted source for the software, and no malicious or unverifiable code execution occurs.
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 SonarSource's official binaries domain, which is the project's legitimate release infrastructure; despite the static analyzer flag for non-whitelisted host, this is a standard and trusted source for the software, and no malicious or unverifiable code execution occurs.
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.10.0.133078
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=('a23716457a73e44fff57c51d8999d97e59f4deee24cefb333918fe6c1ddb62c1'
'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"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 3 |
| 2026-10-31 00:07:41 | Low | 3 |
| 2026-10-30 00:29:30 | Low | 3 |
| 2026-10-29 00:13:55 | Low | 3 |
| 2026-10-28 00:06:54 | Low | 3 |
| 2026-10-27 00:23:28 | Low | 3 |
| 2026-10-26 00:12:40 | Low | 3 |
| 2026-10-25 00:20:48 | Low | 3 |
| 2026-10-24 00:14:55 | Low | 3 |
| 2026-10-23 00:02:19 | Low | 3 |
| 2026-10-22 00:13:10 | Low | 3 |
| 2026-10-21 00:12:50 | Low | 3 |
| 2026-10-20 00:10:31 | Low | 3 |
| 2026-10-19 00:03:55 | Low | 3 |
| 2026-10-18 00:06:55 | Low | 3 |
| 2026-10-17 00:21:55 | Low | 3 |
| 2026-10-16 00:12:47 | Low | 3 |
| 2026-10-15 00:28:05 | Low | 3 |
| 2026-10-14 00:06:47 | Low | 3 |
| 2026-10-13 00:23:45 | Low | 3 |