kimi-bin

MEDIUM
maintainer AsukaMinato 0 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The package downloads a prebuilt Windows executable (Kimi-Setup) from a non-standard host (moonshot.cn) which is then extracted and repackaged; while the intent is to repackage for Linux, the source is an unverifiable binary from a non-whitelisted, project-adjacent host, creating a supply-chain risk if the host were compromised or the download intercepted.

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 "kimi_${pkgver}.exe::https://kimi-img.moonshot.cn/app/upgrade/Kimi-Setup-${pkgver}.exe"
Medium AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 85%): The package downloads a prebuilt Windows executable (Kimi-Setup) from a non-standard host (moonshot.cn) which is then extracted and repackaged; while the intent is to repackage for Linux, the source is an unverifiable binary from a non-whitelisted, project-adjacent host, creating a supply-chain risk if the host were compromised or the download intercepted.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: AUR package maintainer
2
3pkgname=kimi-bin
4pkgver=3.2.5
5pkgrel=3
6pkgdesc='Kimi desktop client, repackaged for the system Electron runtime'
7arch=('x86_64')
8url='https://www.kimi.com/'
9license=('LicenseRef-proprietary')
10depends=('electron41' 'git' 'python' 'uv')
11makedepends=('7zip' 'asar')
12provides=('kimi')
13conflicts=('kimi')
14options=('!strip')
15source=(
16 'LICENSE'
17 'daimon'
18 'kimi.desktop'
19 'kimi.sh'
20)
21source_x86_64=(
22 "kimi_${pkgver}.exe::https://kimi-img.moonshot.cn/app/upgrade/Kimi-Setup-${pkgver}.exe"
23 'better-sqlite3-v12.8.0-electron-v145-linux-x64.tar.gz::https://github.com/WiseLibs/better-sqlite3/releases/download/v12.8.0/better-sqlite3-v12.8.0-electron-v145-linux-x64.tar.gz'
24)
25noextract=("kimi_${pkgver}.exe")
26sha256sums=('3d0ecc0dd3c31a9aaa58f4be041e10c9850e85505975642a40be1aea39ed9587'
27 'a50cb2d9d215fa61a62daa55ba4f555a3b12330b1f35d70327855d11f1360544'
28 '01f7417e0c0b5a7ede1d10aa26fa64fa6e0983817bb013486bd5a8bf080ff5f8'
29 '7d85bbea6f043c28474aaa6a33b5a9acb2c0ca3c5bdc1b74977cce9394579a50')
30sha256sums_x86_64=('6dbdd35b9003c743633b8e3e776653e7550641014299dd7722fc374a8d7880bf'
31 '6a818b219018175261e1c0e9cd8f7de52d89ed9b4d2f97173e1b255b30a1db88')
32
33prepare() {
34 rm -rf "${srcdir}/nsis" "${srcdir}/payload" "${srcdir}/app" \
35 "${srcdir}/daimon-bundle"
36 mkdir -p "${srcdir}/nsis" "${srcdir}/payload" \
37 "${srcdir}/daimon-bundle"
38
39 7z x -y "${srcdir}/kimi_${pkgver}.exe" -o"${srcdir}/nsis"
40 7z x -y "${srcdir}/nsis/\$PLUGINSDIR/app-64.7z" -o"${srcdir}/payload"
41 asar extract "${srcdir}/payload/resources/app.asar" "${srcdir}/app"
42 tar -xzf "${srcdir}/payload/resources/resources/daimon-bundle.tar.gz" \
43 -C "${srcdir}/daimon-bundle" \
44 ./app/daimon \
45 ./release \
46 ./bundle.json \
47 ./.daimon-bundle-stamp
48
49 install -Dm755 "${srcdir}/daimon" \
50 "${srcdir}/daimon-bundle/bin/daimon"
51 tar -xzf \
52 "${srcdir}/better-sqlite3-v12.8.0-electron-v145-linux-x64.tar.gz" \
53 -C "${srcdir}/daimon-bundle/app/daimon/node_modules/better-sqlite3"
54
55 local renderer="${srcdir}/app/out/renderer/assets/common-CEwlbJLP.js"
56 local main="${srcdir}/app/out/main/index.js"
57
58 # Updates for an AUR package must be handled by pacman, not electron-updater.
59 sed -i 's/^ setupAutoUpdater();$/ \/\* Updates are managed by pacman. \*\//' "${main}"
60
61 # Windows executables cannot run under the system Linux Electron runtime.
62 find "${srcdir}/app" "${srcdir}/daimon-bundle" \
63 -type f -iname '*.exe' -delete
64 find "${srcdir}/app" "${srcdir}/daimon-bundle" -type f \( \
65 -iname '*.ts' -o \
66 -iname '*.mts' -o \
67 -iname '*.cts' -o \
68 -iname '*.tsx' \
69 \) -delete
70
71 # Daimon's bundled package.json lists its build-time devDependencies, none of
72 # which are shipped in node_modules; strip the manifold of it declarations.
73 sed -i \
74 '/^ "devDependencies": {$/,/^ },$/d' \
75 "${srcdir}/daimon-bundle/app/daimon/package.json"
76
77 asar pack "${srcdir}/app" "${srcdir}/kimi.asar"
78}
79
80package() {
81 install -Dm644 "${srcdir}/kimi.asar" \
82 "${pkgdir}/usr/lib/kimi/app.asar"
83 # 3.2.5 preflight expects a Node runtime at electron's resourcesRoot/runtime/node;
84 # point it at the system electron (the daimon launcher ignores the passed path
85 # and runs through electron41 anyway, matching the better-sqlite3 electron-v145 ABI).
86 install -d "${pkgdir}/usr/lib/electron41/resources/resources/runtime"
87 ln -s /usr/bin/electron41 \
88 "${pkgdir}/usr/lib/electron41/resources/resources/runtime/node"
89 install -d "${pkgdir}/usr/lib/kimi/daimon-bundle"
90 cp -a "${srcdir}/daimon-bundle/." \
91 "${pkgdir}/usr/lib/kimi/daimon-bundle/"
92 install -Dm755 "${srcdir}/kimi.sh" \
93 "${pkgdir}/usr/bin/kimi"
94 install -Dm644 "${srcdir}/kimi.desktop" \
95 "${pkgdir}/usr/share/applications/kimi.desktop"
96 # hicolor only scans directories registered in its index.theme; the largest
97 # registered size is 512x512/scalable. Install into the common registered
98 # sizes so Plasma finds the icon regardless of display size.
99 install -Dm644 "${srcdir}/app/assets/icon.png" \
100 "${pkgdir}/usr/share/icons/hicolor/256x256/apps/kimi.png"
101 install -Dm644 "${srcdir}/app/assets/icon.png" \
102 "${pkgdir}/usr/share/icons/hicolor/512x512/apps/kimi.png"
103 install -Dm644 "${srcdir}/app/assets/icon.png" \
104 "${pkgdir}/usr/share/icons/hicolor/1024x1024/apps/kimi.png"
105 install -Dm644 "${srcdir}/LICENSE" \
106 "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
107}
108

Changes since previous scan

--- PKGBUILD @ 2026-09-09 00:04
+++ PKGBUILD @ 2026-09-17 00:27
@@ -1,8 +1,8 @@
# Maintainer: AUR package maintainer
pkgname=kimi-bin
-pkgver=3.1.7
-pkgrel=1
+pkgver=3.2.5
+pkgrel=3
pkgdesc='Kimi desktop client, repackaged for the system Electron runtime'
arch=('x86_64')
url='https://www.kimi.com/'
@@ -25,9 +25,9 @@
noextract=("kimi_${pkgver}.exe")
sha256sums=('3d0ecc0dd3c31a9aaa58f4be041e10c9850e85505975642a40be1aea39ed9587'
'a50cb2d9d215fa61a62daa55ba4f555a3b12330b1f35d70327855d11f1360544'
- '256891c355a265625e641c637d611ad401d3714f0e46b063346caafd802949e7'
+ '01f7417e0c0b5a7ede1d10aa26fa64fa6e0983817bb013486bd5a8bf080ff5f8'
'7d85bbea6f043c28474aaa6a33b5a9acb2c0ca3c5bdc1b74977cce9394579a50')
-sha256sums_x86_64=('74e3612ad6201f75ac4767ee16f0f1ec6972b5950cf7b0990e83a8d3a6205ccf'
+sha256sums_x86_64=('6dbdd35b9003c743633b8e3e776653e7550641014299dd7722fc374a8d7880bf'
'6a818b219018175261e1c0e9cd8f7de52d89ed9b4d2f97173e1b255b30a1db88')
prepare() {
@@ -80,6 +80,12 @@
package() {
install -Dm644 "${srcdir}/kimi.asar" \
"${pkgdir}/usr/lib/kimi/app.asar"
+ # 3.2.5 preflight expects a Node runtime at electron's resourcesRoot/runtime/node;
+ # point it at the system electron (the daimon launcher ignores the passed path
+ # and runs through electron41 anyway, matching the better-sqlite3 electron-v145 ABI).
+ install -d "${pkgdir}/usr/lib/electron41/resources/resources/runtime"
+ ln -s /usr/bin/electron41 \
+ "${pkgdir}/usr/lib/electron41/resources/resources/runtime/node"
install -d "${pkgdir}/usr/lib/kimi/daimon-bundle"
cp -a "${srcdir}/daimon-bundle/." \
"${pkgdir}/usr/lib/kimi/daimon-bundle/"

Scan history

Scanned at (UTC)SeverityRules
2026-09-17 00:27:14 Medium 2
2026-09-16 00:03:17 Medium 2
2026-09-15 00:25:31 Medium 2
2026-09-14 00:27:57 Medium 2
2026-09-13 00:19:54 Medium 2
2026-09-12 00:25:17 Medium 2
2026-09-11 00:19:22 Medium 2
2026-09-10 00:22:44 Medium 2
2026-09-09 11:19:32 Medium 2
2026-09-09 00:04:09 Medium 2
2026-09-08 00:18:08 Medium 2
2026-09-07 00:30:15 Medium 2
2026-09-06 00:17:06 Medium 2
2026-09-05 00:16:27 Medium 2
2026-09-04 00:03:13 Medium 2
2026-09-03 00:15:47 Medium 2
2026-09-02 00:02:31 Medium 2
2026-09-01 00:11:19 Medium 2
2026-08-31 00:19:57 Medium 2
2026-08-30 00:04:14 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