swiftpeek-bin

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

The PKGBUILD downloads and installs a precompiled x86_64 binary from a Cloudflare R2 bucket (pub-a604c65ec55d4555ba01a5dab3d0e2b4.r2.dev) rather than from the official GitHub releases page. This is a personal/unofficial storage host with no verifiable chain of custody back to the upstream project. While sha256sums are present, they only verify integrity against the current content — if the bucket owner replaces the file, the hash would change and users would notice, but the host itself is not a trusted release channel. The binary is executed directly (install -Dm755) and links against GTK/WebKit2 stack, giving it significant attack surface. The correct packaging practice would be to source the binary from GitHub releases. This is a genuine supply-chain concern: an unofficial host serving an executed binary, not a false positive.

Triggered rules

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:13 "https://pub-a604c65ec55d4555ba01a5dab3d0e2b4.r2.dev/swiftpeek-${pkgver}-x86_64.tar.gz"
Medium AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): The PKGBUILD downloads and installs a precompiled x86_64 binary from a Cloudflare R2 bucket (pub-a604c65ec55d4555ba01a5dab3d0e2b4.r2.dev) rather than from the official GitHub releases page. This is a personal/unofficial storage host with no verifiable chain of custody back to the upstream project. While sha256sums are present, they only verify integrity against the current content — if the bucket owner replaces the file, the hash would change and users would notice, but the host itself is not a trusted release channel. The binary is executed directly (install -Dm755) and links against GTK/WebKit2 stack, giving it significant attack surface. The correct packaging practice would be to source the binary from GitHub releases. This is a genuine supply-chain concern: an unofficial host serving an executed binary, not a false positive.

PKGBUILD

1 offending line(s) highlighted
1pkgname=swiftpeek-bin
2pkgver=0.1.0
3pkgrel=3
4pkgdesc="Ultralight file previewer written in Rust (precompiled binary)"
5arch=('x86_64')
6url="https://github.com/acosta-dev/SwiftPeek"
7license=('MIT')
8depends=('webkit2gtk-4.1' 'gtk3' 'cairo' 'pango' 'glib2' 'hicolor-icon-theme')
9provides=('swiftpeek')
10conflicts=('swiftpeek')
11
12source=(
13 "https://pub-a604c65ec55d4555ba01a5dab3d0e2b4.r2.dev/swiftpeek-${pkgver}-x86_64.tar.gz"
14 "swiftpeek.desktop"
15 "swiftpeek.svg"
16)
17
18sha256sums=(
19 'bcf0d0a6d4fca7af1ed4072bcbbad076cbdad0a2311633e5ddaad86974c676b8'
20 '3eaeaffd9037899ec947dc7f7083d7714f589aad00a95b65633b82bf299d671e'
21 '71682ead9e9ae62f0617026a7a0bb78483b0ca0531c7a2798fe26eea932a4a12'
22)
23
24package() {
25 # Binary
26 install -Dm755 "${srcdir}/swiftpeek" "${pkgdir}/usr/bin/swiftpeek"
27
28 # Desktop entry
29 install -Dm644 "${srcdir}/swiftpeek.desktop" "${pkgdir}/usr/share/applications/swiftpeek.desktop"
30
31 # Icon (SVG for hicolor theme — scales to any resolution)
32 install -Dm644 "${srcdir}/swiftpeek.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/swiftpeek.svg"
33}
34

Scan history

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

Report a package

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

0 / 4000
Your suggestion