virt-viewer-no-header
maintainer zorrox1024
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The source URL is hosted on pagure.io, which is a legitimate forge, and the tarball is for the official project; the patch from GitLab is from a user fork but is applied transparently and does not introduce remote code execution, making the risk low.
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-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source URL is hosted on pagure.io, which is a legitimate forge, and the tarball is for the official project; the patch from GitLab is from a user fork but is applied transparently and does not introduce remote code execution, making the risk low.
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
"https://releases.pagure.org/virt-viewer/virt-viewer-${pkgver}.tar.xz"{,.asc}
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Jeffrey Zhang <zhang.lei.fly@gmail.com>
2
3
_pkgname=virt-viewer
4
pkgname=$_pkgname-no-header
5
pkgver=11.0
6
pkgrel=6
7
pkgdesc='A lightweight interface for interacting with the graphical display of virtualized guest OS. This package contains a patch drop the header bar.'
8
arch=('x86_64')
9
url='https://gitlab.com/virt-viewer/virt-viewer'
10
license=('GPL')
11
depends=('gtk-vnc' 'libvirt' 'spice-gtk' 'libvirt-glib' 'libgovirt' 'vte3')
12
makedepends=('meson' 'intltool' 'spice-protocol' 'gobject-introspection' 'bash-completion')
13
replaces=('virtviewer')
14
provides=("$_pkgname")
15
conflicts=("$_pkgname")
16
source=(
17
"https://releases.pagure.org/virt-viewer/virt-viewer-${pkgver}.tar.xz"{,.asc}
18
"https://gitlab.com/Paper_/virt-viewer/-/commit/41cc016278e713d3db156761fce6437dff81a53a.patch"
19
"drop-header.patch")
20
b2sums=('41914a60361f0a47a0b0b54962d228ffaec67c6b69c664bb6fe683b7074dd5e2136d2bf3528b6e1b6b785cc4e337125fe16fdd94dd603dd42e8fde543931241a'
21
'SKIP'
22
'd1b79f2bdc2749049767d7e22cf530c04438547fb3485fd0ab084222600ddcb08b8a27e104216c5da9b25d9c792d1cdf085d1c23c988194c3c6c22cf05eaa0e2'
23
'6571f7637f8328118bb4469d52a92936820ebc7a037bb9cf6e6bd257889ec43b18d4c9c952cf1d968ef4b8c4a08ea4358cec47754d869b6e59153a0f2dddf578')
24
validpgpkeys=('DAF3A6FDB26B62912D0E8E3FBE86EBB415104FDF') # Daniel P. Berrange
25
26
prepare() {
27
cd "${_pkgname}-${pkgver}"
28
patch -p1 < "${srcdir}/drop-header.patch"
29
patch -p1 < "${srcdir}/41cc016278e713d3db156761fce6437dff81a53a.patch"
30
}
31
32
build() {
33
arch-meson "${_pkgname}-${pkgver}" build \
34
-Dlibvirt=enabled \
35
-Dvnc=enabled \
36
-Dspice=enabled \
37
-Dovirt=disabled \
38
-Dvte=enabled \
39
-Dbash_completion=enabled
40
41
ninja -C build
42
}
43
44
check() {
45
ninja -C build test
46
}
47
48
package() {
49
DESTDIR="${pkgdir}" ninja -C build install
50
}
51
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 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |