icloud-for-linux-git
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:26
npm install electron electron-packager
remote_code_tool
`npx`/`bunx`/`pnpm dlx`/`deno run <url>` downloads AND runs a remote package at build time — the moral equivalent of piping a download into a shell. Severity downgraded: Node.js consumer context.
-
PKGBUILD:27
npx electron-packager . --overwrite --platform=linux --output=release-build --prune=true
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 75%): The PKGBUILD pulls electron and electron-packager from npm at build time (npm install electron electron-packager) without pinning versions or providing checksums. These are large, complex packages (electron especially bundles a full Chromium build) fetched from the npm registry at whatever version npm resolves to. The resulting Electron binary is then executed via npx electron-packager to produce the final packaged application. While npm/electron are well-known packages and this is a common Electron app packaging pattern, the lack of any version pinning or integrity verification means a compromised or malicious version of either package could execute arbitrary code during the build. This is a genuine supply-chain concern: undeclared external binary dependencies fetched and executed without checksums. The source repo itself is a personal GitHub project (not an official vendor), and the sha256sums is SKIP. This is a real medium-severity supply-chain risk, not a false positive.
PKGBUILD
2 offending line(s) highlighted# Maintainer: Wojciech M. Wnuk <laniusone@pm.me>
_pkgbase="icloud-for-linux"
pkgname="$_pkgbase-git"
pkgver=r38.66d3cd9
pkgrel=1
pkgdesc="iCloud for Linux"
arch=("x86_64")
url="https://github.com/wmwnuk/icloud-for-linux"
license=("GPL")
depends=('npm' 'nss')
makedepends=('git')
provides=("$_pkgbase")
conflicts=("$_pkgbase")
backup=()
source=("git+https://github.com/wmwnuk/icloud-for-linux")
sha256sums=('SKIP')
pkgver() {
cd $_pkgbase
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
cd icloud-for-linux
npm install electron electron-packager
npx electron-packager . --overwrite --platform=linux --output=release-build --prune=true
}
package() {
mkdir -p "$pkgdir"/usr/bin
mkdir -p "$pkgdir"/usr/lib/icloud-for-linux
mkdir -p "$pkgdir"/usr/share/applications
mkdir -p "$pkgdir"/usr/share/icons/hicolor/256x256/apps
cp icloud-for-linux/desktop/* "$pkgdir"/usr/share/applications
cp icloud-for-linux/icons/* "$pkgdir"/usr/share/icons/hicolor/256x256/apps
cp -r icloud-for-linux/icloud-for-linux-linux-x64/* "$pkgdir"/usr/lib/icloud-for-linux/
ln -s /usr/lib/icloud-for-linux/icloud-for-linux "$pkgdir"/usr/bin/
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 3 |
| 2026-08-02 00:16:08 | MEDIUM | 3 |
| 2026-08-01 00:11:18 | MEDIUM | 3 |
| 2026-07-31 00:14:10 | MEDIUM | 3 |
| 2026-07-30 00:17:23 | MEDIUM | 3 |
| 2026-07-29 00:25:53 | MEDIUM | 3 |
| 2026-07-28 00:07:28 | MEDIUM | 3 |
| 2026-07-27 00:24:32 | MEDIUM | 3 |
| 2026-07-26 00:07:32 | MEDIUM | 3 |
| 2026-07-25 00:13:44 | MEDIUM | 3 |
| 2026-07-24 00:02:28 | MEDIUM | 3 |
| 2026-07-23 00:14:47 | MEDIUM | 3 |
| 2026-07-22 00:29:32 | MEDIUM | 3 |
| 2026-07-21 00:24:15 | MEDIUM | 3 |
| 2026-07-20 00:19:49 | MEDIUM | 3 |
| 2026-07-19 00:17:08 | MEDIUM | 3 |
| 2026-07-18 00:14:48 | MEDIUM | 3 |
| 2026-07-17 00:06:16 | MEDIUM | 3 |
| 2026-07-16 00:05:41 | MEDIUM | 3 |
| 2026-07-15 00:09:25 | MEDIUM | 3 |