agisoft-viewer

maintainer dobedobedo · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The source is a prebuilt tarball from a host that is not on the whitelist, but it is from a subdomain (download.agisoft.com) that plausibly belongs to the official vendor, and the package installs only static files and scripts without executing remote code or exfiltrating data.

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 is a prebuilt tarball from a host that is not on the whitelist, but it is from a subdomain (download.agisoft.com) that plausibly belongs to the official vendor, and the package installs only static files and scripts without executing remote code or exfiltrating data.

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=("https://s3-eu-west-1.amazonaws.com/download.agisoft.com/${_pkgname}_${pkgver//./_}_amd64.tar.gz"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Yu-Hsuan Tu <dobe0331 at gmail dot com>
2_pkgname=viewer
3pkgname=agisoft-${_pkgname}
4pkgver=2.3.1
5pkgrel=3
6pkgdesc="A free stand-alone software to visualize 3D data"
7arch=('x86_64')
8url="https://www.agisoft.com/"
9license=('custom:Agisoft EULA' 'custom')
10makedepends=('imagemagick')
11provides=('agisoft-viewer')
12conflicts=('agisoft-metashape-pro')
13options=('!strip')
14install=${pkgname}.install
15source=("https://s3-eu-west-1.amazonaws.com/download.agisoft.com/${_pkgname}_${pkgver//./_}_amd64.tar.gz"
16 "agisoft-viewer-icon-encoded.txt"
17 "agisoft-3dv-mime-icon-encoded.txt")
18sha256sums=('b9ea72b05ed0ba183c7817a3b3261c31f8eb80b8db79db599c1b459ca92fe56b'
19 'a5e29a00393d55a9b589e1fb30acb57a96ef26756507d2793e7f3494d5778ae3'
20 '047225857a8b30362bab61f916ab1ddb19c0906959bf57c4ab5e499b8a9c4fc8')
21
22build() {
23 # Create desktop entries
24 echo "[Desktop Entry]
25Type=Application
26Name=Agisoft Viewer
27Comment=Visualise the MetaShape output 3D data
28Exec=agisoft-viewer
29MimeType=application/agisoft.3dv;application/agisoft.vpz
30Icon=agisoft-viewer
31Terminal=false
32Categories=Science;ImageProcessing" > "$srcdir/agisoft-viewer.desktop"
33
34 # Create Viewer MIME type file
35 echo '<?xml version="1.0" encoding="UTF-8"?>
36<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
37 <mime-type type="application/agisoft.vpz">
38 <comment>Viewer Project</comment>
39 <icon name="application-agisoft-viewer-vpz"/>
40 <glob-deleteall/>
41 <glob pattern="*.vpz"/>
42 </mime-type>
43 <mime-type type="application/agisoft.3dv">
44 <comment>Viewer 1.6 Project</comment>
45 <icon name="application-agisoft-viewer-3dv"/>
46 <glob-deleteall/>
47 <glob pattern="*.3dv"/>
48 </mime-type>
49</mime-info>' > "$srcdir/${pkgname}-mime.xml"
50
51 # Create 128x128 application icons
52 base64 -d "$srcdir/agisoft-viewer-icon-encoded.txt" > "$srcdir/agisoft-viewer_128.png"
53
54 # Create 128x128 mime icons
55 base64 -d "$srcdir/agisoft-3dv-mime-icon-encoded.txt" > "$srcdir/application-agisoft-3dv_128.png"
56
57 # Create icons for other resolutions
58 for _res in 16 32 48 64; do
59 magick "$srcdir/agisoft-viewer_128.png" -resize ${_res}x${_res} "$srcdir/agisoft-viewer_${_res}.png"
60 magick "$srcdir/application-agisoft-3dv_128.png" -resize ${_res}x${_res} "$srcdir/application-agisoft-3dv_${_res}.png"
61 done
62
63 # Create executables for /usr/bin
64 echo "#!/bin/bash
65/opt/agisoft/${_pkgname}/viewer.sh \$@" > "$srcdir/agisoft-viewer"
66}
67
68package() {
69 # Move extracted folder to opt
70 cd "$pkgdir"
71 mkdir -p "opt/agisoft"
72 mv "${srcdir}/${_pkgname}" "${pkgdir}/opt/agisoft/"
73
74 # Install licenses
75 cd opt/agisoft/${_pkgname}
76 install -Dm644 eula.txt "$pkgdir/usr/share/licenses/$pkgname/eula.txt"
77 mv licenses "$pkgdir/usr/share/licenses/$pkgname"
78 rm eula.txt
79
80 # Move desktop entries
81 mkdir -p "${pkgdir}/usr/share/applications/"
82 mv "${srcdir}/agisoft-viewer.desktop" "${pkgdir}/usr/share/applications/"
83
84 # Create MIME type
85 mkdir -p "${pkgdir}/usr/share/mime/packages"
86 mv "${srcdir}/${pkgname}-mime.xml" "${pkgdir}/usr/share/mime/packages"
87
88 # Move icons
89 for _res in 16x16 32x32 48x48 64x64 128x128; do
90 mkdir -p "${pkgdir}/usr/share/icons/hicolor/${_res}/apps/"
91 mkdir -p "${pkgdir}/usr/share/icons/hicolor/${_res}/mimetypes/"
92 cp "$srcdir/agisoft-viewer_${_res/x*}.png" "${pkgdir}/usr/share/icons/hicolor/${_res}/mimetypes/application-agisoft-viewer-vpz.png"
93 mv "$srcdir/agisoft-viewer_${_res/x*}.png" "${pkgdir}/usr/share/icons/hicolor/${_res}/apps/agisoft-viewer.png"
94 mv "$srcdir/application-agisoft-3dv_${_res/x*}.png" "${pkgdir}/usr/share/icons/hicolor/${_res}/mimetypes/application-agisoft-viewer-3dv.png"
95 done
96
97 # Create executables in /usr/bin
98 install -Dm755 "$srcdir/agisoft-viewer" "$pkgdir/usr/bin/agisoft-viewer"
99
100 # Set correct permission
101 chmod -R g=u "$pkgdir/opt/agisoft/${_pkgname}"
102 chmod -R o=u "$pkgdir/opt/agisoft/${_pkgname}"
103 chmod -R g-w "$pkgdir/opt/agisoft/${_pkgname}"
104 chmod -R o-w "$pkgdir/opt/agisoft/${_pkgname}"
105 chmod -R g=u "$pkgdir/usr/share/licenses/$pkgname/licenses"
106 chmod -R o=u "$pkgdir/usr/share/licenses/$pkgname/licenses"
107 chmod -R g-w "$pkgdir/usr/share/licenses/$pkgname/licenses"
108 chmod -R o-w "$pkgdir/usr/share/licenses/$pkgname/licenses"
109}
110
111

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

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

0 / 4000
Your suggestion