dida-bin
Triggered rules
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)
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
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# Maintainer: sukanka <su975853527 [AT] gmail.com>
pkgname=dida-bin
_pkgname=dida
pkgver=8.0.10
pkgrel=1
pkgdesc="Official Dida client, a todo list."
arch=("any")
url="https://dida365.com/home"
license=("LicenseRef-Proprietary")
_electron=electron41
depends=(${_electron})
makedepends=('asar' 'yarn')
optdepends=('noto-fonts-emoji: for emoji support')
provides=(${_pkgname})
source=("${_pkgname}_${pkgver}.deb::https://cdn.dida365.cn/download/linux/linux_deb_x64/dida-${pkgver}-amd64.deb"
"${_pkgname}".sh
)
sha512sums=('cadcd108c8df7d682ef9752a2d34c2e51b0f16e667a35ee9208a00e7e7266583f3b1d5fa16ac28abe4264682fd6a6a65992e3b5c1572e38654032dc0316f158d'
'218ff1e8c89d1567c214d0fec91745606ab48077bb24168a2b18b28f9c69a6918d34c38fe6a70e8aeaee3b6df448e7174c343924e6fa875ba1a583cc656c91ba')
prepare() {
cd ${srcdir}
tar -Jxvf data.tar.xz -C "${srcdir}"
cp -f opt/*/resources/app.asar ${_pkgname}.asar
sed -i "s|__ELECTRON__|${_electron}|g" dida.sh
cd usr/share/applications
sed -i 's|^Exec=.*|Exec=dida %U|g' dida.desktop
}
build() {
cd ${srcdir}
asar e ${_pkgname}.asar apps
(
cd apps
yarn add @electron/remote@2.1.3
)
asar p apps ${_pkgname}.asar
}
package() {
cd ${srcdir}
mv usr ${pkgdir}
install -Dm644 ${_pkgname}.asar -t ${pkgdir}/usr/share/${_pkgname}
install -Dm755 ${_pkgname}.sh ${pkgdir}/usr/bin/${_pkgname}
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |