live2d-kanban-desktop-bin

maintainer zxp19821005 · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD downloads a prebuilt AppImage (containing app.asar and unpacked native modules) from a legitimate GitHub release with a pinned checksum, which is standard practice for Electron app packaging in AUR. However, there are two notable concerns: (1) The Live2D Cubism Core JS library is fetched from cubism.live2d.com with 'SKIP' for its checksum, meaning any change to that file on the CDN would go undetected — this is a real supply-chain risk since it is executed JavaScript loaded into the Electron app. (2) The app.asar itself is a prebuilt binary blob whose contents cannot be easily audited. The GitHub source has a proper checksum, so that part is pinned. The SKIP checksum on the live2dcubismcore.min.js is the primary concern — it is an executed script from a third-party CDN with no integrity verification, which constitutes a genuine medium-severity supply-chain risk.

Triggered rules

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:22 "live2dcubismcore.min-${pkgver}.js::https://cubism.live2d.com/sdk-web/cubismcore/live2dcubismcore.min.js"
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt AppImage (containing app.asar and unpacked native modules) from a legitimate GitHub release with a pinned checksum, which is standard practice for Electron app packaging in AUR. However, there are two notable concerns: (1) The Live2D Cubism Core JS library is fetched from cubism.live2d.com with 'SKIP' for its checksum, meaning any change to that file on the CDN would go undetected — this is a real supply-chain risk since it is executed JavaScript loaded into the Electron app. (2) The app.asar itself is a prebuilt binary blob whose contents cannot be easily audited. The GitHub source has a proper checksum, so that part is pinned. The SKIP checksum on the live2dcubismcore.min.js is the primary concern — it is an executed script from a third-party CDN with no integrity verification, which constitutes a genuine medium-severity supply-chain risk.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
2_appname=kanban-desktop
3pkgname="live2d-${_appname}-bin"
4pkgver=2.8.0
5_electronversion=22
6pkgrel=7
7pkgdesc="An AI Based live2d Kanban for Desktop Users Using Electron.基于Electron制作的桌面看板娘,支持日程提醒、小窗模式、ChatGPT集成、网页搜索、本地moc模型加载与独立设置界面等"
8arch=('x86_64')
9url="https://studio.zerolite.cn/2022/07/02/waifuprojv2/"
10_ghurl="https://github.com/JimHans/live2d-kanban-desktop"
11license=('GPL-3.0-only')
12conflicts=("${pkgname%-bin}")
13provides=("${pkgname%-bin}")
14depends=(
15 "electron${_electronversion}"
16)
17makedepends=(
18 'gendesk'
19)
20source=(
21 "${pkgname%-bin}-${pkgver}.tar.gz::${_ghurl}/releases/download/v${pkgver}/${_appname}-${pkgver}-AppImage.tar.gz"
22 "live2dcubismcore.min-${pkgver}.js::https://cubism.live2d.com/sdk-web/cubismcore/live2dcubismcore.min.js"
23 "${pkgname%-bin}-${pkgver}.png::https://raw.githubusercontent.com/JimHans/live2d-kanban-desktop/v${pkgver}/assets/app.png"
24 "${pkgname%-bin}.sh"
25)
26sha256sums=('ec355432de2d20013c2c80c576dda280da5c4103441f72784a3b998a2af6094f'
27 'SKIP'
28 '105e68828a678c96212f99c8159ad29c94032f8c2de2a0035af097164b247d7f'
29 '291f50480f5a61bc9c68db7d44cd0412071128706baa868a9cb854f8779a1980')
30prepare() {
31 sed -i -e "
32 s/@electronversion@/${_electronversion}/g
33 s/@appname@/${pkgname%-bin}/g
34 s/@runname@/app.asar/g
35 s/@cfgdirname@/${_appname}/g
36 s/@options@//g
37 " "${srcdir}/${pkgname%-bin}.sh"
38 gendesk -q -f -n --pkgname="${pkgname%-bin}" --pkgdesc="${pkgdesc}" --categories="Utility" --name="${pkgname%-bin}" --exec="${pkgname%-bin} %U"
39 }
40package() {
41 install -Dm755 "${srcdir}/${pkgname%-bin}.sh" "${pkgdir}/usr/bin/${pkgname%-bin}"
42 install -Dm644 "${srcdir}/${_appname}-${pkgver}/resources/app.asar" -t "${pkgdir}/usr/lib/${pkgname%-bin}"
43 cp -r "${srcdir}/${_appname}-${pkgver}/resources/app.asar.unpacked" "${pkgdir}/usr/lib/${pkgname%-bin}"
44 install -Dm755 "${srcdir}/live2dcubismcore.min-${pkgver}.js" "${pkgdir}/usr/lib/${pkgname%-bin}/live2dcubismcore.min.js"
45 install -Dm644 "${srcdir}/${pkgname%-bin}.desktop" -t "${pkgdir}/usr/share/applications"
46 install -Dm644 "${srcdir}/${pkgname%-bin}-${pkgver}.png" "${pkgdir}/usr/share/pixmaps/${pkgname%-bin}.png"
47}

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

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

0 / 4000
Your suggestion