omada-controller
The package downloads a prebuilt tarball from a non-standard host (static.tp-link.com) which is not on the analyzer's whitelist, and the source is a proprietary controller application that could be tampered with if the host were compromised, though it is plausibly an official vendor domain.
Triggered rules
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:20
"https://static.tp-link.com/${_basepkgpath}/${_basepkgname}_v${pkgver}_${_baseos}${_suffix}.tar.gz"
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 90%): The package downloads a prebuilt tarball from a non-standard host (static.tp-link.com) which is not on the analyzer's whitelist, and the source is a proprietary controller application that could be tampered with if the host were compromised, though it is plausibly an official vendor domain.
PKGBUILD
1 offending line(s) highlighted# Contributor & Maintainer: Murtuza Akhtari <murtuza dot akhtari at gmail dot com>
# Contributor: Richard Neumann aka. schard <mail at richard dash neumann period de>
pkgname='omada-controller'
pkgver=6.2.14.11
pkgrel=1
pkgdesc='Omada Network Application (SDN Controller)'
_basepkgname='Omada_SDN_Controller'
_basepkgpath='upload/software/2026/202607/20260717'
_baseos='linux_x64'
_suffix=''
arch=('x86_64')
url='https://support.omadanetworks.com/us/download/software/omada-controller'
license=('custom')
depends=('java-runtime=17' 'java-jsvc' 'curl' 'mongodb>=3' 'mongodb<8')
makedepends=('git')
#provides=('sdn-controller')
conflicts=('omada-sdn-controller')
source=(
"https://static.tp-link.com/${_basepkgpath}/${_basepkgname}_v${pkgver}_${_baseos}${_suffix}.tar.gz"
"git+http://github.com/murtuzaakhtari/omada-controller-scripts.git"
)
sha256sums=('23427f73dd93051a620b081aab55ffcc4cfb20951a020a1d357c43e82478aa74'
'SKIP')
package() {
#cd ${pkgname}
#cd ${_basepkgname}_v${pkgver}_${_baseos}
cd Omada_Network_Application_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 keystore. - keystore no longer available since version 5.3.1
#install -dm 755 "${BASEDIR}/keystore"
#for file in keystore/*; do
# install -m 644 "${file}" "${BASEDIR}/keystore/"
#done
# Install *.properties config files.
install -dm 755 "${BASEDIR}/properties"
for file in properties/*; do
install -m 644 "${file}" "${BASEDIR}/properties/"
done
chown -R omada:omada ${BASEDIR}/properties/
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/"
# 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-01 00:21:48 | Medium | 2 |
| 2026-10-31 00:07:41 | Medium | 2 |
| 2026-10-30 00:29:30 | Medium | 2 |
| 2026-10-29 00:13:55 | Medium | 2 |
| 2026-10-28 00:06:54 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 00:12:40 | Medium | 2 |
| 2026-10-25 00:20:48 | Medium | 2 |
| 2026-10-24 00:14:55 | Medium | 2 |
| 2026-10-23 00:02:19 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 00:10:31 | Medium | 2 |
| 2026-10-19 00:03:55 | Medium | 2 |
| 2026-10-18 00:06:55 | Medium | 2 |
| 2026-10-17 00:21:55 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |
| 2026-10-14 00:06:47 | Medium | 2 |
| 2026-10-13 00:23:45 | Medium | 2 |