easyconnect
The package downloads a prebuilt .deb from the official vendor's domain (sangfor.com.cn), which is plausibly the project's own source; the binary is part of building a wrapper package, not executing remote code, and the host, while not standard, is the vendor's official site.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 90%): The package downloads a prebuilt .deb from the official vendor's domain (sangfor.com.cn), which is plausibly the project's own source; the binary is part of building a wrapper package, not executing remote code, and the host, while not standard, is the vendor's official site.
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:40
"${pkgname}-${pkgver}.deb::https://download.sangfor.com.cn/download/product/sslvpn/pkg/linux_767/${_pkgname}_x64_${pkgver//./_}.deb"
PKGBUILD
1 offending line(s) highlighted# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
# Contributor: arthur_0 <maxc@stateoftheart.pw>
# Contributor: attenuation <ouyangjun1999@gmail.com>
pkgname=easyconnect
_pkgname=EasyConnect
pkgver=7.6.7.3
_electronversion=1
pkgrel=13
_pangover=1.42.4
pkgdesc="Support access to ssl vpn. With easyconect,you can secure and speed up connection to cooperate network at ease!"
arch=('x86_64')
url="http://www.sangfor.com.cn"
license=('LicenseRef-custom')
conflicts=(
"${pkgname}"
"${pkgname}-rpc"
"${pkgname}-zjjy"
"${pkgname}-sdu"
"${pkgname}-cas"
)
depends=(
'gtk2'
'alsa-lib'
'nss'
'sqlite'
'nspr'
'dbus-glib'
'psmisc'
)
makedepends=(
'gobject-introspection'
'glib2-devel'
)
install="${pkgname}.install"
options=(
'!strip'
'!emptydirs'
)
source=(
"${pkgname}-${pkgver}.deb::https://download.sangfor.com.cn/download/product/sslvpn/pkg/linux_767/${_pkgname}_x64_${pkgver//./_}.deb"
"pango-${_pangover}.tar.xz::https://download.gnome.org/sources/pango/${_pangover%.4}/pango-${_pangover}.tar.xz"
"LICENSE"
"${pkgname}.sh"
)
sha256sums=('ae623c6dc0354ff87afefbb770de5013bfd943051c9a653b93db708253b2f0d3'
'1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d'
'b4b0db5e577c1b565a7f065ce8f9a4f9622b673fbcffa27ccbaf68f061a67a68'
'a199da9f4f1579865094a2fbc768631e04fabcf84415882859eeba47ae1708d2')
build() {
sed -i -e "
s/@appname@/sangfor/g
s/@runpath@/${_pkgname}/g
s/@runname@/${_pkgname}/g
" "${srcdir}/${pkgname}.sh"
bsdtar -xf "${srcdir}/data."*
cd "${srcdir}/pango-${_pangover}"
./configure --prefix=/usr
make -j4 && make DESTDIR="${srcdir}/pango" install
sed -i -e "
s/\/usr\/share\/sangfor\/${_pkgname}\/${_pkgname}/${pkgname}/g
s/Icon=${_pkgname}/Icon=${pkgname}/g
" "${srcdir}/usr/share/applications/${_pkgname}.desktop"
chmod 755 "${srcdir}/usr/share/sangfor/${_pkgname}/${_pkgname}"
}
package() {
install -Dm755 "${srcdir}/${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}"
install -Dm644 "${srcdir}/etc/init/EasyMonitor.conf" -t "${pkgdir}/etc/init"
install -Dm644 "${srcdir}/usr/lib/systemd/system/EasyMonitor.service" -t "${pkgdir}/usr/lib/systemd/system"
install -Dm644 "${srcdir}/usr/share/applications/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
install -Dm644 "${srcdir}/usr/share/pixmaps/${_pkgname}.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
cp -Pr --no-preserve=ownership "${srcdir}/usr/share/sangfor" "${pkgdir}/usr/share"
cp -Pr --no-preserve=ownership "${srcdir}/pango/usr/lib" "${pkgdir}/usr/share/sangfor/${_pkgname}"
install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |