cursor-bin
The package downloads a prebuilt .deb from the official Cursor downloads domain, which is plausibly the project's own release infrastructure; while the host is not a standard code forge, it is the official vendor domain, and the binary is unpacked and integrated without executing arbitrary remote code.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a prebuilt .deb from the official Cursor downloads domain, which is plausibly the project's own release infrastructure; while the host is not a standard code forge, it is the official vendor domain, and the binary is unpacked and integrated without executing arbitrary remote code.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:16
source=("https://downloads.cursor.com/production/${_commit}/linux/x64/deb/amd64/deb/cursor_${pkgver}_amd64.deb"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Gunther Schulz <dev@guntherschulz.de>
pkgname=cursor-bin
pkgver=3.28.5
pkgrel=1
pkgdesc='AI-first coding environment'
arch=('x86_64')
url="https://www.cursor.com"
license=('LicenseRef-Cursor_EULA')
# upstream uses Electron newer than internal VSCode
_electron=electron42
depends=(xdg-utils ripgrep $_electron nodejs
'gcc-libs' 'hicolor-icon-theme' 'libxkbfile')
options=(!strip !debug) # Don't break ext of VSCode
_commit=18b4e7e5fb7fc450d7797e36c596c31aedaf59f2
source=("https://downloads.cursor.com/production/${_commit}/linux/x64/deb/amd64/deb/cursor_${pkgver}_amd64.deb"
"https://gitlab.archlinux.org/archlinux/packaging/packages/code/-/raw/main/code."{sh,mjs}
rg.sh)
sha512sums=('SKIP'
'937299c6cb6be2f8d25f7dbc95cf77423875c5f8353b8bd6cd7cc8e5603cbf8405b14dbf8bd615db2e3b36ed680fc8e1909410815f7f8587b7267a699e00ab37'
'793f9ff6306e3992ac89802d98110cba288ea1181a901467333293b7d76182ef9792c2a39ff49d9347a18a174b1f42bc58862091dff583f4146c2704eea28033'
'e79fe7659f59d1ae02fc68816399bfd31587315df6cdb6ccf1d0ca76f7cdc692c2a42b30591c0091147bd97ef14b1c7745dc26bd7cb3ea6bba45698e5044fa2a')
sha512sums[0]=641fc300186e2495aea822f2179ed2739e370a679f985aedf094e9c5eda8bb4a94f7ccef9926d5f467b18f7df8ec303dcb390681c1ebea63aee1f25350fa71ff
noextract=(cursor_${pkgver}_amd64.deb) # avoid double tarball
_app=usr/share/cursor/resources/app
package() {
# Exclude electron
bsdtar -xOf ${noextract[0]} data.tar.xz | tar -xJf - -C "$pkgdir" \
--exclude 'usr/share/cursor/[^r]*' --exclude 'usr/share/cursor/*.pak'
cd "$pkgdir"
mv usr/share/zsh/{vendor-completions,site-functions}
ln -sf /usr/bin/node ${_app}/resources/helpers/node
install -Dm755 "${srcdir}/rg.sh" ${_app}/node_modules/@vscode/ripgrep/bin/rg
ln -sf /usr/bin/xdg-open ${_app}/node_modules/open/xdg-open
sed -e "1s|.*|#!/usr/lib/${_electron}/electron|" \
-e "s|code-oss|cursor|g" -e "s|code.mjs|cursor.mjs|g" \
"${srcdir}"/code.mjs | install -Dm644 /dev/stdin "${pkgdir}/${_app}/cursor.mjs"
sed -e "s|code-flags|cursor-flags|" -e "s|/usr/lib/code|/${_app}|" -e "s|/usr/lib/code/code.mjs|/${_app}/cursor.mjs|" \
-e "s|name=electron|name=${_electron}|" "${srcdir}"/code.sh | install -Dm755 /dev/stdin "${pkgdir}"/usr/share/cursor/cursor
install -d "$pkgdir"/usr/bin
ln -sf /usr/share/cursor/cursor "$pkgdir"/usr/bin/cursor
}
Changes since previous scan
--- PKGBUILD @ 2026-10-28 00:06+++ PKGBUILD @ 2026-11-01 00:21@@ -1,7 +1,7 @@ # Maintainer: Gunther Schulz <dev@guntherschulz.de> pkgname=cursor-bin-pkgver=3.27.14+pkgver=3.28.5 pkgrel=1 pkgdesc='AI-first coding environment' arch=('x86_64')@@ -12,7 +12,7 @@ depends=(xdg-utils ripgrep $_electron nodejs 'gcc-libs' 'hicolor-icon-theme' 'libxkbfile') options=(!strip !debug) # Don't break ext of VSCode-_commit=69b724ebc67ec522c1b5d287a5025f7a7e81be97+_commit=18b4e7e5fb7fc450d7797e36c596c31aedaf59f2 source=("https://downloads.cursor.com/production/${_commit}/linux/x64/deb/amd64/deb/cursor_${pkgver}_amd64.deb" "https://gitlab.archlinux.org/archlinux/packaging/packages/code/-/raw/main/code."{sh,mjs} rg.sh)@@ -20,7 +20,7 @@ '937299c6cb6be2f8d25f7dbc95cf77423875c5f8353b8bd6cd7cc8e5603cbf8405b14dbf8bd615db2e3b36ed680fc8e1909410815f7f8587b7267a699e00ab37' '793f9ff6306e3992ac89802d98110cba288ea1181a901467333293b7d76182ef9792c2a39ff49d9347a18a174b1f42bc58862091dff583f4146c2704eea28033' 'e79fe7659f59d1ae02fc68816399bfd31587315df6cdb6ccf1d0ca76f7cdc692c2a42b30591c0091147bd97ef14b1c7745dc26bd7cb3ea6bba45698e5044fa2a')-sha512sums[0]=b8443abaab8176c33995a630ad2046c63f663992b89c244ca11984c00d4a3f897c358541d30fa767e034cec8526ef156e53b215c75a37591594252560402a69b+sha512sums[0]=641fc300186e2495aea822f2179ed2739e370a679f985aedf094e9c5eda8bb4a94f7ccef9926d5f467b18f7df8ec303dcb390681c1ebea63aee1f25350fa71ff noextract=(cursor_${pkgver}_amd64.deb) # avoid double tarball _app=usr/share/cursor/resources/app package() {Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 23:51:05 | Medium | 1 |
| 2026-10-28 19:50:31 | Medium | 1 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 07:47:02 | Medium | 1 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 01:43:34 | Medium | 1 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 07:37:02 | Medium | 1 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 01:33:44 | Medium | 1 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 19:33:05 | Medium | 1 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 11:27:57 | Medium | 2 |