dida-bin

LOW
maintainer sukanka 6 votes scanned 2026-09-17 00:27:14.276658
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-09-17 00:27:14 Low 3
2026-09-16 00:03:17 Low 3
2026-09-15 00:25:31 Low 3
2026-09-14 00:27:57 Low 3
2026-09-13 00:19:54 Low 3
2026-09-12 00:25:17 Low 3
2026-09-11 00:19:22 Low 3
2026-09-10 00:22:44 Low 3
2026-09-09 00:04:09 Low 3
2026-09-08 00:18:08 Low 3
2026-09-07 00:30:15 Low 3
2026-09-06 00:17:06 Low 3
2026-09-05 00:16:27 Low 3
2026-09-04 00:03:13 Low 3
2026-09-03 00:15:47 Low 3
2026-09-02 00:02:31 Low 3
2026-09-01 00:11:19 Low 3
2026-08-31 00:19:57 Low 3
2026-08-30 00:04:14 Low 3
2026-08-29 00:29:17 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