ticktick-cn
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
source_x86_64=("dida-${pkgver}-amd64.deb::https://cdn.dida365.cn/download/linux/linux_deb_x64/dida-${pkgver}-amd64.deb")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The package downloads prebuilt Electron application binaries (.deb packages) from cdn.dida365.cn, which is the official CDN for the Chinese TickTick client (Dida365). While this is the vendor's own CDN rather than a random personal host, all checksums are SKIP'd, meaning there is no integrity verification of the downloaded binaries. This is a real supply-chain concern: if the CDN is compromised or serves different content, users would silently receive and execute arbitrary code. The binary is an Electron app that runs with elevated chrome-sandbox SUID permissions. The host appears to be the legitimate vendor CDN for this proprietary app, which reduces (but does not eliminate) the risk compared to a truly unofficial host. The SKIP checksums are the primary concern here — for a prebuilt proprietary binary this is a meaningful supply-chain risk, keeping this at medium severity.
PKGBUILD
1 offending line(s) highlighted# Maintainer: xycloud <xycldw@gmail.com>
pkgname=ticktick-cn
pkgver=6.0.40
pkgrel=1
pkgdesc='Official TickTick desktop application (Chinese edition)'
arch=('x86_64' 'aarch64')
url='https://www.dida365.com/download'
license=('custom:Proprietary')
install=${pkgname}.install
conflicts=('ticktick' 'ticktick-nativefier')
depends=('gtk3' 'libnotify' 'nss' 'libxss' 'libxtst' 'xdg-utils' 'libatspi.so'
'util-linux-libs' 'libappindicator-gtk3' 'libsecret')
source=("${pkgname}.sh" 'LICENSE')
source_x86_64=("dida-${pkgver}-amd64.deb::https://cdn.dida365.cn/download/linux/linux_deb_x64/dida-${pkgver}-amd64.deb")
source_aarch64=("dida-${pkgver}-arm64.deb::https://cdn.dida365.cn/download/linux/linux_deb_arm64/dida-${pkgver}-arm64.deb")
sha256sums=('SKIP'
'SKIP')
sha256sums_x86_64=('SKIP')
sha256sums_aarch64=('SKIP')
package() {
tar -xf data.tar.xz -C "${pkgdir}"
# Replace default path to system symlink
sed -i "s|^Exec=.*|Exec=/usr/bin/${pkgname} --uri=%U|" "${pkgdir}/usr/share/applications/dida.desktop"
# Copy launch script to allow custom flags
install -Dm 755 ${pkgname}.sh "${pkgdir}/usr/bin/${pkgname}"
# Install license from upstream ToS
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
mv "${pkgdir}/opt/dida/LICENSE.electron.txt" \
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.electron.txt"
mv "${pkgdir}/opt/dida/LICENSES.chromium.html" \
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSES.chromium.html"
# SUID chrome-sandbox for Electron 5+
chmod 4755 "${pkgdir}/opt/dida/chrome-sandbox"
}
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 |