xnviewmp
The source is a prebuilt binary from the official project's download domain (xnview.com), which is not on the whitelist but is plausibly legitimate; the package installs only the official application without executing untrusted remote code or exfiltrating data.
Triggered rules
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The source is a prebuilt binary from the official project's download domain (xnview.com), which is not on the whitelist but is plausibly legitimate; the package installs only the official application without executing untrusted remote code or exfiltrating data.
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:25
source=("XnViewMP-linux-x64_${pkgver}-rel${srcrel}.tgz::https://download.xnview.com/old_versions/XnView_MP/XnView_MP-${pkgver}-linux-x64.tgz"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Kevin Brodsky <corax26 'at' gmail 'dot' com>
# Contributor: Evan Penner <gryffyn@archlinux 'dot' net>
# Contributor: Iru Cai <mytbk920423\x40gmail 'dot' com>
# Contributor: Houlala <houlala 'at' gmail 'dot' com>
# Contributor: Olivier Duclos <olivier.duclos gmail.com>
# Contributor: wido <widomaker2k7@gmail.com>
# Contributor: VuDu <vudu 'dot' curse 'at' gmail 'dot' com>
# Contributor: Martin Poljak <martin 'at' poljak 'dot' cz>
pkgname=xnviewmp
pkgver=1.12.1
srcrel=1 # Incremented when there is a new release for the same version number
pkgrel=2
pkgdesc="An efficient multimedia viewer, browser and converter."
url="https://www.xnview.com/en/xnviewmp/"
arch=('x86_64')
license=('custom')
# Require qt6-multimedia to pull all its dependencies. We do not actually need
# to depend on qt6-*, but qt6-multimedia (and indirectly qt6-base) have
# various dependencies that we need even when using the packaged libraries.
depends=('qt6-multimedia')
optdepends=('glib2: support for moving files to trash')
source=("XnViewMP-linux-x64_${pkgver}-rel${srcrel}.tgz::https://download.xnview.com/old_versions/XnView_MP/XnView_MP-${pkgver}-linux-x64.tgz"
'XnView.desktop')
sha256sums=('76c9dac7c003033faf941641060cbd83b96edeb142e90b30b5968fd8960b1775'
'f6b3a4aaa0a55b5f21d9b91ab6f3da3d6ee077ba7fdd17e7c4ab1c69ad2a9e3a')
package() {
install -d -m755 "${pkgdir}/opt/${pkgname}"
install -d -m755 "${pkgdir}/usr/bin"
install -d -m755 "${pkgdir}/usr/share/applications"
cp -a "${srcdir}/XnView"/* "${pkgdir}/opt/${pkgname}"
ln -s "/opt/${pkgname}/xnview.sh" "${pkgdir}/usr/bin/${pkgname}"
install -m644 "${srcdir}/XnView.desktop" "${pkgdir}/usr/share/applications/XnView.desktop"
install -D -m644 "${srcdir}/XnView/license.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# Clean up
rm "${pkgdir}/opt/${pkgname}/XnView.desktop"
chmod 644 "${pkgdir}/opt/${pkgname}"/xnview*.png
chmod 755 "${pkgdir}/opt/${pkgname}/XnView"
}
# vim:set ts=2 sw=2 et:
Changes since previous scan
--- PKGBUILD @ 2026-10-31 00:07+++ PKGBUILD @ 2026-11-01 00:21@@ -8,23 +8,23 @@ # Contributor: Martin Poljak <martin 'at' poljak 'dot' cz> pkgname=xnviewmp-pkgver=1.11.5+pkgver=1.12.1 srcrel=1 # Incremented when there is a new release for the same version number-pkgrel=1+pkgrel=2 pkgdesc="An efficient multimedia viewer, browser and converter." url="https://www.xnview.com/en/xnviewmp/" arch=('x86_64') license=('custom')-# Require qt5-multimedia to pull all its dependencies. We do not actually need-# to depend on qt5-*, but qt5-multimedia (and indirectly qt5-base) have+# Require qt6-multimedia to pull all its dependencies. We do not actually need+# to depend on qt6-*, but qt6-multimedia (and indirectly qt6-base) have # various dependencies that we need even when using the packaged libraries.-depends=('qt5-multimedia')+depends=('qt6-multimedia') optdepends=('glib2: support for moving files to trash') source=("XnViewMP-linux-x64_${pkgver}-rel${srcrel}.tgz::https://download.xnview.com/old_versions/XnView_MP/XnView_MP-${pkgver}-linux-x64.tgz" 'XnView.desktop')-sha256sums=('736c272f3007a59d9247fb6786f7a4d34d442386c1ceb262fae090261e96a9b7'+sha256sums=('76c9dac7c003033faf941641060cbd83b96edeb142e90b30b5968fd8960b1775' 'f6b3a4aaa0a55b5f21d9b91ab6f3da3d6ee077ba7fdd17e7c4ab1c69ad2a9e3a') package() {Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 13:58:24 | 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 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 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 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 00:06:47 | Low | 2 |