cursor-nightly-bin
The package downloads prebuilt .deb binaries from a non-whitelisted but plausibly official host (downloads.cursor.com); while the checksums are provided, they are marked as SKIP, making the download unverifiable and creating a supply-chain risk if the source were silently swapped.
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:33
"cursor_${_upstream_pkgver}_amd64.deb::https://downloads.cursor.com/production/${_commit}/linux/x64/deb/amd64/deb/cursor_${_upstream_pkgver}_amd64.deb"
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package downloads prebuilt .deb binaries from a non-whitelisted but plausibly official host (downloads.cursor.com); while the checksums are provided, they are marked as SKIP, making the download unverifiable and creating a supply-chain risk if the source were silently swapped.
PKGBUILD
1 offending line(s) highlighted# Maintainer: AugusDogus <augie@linux.com>
pkgname=cursor-nightly-bin
pkgver=3.28.5
_upstream_pkgver=3.28.5
pkgrel=1
pkgdesc='AI-first coding environment (nightly channel, bundled Electron)'
arch=('x86_64' 'aarch64')
url="https://www.cursor.com"
license=('LicenseRef-Cursor_EULA')
provides=('cursor')
conflicts=('cursor-bin' 'cursor-early-access-bin' 'cursor-ide-bin')
depends=(
'alsa-lib'
'dbus'
'gcc-libs'
'gtk3'
'libdrm'
'libsecret'
'libxkbfile'
'mesa'
'nss'
'xdg-utils'
)
optdepends=(
'libnotify: desktop notifications'
'org.freedesktop.secrets: credential storage via SecretService'
'libdbusmenu-glib: KDE global menu support'
)
options=(!strip !debug)
_commit=18b4e7e5fb7fc450d7797e36c596c31aedaf59f2
source_x86_64=(
"cursor_${_upstream_pkgver}_amd64.deb::https://downloads.cursor.com/production/${_commit}/linux/x64/deb/amd64/deb/cursor_${_upstream_pkgver}_amd64.deb"
)
source_aarch64=(
"cursor_${_upstream_pkgver}_arm64.deb::https://downloads.cursor.com/production/${_commit}/linux/arm64/deb/arm64/deb/cursor_${_upstream_pkgver}_arm64.deb"
)
source=(
cursor.desktop
cursor-launcher.sh
)
sha512sums_x86_64=('SKIP')
sha512sums_aarch64=('SKIP')
sha512sums=(
'037aa5d878eddb06fc1d5be788e7bc64545773decacb34228053be746dfc33237371ad49cc331dac8e3437d7d885a9bc1564d0f114fc22e308827b33d0c55ad8'
'9defecd35fd033a484642732605264cc00faf5791d852234d9705bf9ac005c76173780cd496208e4150685ac9ddbb73c8eb87cd5141526dd4521d455342e8233')
sha512sums_x86_64[0]=641fc300186e2495aea822f2179ed2739e370a679f985aedf094e9c5eda8bb4a94f7ccef9926d5f467b18f7df8ec303dcb390681c1ebea63aee1f25350fa71ff
sha512sums_aarch64[0]=89729347677b3310fc14390b53bdfffcb361271c1acff11b7b557fb3986c4113858defdbbdaf5708338c25dbbd599674f8071352b4ca8d5ef60b6748b7694c92
noextract=(
"cursor_${_upstream_pkgver}_amd64.deb"
"cursor_${_upstream_pkgver}_arm64.deb"
)
package() {
case "$CARCH" in
x86_64) _deb="cursor_${_upstream_pkgver}_amd64.deb" ;;
aarch64) _deb="cursor_${_upstream_pkgver}_arm64.deb" ;;
esac
# Extract full deb — keep bundled Electron intact.
bsdtar -xOf "$_deb" data.tar.xz |
tar -xJf - -C "$pkgdir"
# Fix zsh completion path for Arch
if [[ -d "$pkgdir/usr/share/zsh/vendor-completions" ]]; then
mv "$pkgdir/usr/share/zsh/vendor-completions" \
"$pkgdir/usr/share/zsh/site-functions"
fi
install -Dm644 "$srcdir/cursor.desktop" \
"$pkgdir/usr/share/applications/cursor.desktop"
install -Dm755 "$srcdir/cursor-launcher.sh" "$pkgdir/usr/bin/cursor"
_license="$pkgdir/usr/share/cursor/resources/app/LICENSE.txt"
if [[ ! -f "$_license" ]]; then
_license=$(find "$pkgdir/usr/share/cursor" -maxdepth 8 -type f \( -name 'LICENSE.txt' -o -name 'LICENSE' \) -print -quit 2>/dev/null)
fi
if [[ -f "$_license" ]]; then
install -Dm644 "$_license" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
else
echo "Warning: Cursor license file not found in .deb; skipping /usr/share/licenses install" >&2
fi
if [[ -f "$pkgdir/usr/share/cursor/chrome-sandbox" ]]; then
chmod 4755 "$pkgdir/usr/share/cursor/chrome-sandbox"
fi
}
Changes since previous scan
--- PKGBUILD @ 2026-10-28 00:06+++ PKGBUILD @ 2026-11-01 00:21@@ -1,8 +1,8 @@ # Maintainer: AugusDogus <augie@linux.com> pkgname=cursor-nightly-bin-pkgver=3.27.18-_upstream_pkgver=3.27.18+pkgver=3.28.5+_upstream_pkgver=3.28.5 pkgrel=1 pkgdesc='AI-first coding environment (nightly channel, bundled Electron)' arch=('x86_64' 'aarch64')@@ -28,7 +28,7 @@ 'libdbusmenu-glib: KDE global menu support' ) options=(!strip !debug)-_commit=d3f01a79e3f472a39892b79ccd361bdc1725713e+_commit=18b4e7e5fb7fc450d7797e36c596c31aedaf59f2 source_x86_64=( "cursor_${_upstream_pkgver}_amd64.deb::https://downloads.cursor.com/production/${_commit}/linux/x64/deb/amd64/deb/cursor_${_upstream_pkgver}_amd64.deb" )@@ -44,8 +44,8 @@ sha512sums=( '037aa5d878eddb06fc1d5be788e7bc64545773decacb34228053be746dfc33237371ad49cc331dac8e3437d7d885a9bc1564d0f114fc22e308827b33d0c55ad8' '9defecd35fd033a484642732605264cc00faf5791d852234d9705bf9ac005c76173780cd496208e4150685ac9ddbb73c8eb87cd5141526dd4521d455342e8233')-sha512sums_x86_64[0]=b4e1c6e6df36a5b77ae1ce20faf4a131577f22d573fab7e23305f77ddae650272d439982c7c7c0ea5bdd1f244af2061e0a8cea49a49e907b20263f6bf25aeb61-sha512sums_aarch64[0]=b045423223fe177713746fb7e35f22228a7153ea12a5eb3ae7877e65cc25d1e7b38009097d66b50c9ee373ce3058d2e47a1f4355f5e3d33072b4834fe13be495+sha512sums_x86_64[0]=641fc300186e2495aea822f2179ed2739e370a679f985aedf094e9c5eda8bb4a94f7ccef9926d5f467b18f7df8ec303dcb390681c1ebea63aee1f25350fa71ff+sha512sums_aarch64[0]=89729347677b3310fc14390b53bdfffcb361271c1acff11b7b557fb3986c4113858defdbbdaf5708338c25dbbd599674f8071352b4ca8d5ef60b6748b7694c92 noextract=( "cursor_${_upstream_pkgver}_amd64.deb" "cursor_${_upstream_pkgver}_arm64.deb"@@ -271,3 +271,5 @@ ++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 17:50:30 | Medium | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 05:46:44 | Medium | 1 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 07:44:04 | Medium | 1 |
| 2026-10-26 00:12:40 | Medium | 2 |
| 2026-10-25 23:43:15 | Medium | 2 |
| 2026-10-25 00:20:48 | Medium | 2 |
| 2026-10-24 00:14:55 | Medium | 2 |
| 2026-10-23 09:37:04 | Medium | 2 |
| 2026-10-23 00:02:19 | Medium | 2 |
| 2026-10-22 03:33:54 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 19:33:05 | Medium | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 05:27:35 | Medium | 1 |