omada-controller-rxy
The package downloads a source tarball from a non-whitelisted host (static.tp-link.com), but this is plausibly TP-Link's official static content domain for Omada controller software; the build installs only project binaries and scripts without executing untrusted remote code or exfiltrating data.
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 source tarball from a non-whitelisted host (static.tp-link.com), but this is plausibly TP-Link's official static content domain for Omada controller software; the build installs only project binaries and scripts without executing untrusted remote code or exfiltrating data.
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:19
"https://static.tp-link.com/${_basepkgpath}/${_basepkgname}_v${pkgver}_${_baseos}_${_last_code}.tar.gz"
PKGBUILD
1 offending line(s) highlighted# Maintainer: robertxy <prfiredragon at gmail dot com>
pkgname='omada-controller-rxy'
pkgver=6.3.0.45
pkgrel=1
pkgdesc='Omada SDN Controller'
_basepkgname='Omada_Network_Application'
_basepkgpath='upload/software/2026/202609/20260904'
_baseos='linux_x64'
_last_code='20260903171900'
arch=('x86_64' 'aarch64')
url='https://www.tp-link.com/us/support/download/omada-software-controller/#Controller_Software'
license=('GPL')
depends=('java-runtime=17' 'java-jsvc' 'curl' 'mongodb>=3' 'mongodb<7')
makedepends=('git')
conflicts=('omada-sdn-controller' 'omada-controller')
install=omada-controller.install
source=(
"https://static.tp-link.com/${_basepkgpath}/${_basepkgname}_v${pkgver}_${_baseos}_${_last_code}.tar.gz"
"git+https://github.com/prfiredragon/omada-controller-scripts.git"
)
sha256sums=('dadf7e187fa2b21892a3f26475ae15360f41d64f578a70f0801d2ae19da9eb6a'
'SKIP')
package() {
cd ${_basepkgname}_v${pkgver}_${_baseos}
# Install required source files.
local BASEDIR="${pkgdir}/opt/omada-controller"
install -dm 755 "${BASEDIR}"
# Install JAR libraries.
install -dm 755 "${BASEDIR}/lib"
for file in lib/*; do
install -m 644 "${file}" "${BASEDIR}/lib/"
done
# Install binaries.
install -dm 755 "${BASEDIR}/bin"
for file in bin/*; do
install -m 755 "${file}" "${BASEDIR}/bin/"
done
# Install *.properties config files.
install -dm 755 "${BASEDIR}/properties"
for file in properties/*; do
install -m 644 "${file}" "${BASEDIR}/properties/"
done
ln -sf /usr/bin/mongod "${BASEDIR}/bin/mongod"
### Install scripts ####
# Install systemd units.
cd "${srcdir}/omada-controller-scripts"
install -dm 755 "${pkgdir}/usr/lib/systemd/system"
install -m 644 "omada-controller.service" "${pkgdir}/usr/lib/systemd/system/"
#systemctl daemon-reload #Not alowed any more
# Install sysusers configuration.
install -dm 755 "${pkgdir}/usr/lib/sysusers.d"
install -m 644 "omada-controller.conf" "${pkgdir}/usr/lib/sysusers.d/"
# Install ALPM hook and script.
install -dm 755 "${pkgdir}/usr/share/libalpm/hooks"
install -m 644 omada-init-user-dirs.hook "${pkgdir}/usr/share/libalpm/hooks/"
install -dm 755 "${pkgdir}/usr/share/libalpm/scripts"
install -m 755 omada-init-user-dirs.sh "${pkgdir}/usr/share/libalpm/scripts/omada-init-user-dirs"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-06 00:21:40 | Low | 2 |
| 2026-11-05 00:01:40 | Low | 2 |
| 2026-11-04 00:25:23 | Low | 2 |
| 2026-11-03 00:01:00 | Low | 2 |
| 2026-11-02 00:26:00 | Low | 2 |
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |