neatimage

maintainer vcalv · 3 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD downloads a prebuilt binary installer (.run file) from ni.neatvideo.com, which is the official vendor domain for Neat Image (neatvideo.com). The host is not a random personal or unofficial mirror — it is the product's own download server. However, the package executes a self-extracting .run installer binary directly (./NeatImage9SL.Demo.Intel64.run --mode silent), which is a prebuilt opaque binary blob with no source-level verification beyond a sha512 checksum. This is a legitimate supply-chain concern: if the vendor's download server were compromised or the file replaced, the checksum would catch it, but the binary itself is fully trusted and executed with the user's privileges during package(). This is a standard pattern for proprietary software AUR packages (similar to google-chrome, zoom, etc.) and is not malicious, but it does represent a real medium-severity supply-chain risk due to the executed binary from a vendor host with no reproducible build. The 'demo' path in the URL and the installer returning exit code 1 on success are slightly unusual but not security-relevant. Overall this is a legitimate proprietary software package following common AUR conventions for closed-source software, making it closer to clean/low, but the executed binary blob justifies retaining medium.

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 $pkgname-$pkgver.tar.gz::https://ni.neatvideo.com/demo/ni9/sld/NeatImage9SL.Demo.Intel64.tgz
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 75%): The PKGBUILD downloads a prebuilt binary installer (.run file) from ni.neatvideo.com, which is the official vendor domain for Neat Image (neatvideo.com). The host is not a random personal or unofficial mirror — it is the product's own download server. However, the package executes a self-extracting .run installer binary directly (./NeatImage9SL.Demo.Intel64.run --mode silent), which is a prebuilt opaque binary blob with no source-level verification beyond a sha512 checksum. This is a legitimate supply-chain concern: if the vendor's download server were compromised or the file replaced, the checksum would catch it, but the binary itself is fully trusted and executed with the user's privileges during package(). This is a standard pattern for proprietary software AUR packages (similar to google-chrome, zoom, etc.) and is not malicious, but it does represent a real medium-severity supply-chain risk due to the executed binary from a vendor host with no reproducible build. The 'demo' path in the URL and the installer returning exit code 1 on success are slightly unusual but not security-relevant. Overall this is a legitimate proprietary software package following common AUR conventions for closed-source software, making it closer to clean/low, but the executed binary blob justifies retaining medium.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer : VCalV
2
3pkgname=neatimage
4pkgver=9.3.2
5pkgrel=1
6pkgdesc="Best noise reduction for digital cameras and scanners"
7arch=('x86_64')
8url="https://ni.neatvideo.com/"
9license=('custom')
10depends=(libxcb xcb-util-image xcb-util-keysyms xcb-util-wm xcb-util-renderutil libxkbcommon libxkbcommon-x11 fontconfig freetype2 libx11 libsm libice libxau libxdmcp xcb-util)
11makedepends=()
12source=(
13 $pkgname-$pkgver.tar.gz::https://ni.neatvideo.com/demo/ni9/sld/NeatImage9SL.Demo.Intel64.tgz
14 neatimage.desktop
15 neatimage.png
16 )
17sha512sums=('a74de361c3a363f153d0cfaad043929e0d82b91454689fee4c49e38ca5aa7d9f6e0f9ed37e5f0e23ce42c4f4d64b53a7a3792cdf81efb9f47b831d1b1a84a4e6'
18 '6987c2bbf7abafa1ef76b6896dfa233f61f20d3fd96da39e078b0de18af7c83e36928b4b2fe2fea767d0d46fcdbbb6882e8f5fab10877615f726a2f549d7c84b'
19 '5e1ea3aabd6e87275113aea7483967717c65245984f54289943f6102121ed5c935231a611746b5d72e161d43dc5699e1af4ce00ac8946cf18a2f9fd55b51e4d4')
20
21package() {
22 ./NeatImage9SL.Demo.Intel64.run --prefix "$pkgdir"/opt/NeatImage --mode silent \
23 || true # … and the installer returns 1 when it succeeds.
24
25 rm "$pkgdir"/opt/NeatImage/uninstall
26
27 mkdir -p "$pkgdir"/usr/share/licenses/"$pkgname"
28 mkdir -p "$pkgdir"/usr/share/doc/"$pkgname"
29
30 ln -s /opt/NeatImage/Legal.txt "$pkgdir"/usr/share/licenses/"$pkgname"/Legal.txt
31
32 for docfile in NeatImage.pdf Compatibility.txt ReadMe.txt WhatsNew.txt; do
33 ln -s /opt/NeatImage/"$docfile" "$pkgdir"/usr/share/doc/"$pkgname"/"$docfile"
34 done;
35
36 mkdir -p "$pkgdir"/usr/bin
37
38 for execfile in NeatImage NeatImageCL; do
39 cat > "$pkgdir"/usr/bin/"$execfile" <<<"#!/bin/sh
40cd /opt/NeatImage/ && ./$execfile "$@""
41 chmod +x "$pkgdir"/usr/bin/"$execfile"
42 done
43
44 install -Dt "$pkgdir/usr/share/applications/" "neatimage.desktop"
45 install -Dt "$pkgdir/usr/share/pixmaps/" "neatimage.png"
46
47 cd "$pkgdir"/opt/NeatImage/
48 ln -s NeatImage9 NeatImage
49 ln -s NeatImage9CL NeatImageCL
50
51}
52

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 MEDIUM 2
2026-08-02 00:16:08 MEDIUM 2
2026-08-01 00:11:18 MEDIUM 2
2026-07-31 00:14:10 MEDIUM 2
2026-07-30 00:17:23 MEDIUM 2
2026-07-29 00:25:53 MEDIUM 2
2026-07-28 00:07:28 MEDIUM 2
2026-07-27 00:24:32 MEDIUM 2
2026-07-26 00:07:32 MEDIUM 2
2026-07-25 00:13:44 MEDIUM 2
2026-07-24 00:02:28 MEDIUM 2
2026-07-23 00:14:47 MEDIUM 2
2026-07-22 00:29:32 MEDIUM 2
2026-07-21 00:24:15 MEDIUM 2
2026-07-20 00:19:49 MEDIUM 2
2026-07-19 00:17:08 MEDIUM 2
2026-07-18 00:14:48 MEDIUM 2
2026-07-17 00:06:16 MEDIUM 2
2026-07-16 00:05:41 MEDIUM 2
2026-07-15 00:09:25 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