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