deviceshelf-bin

LOW
maintainer deviceshelf 0 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The package downloads a prebuilt .deb from the official project's own domain (downloads.deviceshelf.app), which is plausibly controlled by the vendor; while the host is not on standard whitelists, it is not a third-party file-sharing service, and the binary is installed directly without obfuscation or additional payloads.

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 .deb from the official project's own domain (downloads.deviceshelf.app), which is plausibly controlled by the vendor; while the host is not on standard whitelists, it is not a third-party file-sharing service, and the binary is installed directly without obfuscation or additional payloads.

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:17 source=("${pkgname}-${pkgver}.deb::https://downloads.deviceshelf.app/DeviceShelf-${pkgver}.deb")

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Christof Müller <hello@deviceshelf.app>
2pkgname=deviceshelf-bin
3pkgver=1.9.34
4pkgrel=1
5pkgdesc="Local-first network scanner: discover and identify every device on your LAN, with open ports and a security report"
6arch=('x86_64')
7url="https://deviceshelf.app"
8# Proprietary, paid software with a 7-day trial. The terms live on the website;
9# the package ships no licence file of its own, so LicenseRef- it is.
10license=('LicenseRef-DeviceShelf')
11# Matches the Depends line of the upstream .deb: gtk3, webkit2gtk-4.1, libpcap.
12# libpcap is not optional — the binary links wpcap/libpcap at load time.
13depends=('gtk3' 'webkit2gtk-4.1' 'libpcap')
14provides=('deviceshelf')
15conflicts=('deviceshelf')
16options=('!strip' '!debug')
17source=("${pkgname}-${pkgver}.deb::https://downloads.deviceshelf.app/DeviceShelf-${pkgver}.deb")
18sha256sums=('86aef72cb7dbade6a8880455b26004d78f65c2e16e8557627440736498a7b923')
19
20package() {
21 # The .deb already follows the FHS: /usr/bin/deviceshelf, a .desktop entry and
22 # a 512px hicolor icon. Unpacking data.tar.gz straight into $pkgdir is enough.
23 bsdtar -xf data.tar.gz -C "$pkgdir"
24
25 # Upstream puts its README under /usr/share/doc/deviceshelf; keep it, and add
26 # a licence pointer where pacman users look for one.
27 install -d "$pkgdir/usr/share/licenses/$pkgname"
28 ln -s /usr/share/doc/deviceshelf/README "$pkgdir/usr/share/licenses/$pkgname/README"
29}
30

Changes since previous scan

--- PKGBUILD @ 2026-09-12 00:25
+++ PKGBUILD @ 2026-09-17 00:27
@@ -1,6 +1,6 @@
# Maintainer: Christof Müller <hello@deviceshelf.app>
pkgname=deviceshelf-bin
-pkgver=1.7.7
+pkgver=1.9.34
pkgrel=1
pkgdesc="Local-first network scanner: discover and identify every device on your LAN, with open ports and a security report"
arch=('x86_64')
@@ -15,7 +15,7 @@
conflicts=('deviceshelf')
options=('!strip' '!debug')
source=("${pkgname}-${pkgver}.deb::https://downloads.deviceshelf.app/DeviceShelf-${pkgver}.deb")
-sha256sums=('b1982c5285c0df29622529552f2aeadfd6c6ca1aea781b71fee99d1a4440db78')
+sha256sums=('86aef72cb7dbade6a8880455b26004d78f65c2e16e8557627440736498a7b923')
package() {
# The .deb already follows the FHS: /usr/bin/deviceshelf, a .desktop entry and

Scan history

Scanned at (UTC)SeverityRules
2026-09-17 00:27:14 Low 2
2026-09-16 00:03:17 Low 2
2026-09-15 00:25:31 Low 2
2026-09-14 00:27:57 Low 2
2026-09-13 00:19:54 Low 2
2026-09-12 21:12:39 Medium 1
2026-09-12 00:25:17 Low 2
2026-09-11 00:19:22 Low 2
2026-09-10 00:22:44 Low 2
2026-09-09 00:04:09 Low 2
2026-09-08 00:18:08 Low 2
2026-09-07 00:30:15 Low 2
2026-09-06 00:17:06 Low 2
2026-09-05 00:16:27 Low 2
2026-09-04 00:03:13 Low 2
2026-09-03 00:15:47 Low 2
2026-09-02 00:02:31 Low 2
2026-09-01 00:11:19 Low 2
2026-08-31 00:19:57 Low 2
2026-08-30 00:04:14 Low 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion