ctfile-electron
The package downloads a prebuilt AppImage executable from a non-standard host (imgstatic.ctcontents.com), which is not a standard code hosting platform, creating a supply-chain risk if the host is compromised or controlled by an unrelated party.
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:15
"https://imgstatic.ctcontents.com/apps/${_pkgname}-${pkgver}.AppImage"
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package downloads a prebuilt AppImage executable from a non-standard host (imgstatic.ctcontents.com), which is not a standard code hosting platform, creating a supply-chain risk if the host is compromised or controlled by an unrelated party.
PKGBUILD
1 offending line(s) highlighted# Maintainer: MaoYaoTang <maoyaotang @ 163>
pkgname=ctfile-electron
_pkgname=CTFile
pkgver=5.1.23
pkgrel=1
pkgdesc="城通网盘electron版"
arch=('any')
url="https://www.ctfile.com/"
license=('CC0-1.0')
depends=(electron)
makedepends=('asar')
provides=("$_pkgname")
source=(
"https://imgstatic.ctcontents.com/apps/${_pkgname}-${pkgver}.AppImage"
"城通网盘 隐私政策"
"${pkgname%-electron}.desktop"
"${pkgname%-electron}.sh"
)
sha512sums=('d38338f9ca94b6ed7c5a4784882486e213e98a5cf59d8cfd1453c0ddcaca5c26cbc2fea3a886994a9c7b5c9977a087ecaa6fb1322100d0cc9880b8703d8984bb'
'9f441c7fb6dadbede0dfac67a7c27e9c44ee7fd3a67a21c8fc86258a1a971c1ef5af3ff101168fb4f190242da418e986c55d2ae9ebf38254c55f2e0e4663969a'
'81304263bd190047ce3625eac4b14494901d0b9a7ca316fd93689e8562faf575c865b1bf1823c038b9fc87248802fc2ba468e0b3a839834f0e6fd8a93352f13b'
'cbb112207302359b6f1cec3caf1c9685466959f9037ea9c0feddb9474fb84c571d7352df46aa804838eaa761b09e3a8564068c327fb76ce83ff8ab57bf676a66')
prepare() {
chmod +x ${_pkgname}-${pkgver}.AppImage
./${_pkgname}-${pkgver}.AppImage --appimage-extract
}
package() {
cd "${srcdir}"
install -dm755 ${pkgdir}/opt/${pkgname%-electron}
install -dm755 ${pkgdir}/usr/share
install -Dm755 ${pkgname%-electron}.sh "${pkgdir}/usr/bin/${pkgname%-electron}"
cp -r squashfs-root/resources/* "${pkgdir}/opt/${pkgname%-electron}/"
chmod 644 "${pkgdir}/opt/${pkgname%-electron}/assets/"*.png
find ${pkgdir} -type d -exec chmod 755 {} \;
install -Dm644 ${pkgname%-electron}.desktop "${pkgdir}/usr/share/applications/${pkgname%-electron}.desktop"
install -Dm644 squashfs-root/usr/share/icons/hicolor/1024x1024/apps/ctfile-desktop.png "${pkgdir}/usr/share/icons/hicolor/1024x1024/apps/ctfile-desktop.png"
install -Dm644 ${srcdir}/"城通网盘 隐私政策" "$pkgdir/usr/share/licenses/${pkgname%-electron}/LICENSE"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-31 00:07+++ PKGBUILD @ 2026-11-01 00:21@@ -2,7 +2,7 @@ pkgname=ctfile-electron _pkgname=CTFile-pkgver=5.1.20+pkgver=5.1.23 pkgrel=1 pkgdesc="城通网盘electron版" arch=('any')@@ -17,7 +17,7 @@ "${pkgname%-electron}.desktop" "${pkgname%-electron}.sh" )-sha512sums=('ec1a0f68b0386059d8a77e760620fc160ff717355b1970f7a83546cdfc00a3a4128902699c100cfe242ba2edc8fd2e6c9e2b64118bc0f0ac5318a741b912ffe7'+sha512sums=('d38338f9ca94b6ed7c5a4784882486e213e98a5cf59d8cfd1453c0ddcaca5c26cbc2fea3a886994a9c7b5c9977a087ecaa6fb1322100d0cc9880b8703d8984bb' '9f441c7fb6dadbede0dfac67a7c27e9c44ee7fd3a67a21c8fc86258a1a971c1ef5af3ff101168fb4f190242da418e986c55d2ae9ebf38254c55f2e0e4663969a' '81304263bd190047ce3625eac4b14494901d0b9a7ca316fd93689e8562faf575c865b1bf1823c038b9fc87248802fc2ba468e0b3a839834f0e6fd8a93352f13b' 'cbb112207302359b6f1cec3caf1c9685466959f9037ea9c0feddb9474fb84c571d7352df46aa804838eaa761b09e3a8564068c327fb76ce83ff8ab57bf676a66')Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Medium | 2 |
| 2026-10-31 11:58:11 | 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 21:48:49 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 19:45:59 | 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 |