awesun
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:24
source=("LICENSE::https://service.oray.com/question/1820.html") -
PKGBUILD:25
source_x86_64=("https://dl.oray.com/sl/linux/${pkgname}-${pkgver}-x86_64.deb")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt x86_64 .deb binary from dl.oray.com (the official Oray/Sunlogin vendor CDN) and installs it directly into /opt. This is a legitimate vendor distribution channel for a well-known Chinese remote-desktop product, so it is not an unofficial or personal host. However, the sha256sum for the LICENSE source is 'SKIP', and the binary .deb has a checksum that cannot be independently verified against a signed manifest. The package installs a closed-source remote-control daemon (with a systemd service) and uses patchelf to adjust rpath on bundled .so files. The core concern is that a prebuilt proprietary binary with remote-control capabilities is pulled from a CDN without signature verification — a real supply-chain risk if the CDN were compromised or the URL silently redirected. This is a genuine medium: executed closed-source binary from a vendor CDN with no cryptographic chain of trust beyond a single SHA-256 hash, and the LICENSE checksum is explicitly skipped.
PKGBUILD
2 offending line(s) highlighted# Maintainer: yjun <jerrysteve1101 at gmail dot com>
# Maintainer: zhullyb <zhullyb at outlook dot com>
# Maintainer: ExplodingDragon <explodingfkl at gmail dot com>
pkgname=awesun
pkgver=16.5.0.30560
pkgrel=1
pkgdesc="Proprietary remote control software for mobile devices, Windows, Mac, Linux and other systems. (GUI version)"
arch=("x86_64")
url="https://sunlogin.oray.com"
depends=("libappindicator-gtk3"
"gtk3"
"webkit2gtk-4.1"
"libnotify"
"util-linux-libs"
"libepoxy"
"xorg-xhost"
"libcrypt.so=1-64")
makedepends=("patchelf")
license=("custom")
provides=("sunlogin" "sunloginclient")
conflicts=("sunloginclient")
backup=("etc/orayconfig.conf")
source=("LICENSE::https://service.oray.com/question/1820.html")
source_x86_64=("https://dl.oray.com/sl/linux/${pkgname}-${pkgver}-x86_64.deb")
install="${pkgname}.install"
options=(emptydirs !debug !strip)
sha256sums=("SKIP")
sha256sums_x86_64=("eda3fffe6d5324afbc4f939f0cb85c08b7851efad3c01878621474ec7503d10f")
build() {
mkdir -p build
tar -xf data.tar.xz -C build
}
package() {
cd "${srcdir}/build"
install -dm755 "${pkgdir}/opt"
cp -dpr --no-preserve=ownership "usr/local/${pkgname}" \
"${pkgdir}/opt/${pkgname}"
install -dm755 "${pkgdir}/usr/local"
ln -s "/opt/${pkgname}" "${pkgdir}/usr/local/${pkgname}"
while IFS= read -r lib; do
patchelf --set-rpath '$ORIGIN' "$lib"
done < <(find "${pkgdir}/opt/${pkgname}/lib" -maxdepth 1 -type f -name '*.so' ! -name 'libflutter_linux_gtk.so' | sort)
patchelf --set-rpath '$ORIGIN' \
"${pkgdir}/opt/${pkgname}/lib/libsl_dart_core_plugin.so"
install -dm755 "${pkgdir}/usr/bin"
ln -s "/opt/${pkgname}/awesun" "${pkgdir}/usr/bin/${pkgname}"
install -Dm644 "usr/local/${pkgname}/awesun.png" \
"${pkgdir}/usr/share/pixmaps/${pkgname}.png"
install -Dm644 "usr/share/applications/${pkgname}.desktop" \
"${pkgdir}/usr/share/applications/${pkgname}.desktop"
sed -i \
-e "s#^Exec=.*#Exec=/usr/bin/${pkgname}#" \
-e "s#^Icon=.*#Icon=${pkgname}#" \
"${pkgdir}/usr/share/applications/${pkgname}.desktop"
install -Dm644 "usr/local/${pkgname}/scripts/runawesun.service" \
"${pkgdir}/usr/lib/systemd/system/run${pkgname}.service"
sed -i \
-e "s#/usr/local/${pkgname}#/opt/${pkgname}#g" \
"${pkgdir}/usr/lib/systemd/system/run${pkgname}.service"
install -dm755 "${pkgdir}/etc"
: > "${pkgdir}/etc/orayconfig.conf"
chmod 644 "${pkgdir}/etc/orayconfig.conf"
install -Dm644 "${srcdir}/LICENSE" \
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
# vim: ts=2 sw=2 et:
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |