nebula-desktop-bin
maintainer agentlabs
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a prebuilt pacman archive from the project's own domain (nebula.gg), which is plausibly official; the worst case of a swapped source is code execution, but the host is project-specific and the checksum is verified, making it a low-risk supply-chain scenario.
Triggered rules
LOW
AI review downgraded a static finding
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 pacman archive from the project's own domain (nebula.gg), which is plausibly official; the worst case of a swapped source is code execution, but the host is project-specific and the checksum is verified, making it a low-risk supply-chain scenario.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
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:15
source=("Nebula-0.1.7-x64.pacman::https://app-assets.nebula.gg/desktop/stable/0.1.7/Nebula-x64.pacman")
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Agent Labs <support at nebula dot gg>
2
# Generated by the nebula-desktop stable release workflow.
3
pkgname=nebula-desktop-bin
4
pkgver=0.1.7
5
pkgrel=1
6
pkgdesc="Desktop companion app for nebula.gg"
7
arch=('x86_64')
8
url="https://github.com/agent-labs-dev/nebula-desktop/tree/main/apps/desktop"
9
license=('MIT')
10
depends=('alsa-lib' 'at-spi2-core' 'cairo' 'libcups' 'dbus' 'expat' 'gcc-libs' 'glib2' 'glibc' 'gtk3' 'libdrm' 'libnotify' 'libx11' 'libxcb' 'libxcomposite' 'libxdamage' 'libxext' 'libxfixes' 'libxkbcommon' 'libxrandr' 'libxss' 'mesa' 'nspr' 'nss' 'pango' 'systemd-libs' 'libayatana-appindicator')
11
provides=("nebula-desktop=$pkgver")
12
conflicts=('nebula-desktop')
13
options=('!strip')
14
install='nebula-desktop-bin.install'
15
source=("Nebula-0.1.7-x64.pacman::https://app-assets.nebula.gg/desktop/stable/0.1.7/Nebula-x64.pacman")
16
noextract=('Nebula-0.1.7-x64.pacman')
17
sha256sums=('70a52e0db0f2462868894330adada9cd437423378749b37a2da1d899f06c8eb2')
18
19
package() {
20
bsdtar -xf "$srcdir/Nebula-0.1.7-x64.pacman" -C "$pkgdir" \
21
--exclude='.MTREE' --exclude='.PKGINFO' --exclude='.INSTALL'
22
install -d "$pkgdir/usr/bin"
23
ln -sf /opt/Nebula/nebula-desktop "$pkgdir/usr/bin/nebula-desktop"
24
printf 'aur\n' > "$pkgdir/opt/Nebula/resources/package-type"
25
}
26
Changes since previous scan
--- PKGBUILD @ 2026-08-01 00:11+++ PKGBUILD @ 2026-08-03 00:08@@ -1,7 +1,7 @@ # Maintainer: Agent Labs <support at nebula dot gg> # Generated by the nebula-desktop stable release workflow. pkgname=nebula-desktop-bin-pkgver=0.1.5+pkgver=0.1.7 pkgrel=1 pkgdesc="Desktop companion app for nebula.gg" arch=('x86_64')@@ -12,12 +12,12 @@ conflicts=('nebula-desktop') options=('!strip') install='nebula-desktop-bin.install'-source=("Nebula-0.1.5-x64.pacman::https://app-assets.nebula.gg/desktop/stable/0.1.5/Nebula-x64.pacman")-noextract=('Nebula-0.1.5-x64.pacman')-sha256sums=('d6bcb91c1d08ba8bfe1c659ed27fa9aa41d45b8a4f0ccc3c5ec17c607d1cdad0')+source=("Nebula-0.1.7-x64.pacman::https://app-assets.nebula.gg/desktop/stable/0.1.7/Nebula-x64.pacman")+noextract=('Nebula-0.1.7-x64.pacman')+sha256sums=('70a52e0db0f2462868894330adada9cd437423378749b37a2da1d899f06c8eb2') package() {- bsdtar -xf "$srcdir/Nebula-0.1.5-x64.pacman" -C "$pkgdir" \+ bsdtar -xf "$srcdir/Nebula-0.1.7-x64.pacman" -C "$pkgdir" \ --exclude='.MTREE' --exclude='.PKGINFO' --exclude='.INSTALL' install -d "$pkgdir/usr/bin" ln -sf /opt/Nebula/nebula-desktop "$pkgdir/usr/bin/nebula-desktop"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 01:19:40 | MEDIUM | 1 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 11:38:42 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 3 |
| 2026-07-27 23:36:42 | MEDIUM | 3 |
| 2026-07-27 00:24:32 | MEDIUM | 3 |
| 2026-07-26 21:33:42 | 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 21:26:05 | MEDIUM | 3 |
| 2026-07-23 00:14:47 | MEDIUM | 3 |
| 2026-07-22 19:21:42 | MEDIUM | 3 |
| 2026-07-22 00:29:32 | MEDIUM | 3 |
| 2026-07-21 00:24:15 | MEDIUM | 3 |