workbuddy-bin
Two genuine supply-chain concerns exist here: (1) The primary source is a macOS DMG pulled from download.codebuddy.cn (a Chinese CDN/vendor host, not a well-known official mirror) with SKIP'd checksums, meaning there is no integrity verification of the binary blob that gets unpacked and installed as the application. (2) During build(), npm install fetches @vscode/ripgrep, @vscode/sqlite3, and @vscode/spdlog from the npm registry without any pinned versions or lockfile, so the exact packages installed are determined at build time by whatever npm resolves. These are legitimate @vscode-scoped packages, but the lack of version pinning is a real (if low-probability) supply-chain risk. The SKIP checksums on the DMG are the more serious issue: any MITM or compromise of download.codebuddy.cn would silently deliver a different binary. Additionally, extracting a macOS DMG to install on Linux is non-standard and the resulting binary blob is not reproducible. The package is not clearly malicious, but the combination of an unverified binary from a non-standard host plus unpinned npm dependencies at build time constitutes a real medium-severity supply-chain 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:37
npm install @vscode/ripgrep @vscode/sqlite3 @vscode/spdlog --omit=dev
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
source=("https://download.codebuddy.cn/workbuddy/saas/darwin-x64/WorkBuddy-darwin-x64-${pkgver}-${_commit}.dmg"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): Two genuine supply-chain concerns exist here: (1) The primary source is a macOS DMG pulled from download.codebuddy.cn (a Chinese CDN/vendor host, not a well-known official mirror) with SKIP'd checksums, meaning there is no integrity verification of the binary blob that gets unpacked and installed as the application. (2) During build(), npm install fetches @vscode/ripgrep, @vscode/sqlite3, and @vscode/spdlog from the npm registry without any pinned versions or lockfile, so the exact packages installed are determined at build time by whatever npm resolves. These are legitimate @vscode-scoped packages, but the lack of version pinning is a real (if low-probability) supply-chain risk. The SKIP checksums on the DMG are the more serious issue: any MITM or compromise of download.codebuddy.cn would silently deliver a different binary. Additionally, extracting a macOS DMG to install on Linux is non-standard and the resulting binary blob is not reproducible. The package is not clearly malicious, but the combination of an unverified binary from a non-standard host plus unpinned npm dependencies at build time constitutes a real medium-severity supply-chain concern.
PKGBUILD
2 offending line(s) highlighted# Maintainer: Rongbo <wurongbo2012@hotmail.com>
pkgname=workbuddy-bin
pkgver=4.10.4.26327962
pkgrel=1
_commit=85c7979b
pkgdesc="Work Smart,Not Hard"
arch=('x86_64' 'aarch64')
url="https://www.codebuddy.ai/agents"
license=('custom')
depends=('electron')
makedepends=('7zip'
'npm'
'libicns'
)
checkdepends=()
optdepends=(
'gnome-shell-extension-appindicator'
)
provides=()
conflicts=()
source=("https://download.codebuddy.cn/workbuddy/saas/darwin-x64/WorkBuddy-darwin-x64-${pkgver}-${_commit}.dmg"
WorkBuddy.desktop
)
sha256sums=('SKIP'
'SKIP'
)
prepare() {
rm -rf WorkBuddy/WorkBuddy.app/Contents/Resources/app
7z x WorkBuddy-darwin-x64-${pkgver}-${_commit}.dmg
mkdir -p WorkBuddy/WorkBuddy.app/Contents/Resources/node_modules
}
build() {
cd WorkBuddy/WorkBuddy.app/Contents/Resources
npm install @vscode/ripgrep @vscode/sqlite3 @vscode/spdlog --omit=dev
cp -a node_modules/* app/node_modules/
icns2png -x WorkBuddy.icns
}
package() {
install -D WorkBuddy.desktop ${pkgdir}/usr/share/applications/workbuddy.desktop
cd WorkBuddy/WorkBuddy.app/Contents/Resources
install -D WorkBuddy_512x512x32.png ${pkgdir}/usr/share/icons/hicolor/512x512/apps/WorkBuddy.png
install -D WorkBuddy_1024x1024x32.png ${pkgdir}/usr/share/icons/hicolor/1024x1024/apps/WorkBuddy.png
install -d ${pkgdir}/usr/lib/workbuddy
install -d ${pkgdir}/usr/share/licenses/workbuddy
mv app/*txt ${pkgdir}/usr/share/licenses/workbuddy/
cp -a app/* ${pkgdir}/usr/lib/workbuddy/
install -Dm 755 /dev/stdin "${pkgdir}/usr/bin/workbuddy" <<EOF
#!/usr/bin/bash
exec electron /usr/lib/workbuddy/out/main.js "\$@"
EOF
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 3 |
| 2026-09-16 00:03:17 | Medium | 3 |
| 2026-09-15 00:25:31 | Medium | 3 |
| 2026-09-14 00:27:57 | Medium | 3 |
| 2026-09-13 00:19:54 | Medium | 3 |
| 2026-09-12 00:25:17 | Medium | 3 |
| 2026-09-11 00:19:22 | Medium | 3 |
| 2026-09-10 00:22:44 | Medium | 3 |
| 2026-09-09 00:04:09 | Medium | 3 |
| 2026-09-08 00:18:08 | Medium | 3 |
| 2026-09-07 00:30:15 | Medium | 3 |
| 2026-09-06 00:17:06 | Medium | 3 |
| 2026-09-05 00:16:27 | Medium | 3 |
| 2026-09-04 00:03:13 | Medium | 3 |
| 2026-09-03 00:15:47 | Medium | 3 |
| 2026-09-02 00:02:31 | Medium | 3 |
| 2026-09-01 00:11:19 | Medium | 3 |
| 2026-08-31 00:19:57 | Medium | 3 |
| 2026-08-30 00:04:14 | Medium | 3 |
| 2026-08-29 00:29:17 | Medium | 3 |