dida-bin
The package installs a prebuilt .deb from a non-standard host (cdn.dida365.cn), which is an unverifiable executable binary outside official infrastructure, creating a supply-chain risk; the yarn add downloads a declared but external npm package, which is less severe but still a minor concern.
Triggered rules
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"
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 90%): The package installs a prebuilt .deb from a non-standard host (cdn.dida365.cn), which is an unverifiable executable binary outside official infrastructure, creating a supply-chain risk; the yarn add downloads a declared but external npm package, which is less severe but still a minor concern.
PKGBUILD
2 offending line(s) highlighted# Maintainer: sukanka <su975853527 [AT] gmail.com>
pkgname=dida-bin
_pkgname=dida
pkgver=8.0.20
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=('52304e2f9bb3d3952ff15a0ada82bc6eeccab6a0a1bddb5a56cb9f7d8a35aa29c273146cce9b162b8c323b00de1a1770ca0506292caffee74739e94443a9fac4'
'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-11-01 00:21:48 | Medium | 3 |
| 2026-10-31 00:07:41 | Medium | 3 |
| 2026-10-30 00:29:30 | Medium | 3 |
| 2026-10-29 00:13:55 | Medium | 3 |
| 2026-10-28 00:06:54 | Medium | 3 |
| 2026-10-27 00:23:28 | Medium | 3 |
| 2026-10-26 00:12:40 | Medium | 3 |
| 2026-10-25 00:20:48 | Medium | 3 |
| 2026-10-24 00:14:55 | Medium | 3 |
| 2026-10-23 00:02:19 | Medium | 3 |
| 2026-10-22 00:13:10 | Medium | 3 |
| 2026-10-21 00:12:50 | Medium | 3 |
| 2026-10-20 00:10:31 | Medium | 3 |
| 2026-10-19 00:03:55 | Medium | 3 |
| 2026-10-18 00:06:55 | Medium | 3 |
| 2026-10-17 00:21:55 | Medium | 3 |
| 2026-10-16 00:12:47 | Medium | 3 |
| 2026-10-15 00:28:05 | Medium | 3 |
| 2026-10-14 00:06:47 | Medium | 3 |
| 2026-10-13 00:23:45 | Medium | 3 |