dida-bin

maintainer sukanka · 6 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The source is a prebuilt .deb from cdn.dida365.cn, which is the official CDN for Dida365 (the Chinese version of TickTick), a legitimate commercial todo application. This is a standard vendor-hosted binary, not an unofficial or personal host. The sha512sums are pinned, providing integrity verification. The 'yarn add @electron/remote@2.1.3' call fetches a specific pinned version of a well-known, official Electron ecosystem package from the npm registry — this is a common AUR pattern for patching Electron apps to work with system Electron. The version is pinned (2.1.3), reducing supply-chain risk. The overall pattern (extract deb, patch asar to add @electron/remote, repack) is a well-established technique in AUR Electron packaging. No obfuscation, no arbitrary code execution beyond normal build steps, no exfiltration. The main residual concern is that yarn resolves @electron/remote@2.1.3 from npm at build time without a lockfile, but this is a low-severity sloppy practice rather than a genuine supply-chain attack vector given the pinned version.

Triggered rules

LOW AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it LOW (confidence 78%): The source is a prebuilt .deb from cdn.dida365.cn, which is the official CDN for Dida365 (the Chinese version of TickTick), a legitimate commercial todo application. This is a standard vendor-hosted binary, not an unofficial or personal host. The sha512sums are pinned, providing integrity verification. The 'yarn add @electron/remote@2.1.3' call fetches a specific pinned version of a well-known, official Electron ecosystem package from the npm registry — this is a common AUR pattern for patching Electron apps to work with system Electron. The version is pinned (2.1.3), reducing supply-chain risk. The overall pattern (extract deb, patch asar to add @electron/remote, repack) is a well-established technique in AUR Electron packaging. No obfuscation, no arbitrary code execution beyond normal build steps, no exfiltration. The main residual concern is that yarn resolves @electron/remote@2.1.3 from npm at build time without a lockfile, but this is a low-severity sloppy practice rather than a genuine supply-chain attack vector given the pinned version.

2 higher static findings superseded - not the current verdict (shown for transparency)
MEDIUM npm/yarn/pnpm install of an undeclared external package npm_install_external

Runs `npm/yarn/pnpm install <package>` for a package not in source=(), pulling unpinned, unreviewed code at build time. Severity downgraded: the package declares/looks like a Node.js consumer, where build-time installs are expected.

  • PKGBUILD:35 yarn add @electron/remote@2.1.3
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:16 source=("${_pkgname}_${pkgver}.deb::https://cdn.dida365.cn/download/linux/linux_deb_x64/dida-${pkgver}-amd64.deb"

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: sukanka <su975853527 [AT] gmail.com>
2
3pkgname=dida-bin
4_pkgname=dida
5pkgver=8.0.10
6pkgrel=1
7pkgdesc="Official Dida client, a todo list."
8arch=("any")
9url="https://dida365.com/home"
10license=("LicenseRef-Proprietary")
11_electron=electron41
12depends=(${_electron})
13makedepends=('asar' 'yarn')
14optdepends=('noto-fonts-emoji: for emoji support')
15provides=(${_pkgname})
16source=("${_pkgname}_${pkgver}.deb::https://cdn.dida365.cn/download/linux/linux_deb_x64/dida-${pkgver}-amd64.deb"
17 "${_pkgname}".sh
18)
19sha512sums=('cadcd108c8df7d682ef9752a2d34c2e51b0f16e667a35ee9208a00e7e7266583f3b1d5fa16ac28abe4264682fd6a6a65992e3b5c1572e38654032dc0316f158d'
20 '218ff1e8c89d1567c214d0fec91745606ab48077bb24168a2b18b28f9c69a6918d34c38fe6a70e8aeaee3b6df448e7174c343924e6fa875ba1a583cc656c91ba')
21
22prepare() {
23 cd ${srcdir}
24 tar -Jxvf data.tar.xz -C "${srcdir}"
25 cp -f opt/*/resources/app.asar ${_pkgname}.asar
26 sed -i "s|__ELECTRON__|${_electron}|g" dida.sh
27 cd usr/share/applications
28 sed -i 's|^Exec=.*|Exec=dida %U|g' dida.desktop
29}
30build() {
31 cd ${srcdir}
32 asar e ${_pkgname}.asar apps
33 (
34 cd apps
35 yarn add @electron/remote@2.1.3
36 )
37 asar p apps ${_pkgname}.asar
38}
39
40package() {
41 cd ${srcdir}
42 mv usr ${pkgdir}
43 install -Dm644 ${_pkgname}.asar -t ${pkgdir}/usr/share/${_pkgname}
44 install -Dm755 ${_pkgname}.sh ${pkgdir}/usr/bin/${_pkgname}
45}
46

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 LOW 3
2026-08-02 00:16:08 LOW 3
2026-08-01 00:11:18 LOW 3
2026-07-31 00:14:10 LOW 3
2026-07-30 00:17:23 LOW 3
2026-07-29 00:25:53 LOW 3
2026-07-28 00:07:28 LOW 3
2026-07-27 00:24:32 LOW 3
2026-07-26 00:07:32 LOW 3
2026-07-25 00:13:44 LOW 3
2026-07-24 00:02:28 LOW 3
2026-07-23 00:14:47 LOW 3
2026-07-22 00:29:32 LOW 3
2026-07-21 00:24:15 LOW 3
2026-07-20 00:19:49 LOW 3
2026-07-19 00:17:08 LOW 3
2026-07-18 00:14:48 LOW 3
2026-07-17 00:06:16 LOW 3
2026-07-16 00:05:41 LOW 3
2026-07-15 00:09:25 LOW 3

Report a package

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

0 / 4000
Your suggestion