ctfile-electron

maintainer maoyaotang1 · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD downloads a prebuilt AppImage binary from imgstatic.ctcontents.com, which is a CDN/static-assets subdomain associated with ctfile.com (城通网盘, a Chinese cloud storage service). While ctcontents.com appears to be the official CDN for ctfile.com's static assets rather than a completely unrelated host, it is still an unofficial/CDN domain rather than a primary project release host, and the package executes the AppImage during prepare() to extract its contents. The sha512sums are present and pin the binary, which mitigates but does not eliminate supply-chain risk (the host could serve a different binary in the future if the hash check is bypassed or the maintainer updates without scrutiny). Executing a prebuilt binary from a CDN subdomain that is not the canonical upstream release page is a genuine medium-severity supply-chain concern: if ctcontents.com is compromised or the maintainer updates the hash to match a malicious binary, arbitrary code runs on the builder's machine. This is a real but not clearly malicious concern, consistent with MEDIUM.

Triggered rules

MEDIUM source=() URL on a non-standard host 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"
MEDIUM AI review 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 AppImage binary from imgstatic.ctcontents.com, which is a CDN/static-assets subdomain associated with ctfile.com (城通网盘, a Chinese cloud storage service). While ctcontents.com appears to be the official CDN for ctfile.com's static assets rather than a completely unrelated host, it is still an unofficial/CDN domain rather than a primary project release host, and the package executes the AppImage during prepare() to extract its contents. The sha512sums are present and pin the binary, which mitigates but does not eliminate supply-chain risk (the host could serve a different binary in the future if the hash check is bypassed or the maintainer updates without scrutiny). Executing a prebuilt binary from a CDN subdomain that is not the canonical upstream release page is a genuine medium-severity supply-chain concern: if ctcontents.com is compromised or the maintainer updates the hash to match a malicious binary, arbitrary code runs on the builder's machine. This is a real but not clearly malicious concern, consistent with MEDIUM.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: MaoYaoTang <maoyaotang @ 163>
2
3pkgname=ctfile-electron
4_pkgname=CTFile
5pkgver=5.1.15
6pkgrel=1
7pkgdesc="城通网盘electron版"
8arch=('any')
9url="https://www.ctfile.com/"
10license=('CC0-1.0')
11depends=(electron)
12makedepends=('asar')
13provides=("$_pkgname")
14source=(
15 "https://imgstatic.ctcontents.com/apps/${_pkgname}-${pkgver}.AppImage"
16 "城通网盘 隐私政策"
17 "${pkgname%-electron}.desktop"
18 "${pkgname%-electron}.sh"
19)
20sha512sums=('845f347ddd8c5d5cf55738b9da373070a8b1df36036587790f5b85b0080ff25f65cbec3324ea3c85a1af7896d75a02bce478d121f6febedbe0ce8dafdb357363'
21 '9f441c7fb6dadbede0dfac67a7c27e9c44ee7fd3a67a21c8fc86258a1a971c1ef5af3ff101168fb4f190242da418e986c55d2ae9ebf38254c55f2e0e4663969a'
22 '81304263bd190047ce3625eac4b14494901d0b9a7ca316fd93689e8562faf575c865b1bf1823c038b9fc87248802fc2ba468e0b3a839834f0e6fd8a93352f13b'
23 'cbb112207302359b6f1cec3caf1c9685466959f9037ea9c0feddb9474fb84c571d7352df46aa804838eaa761b09e3a8564068c327fb76ce83ff8ab57bf676a66')
24
25prepare() {
26 chmod +x ${_pkgname}-${pkgver}.AppImage
27 ./${_pkgname}-${pkgver}.AppImage --appimage-extract
28}
29
30package() {
31 cd "${srcdir}"
32 install -dm755 ${pkgdir}/opt/${pkgname%-electron}
33 install -dm755 ${pkgdir}/usr/share
34 install -Dm755 ${pkgname%-electron}.sh "${pkgdir}/usr/bin/${pkgname%-electron}"
35 cp -r squashfs-root/resources/* "${pkgdir}/opt/${pkgname%-electron}/"
36 chmod 644 "${pkgdir}/opt/${pkgname%-electron}/assets/"*.png
37 find ${pkgdir} -type d -exec chmod 755 {} \;
38 install -Dm644 ${pkgname%-electron}.desktop "${pkgdir}/usr/share/applications/${pkgname%-electron}.desktop"
39 install -Dm644 squashfs-root/usr/share/icons/hicolor/1024x1024/apps/ctfile-desktop.png "${pkgdir}/usr/share/icons/hicolor/1024x1024/apps/ctfile-desktop.png"
40 install -Dm644 ${srcdir}/"城通网盘 隐私政策" "$pkgdir/usr/share/licenses/${pkgname%-electron}/LICENSE"
41}
42

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion