jam-cli-bin
The package downloads prebuilt binaries from a non-standard host (native.jam.dev), which is not on the standard whitelist; while the host appears project-related, the binaries are unverifiable executables, creating a supply-chain risk if the domain were compromised.
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:24
source_x86_64=("$pkgname-$pkgver-x86_64::https://native.jam.dev/download/linux/x64?version=$pkgver")
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package downloads prebuilt binaries from a non-standard host (native.jam.dev), which is not on the standard whitelist; while the host appears project-related, the binaries are unverifiable executables, creating a supply-chain risk if the domain were compromised.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Xavier Francisco <echo moc.liamg@ocsicnarf.n.reivax | rev>
pkgname=jam-cli-bin
pkgver=1.33.2
pkgrel=1
pkgdesc="CLI for reading and creating Jam bug reports (prebuilt binary)"
arch=('x86_64' 'aarch64')
url="https://jam.dev/docs/cli"
license=('LicenseRef-Jam-Terms')
depends=('glibc')
optdepends=('xdg-utils: browser-based authentication')
provides=('jam-cli')
conflicts=('jam' 'jam-cli')
options=('!debug' '!strip')
# LICENSE points at the Jam Terms of Service rather than a downloaded copy: the
# terms page is unversioned and Jam revises it, so a pinned checksum breaks the
# build on each revision.
source=('LICENSE')
# Per-arch sources need DISTINCT output filenames. A shared name makes makepkg
# (and updpkgsums, which runs `makepkg -g`) fetch only the first, then reuse that
# file for the second arch — silently copying the x86_64 hash into
# sha256sums_aarch64. Literal arch suffixes (not $CARCH, which expands to the host
# arch for both arrays during checksum generation) keep the two downloads separate.
source_x86_64=("$pkgname-$pkgver-x86_64::https://native.jam.dev/download/linux/x64?version=$pkgver")
source_aarch64=("$pkgname-$pkgver-aarch64::https://native.jam.dev/download/linux/arm64?version=$pkgver")
sha256sums=('e43a27568e11ed5a4f72ab661e3380e8a3366e023a7296874a71211ccc4a5af8')
sha256sums_x86_64=('96b1bccf13bf1d53bf91c9e07593a1229c352001d58354aa3fde2c788d9d2a93')
sha256sums_aarch64=('3e84f7438108d51ffb482810772d2b359bdeecb8b86cc325e6a159c7ea3e356f')
package() {
install -Dm755 "$pkgname-$pkgver-$CARCH" "$pkgdir/usr/bin/jam"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-31 00:07+++ PKGBUILD @ 2026-11-01 00:21@@ -1,7 +1,7 @@ # Maintainer: Xavier Francisco <echo moc.liamg@ocsicnarf.n.reivax | rev> pkgname=jam-cli-bin-pkgver=1.28.2+pkgver=1.33.2 pkgrel=1 pkgdesc="CLI for reading and creating Jam bug reports (prebuilt binary)" arch=('x86_64' 'aarch64')@@ -24,8 +24,8 @@ source_x86_64=("$pkgname-$pkgver-x86_64::https://native.jam.dev/download/linux/x64?version=$pkgver") source_aarch64=("$pkgname-$pkgver-aarch64::https://native.jam.dev/download/linux/arm64?version=$pkgver") sha256sums=('e43a27568e11ed5a4f72ab661e3380e8a3366e023a7296874a71211ccc4a5af8')-sha256sums_x86_64=('49145d1dee68b678dde127741fb117fc3282b7eb063546b49212281f7395e543')-sha256sums_aarch64=('47c28159a39f4c67e5c868d904b39f0429c99f73801db7b549ece4e302d3b5a8')+sha256sums_x86_64=('96b1bccf13bf1d53bf91c9e07593a1229c352001d58354aa3fde2c788d9d2a93')+sha256sums_aarch64=('3e84f7438108d51ffb482810772d2b359bdeecb8b86cc325e6a159c7ea3e356f') package() { install -Dm755 "$pkgname-$pkgver-$CARCH" "$pkgdir/usr/bin/jam"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Medium | 2 |
| 2026-10-31 19:58:49 | 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 01:29:42 | 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 05:14:45 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |