owa-epanet-ui-bin

maintainer AOWIS · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged This PKGBUILD downloads a prebuilt binary (epanet-ui) and several shared libraries (libepanet2.so, libepanetmsx.so, libshp.so, libproj.so) from a Google Drive personal/shared link. Google Drive is not an official release host — the file ID can be silently replaced by whoever controls the Drive account, and there is no way to verify the provenance of the binary independently of the SHA256 checksum. The checksum for the zip is present (c0ca66fd...), which provides some integrity guarantee, but only against the current file; if the Drive owner swaps the file the checksum would change and the build would fail, but a compromised maintainer could update both simultaneously. The core concern is that prebuilt executables and shared libraries are being installed from a non-canonical, non-reproducible host (not GitHub Releases, not the upstream project's own server) with no source build option. The upstream project (OpenWaterAnalytics/EPANET-UI on GitHub) does not appear to publish official binary releases at this Google Drive link, making this a genuine supply-chain risk. Additionally, several other source files (desktop entry, icons) use SKIP for checksums, which is sloppy but not the primary concern. This is a real medium-severity supply-chain risk: executed binaries and libraries from an unofficial personal host.

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:17 "${pkgname}-${pkgver}.zip::https://drive.google.com/uc?export=download&id=1Pfn92pQvc44TYwuDBdCVUyAKmH1ONZVG"
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 85%): This PKGBUILD downloads a prebuilt binary (epanet-ui) and several shared libraries (libepanet2.so, libepanetmsx.so, libshp.so, libproj.so) from a Google Drive personal/shared link. Google Drive is not an official release host — the file ID can be silently replaced by whoever controls the Drive account, and there is no way to verify the provenance of the binary independently of the SHA256 checksum. The checksum for the zip is present (c0ca66fd...), which provides some integrity guarantee, but only against the current file; if the Drive owner swaps the file the checksum would change and the build would fail, but a compromised maintainer could update both simultaneously. The core concern is that prebuilt executables and shared libraries are being installed from a non-canonical, non-reproducible host (not GitHub Releases, not the upstream project's own server) with no source build option. The upstream project (OpenWaterAnalytics/EPANET-UI on GitHub) does not appear to publish official binary releases at this Google Drive link, making this a genuine supply-chain risk. Additionally, several other source files (desktop entry, icons) use SKIP for checksums, which is sloppy but not the primary concern. This is a real medium-severity supply-chain risk: executed binaries and libraries from an unofficial personal host.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: AOWIS
2
3pkgname=owa-epanet-ui-bin
4pkgver=1.0.2
5pkgrel=2
6pkgdesc="Hydraulic and water quality modeling tool for water distribution networks (EPANET) GUI"
7arch=('x86_64')
8url='https://github.com/OpenWaterAnalytics/EPANET-UI'
9license=('custom')
10
11provides=('epanet-ui')
12conflicts=('epanet-ui')
13
14depends=('qt5pas')
15
16source=(
17 "${pkgname}-${pkgver}.zip::https://drive.google.com/uc?export=download&id=1Pfn92pQvc44TYwuDBdCVUyAKmH1ONZVG"
18 "epanet-ui.desktop"
19 "epanet-ui_32.png"
20 "epanet-ui_48.png"
21 "epanet-ui_64.png"
22 "epanet-ui_128.png"
23 "epanet-ui_256.png"
24)
25
26sha256sums=(
27 'c0ca66fd395efee2210422c77d29cc31c106c26fbbd055bdb548f6f243fb7900'
28 'SKIP'
29 'SKIP'
30 'SKIP'
31 'SKIP'
32 'SKIP'
33 'SKIP'
34)
35
36package() {
37 cd "$srcdir"
38
39 install -dm755 "$pkgdir/usr/lib/epanet-ui"
40
41 # main binary
42 install -m755 epanet-ui "$pkgdir/usr/lib/epanet-ui/"
43
44 # bundled libs
45 install -m755 libepanet2.so "$pkgdir/usr/lib/epanet-ui/"
46 install -m755 libepanetmsx.so "$pkgdir/usr/lib/epanet-ui/"
47 install -m755 libshp.so "$pkgdir/usr/lib/epanet-ui/"
48
49 # PROJ fix (SONAME required)
50 if [[ -f libproj.so.12 ]]; then
51 install -m755 libproj.so.12 "$pkgdir/usr/lib/epanet-ui/"
52 elif [[ -f libproj.so ]]; then
53 install -m755 libproj.so "$pkgdir/usr/lib/epanet-ui/"
54 ln -sf libproj.so "$pkgdir/usr/lib/epanet-ui/libproj.so.12"
55 else
56 echo "ERROR: libproj not found"
57 exit 1
58 fi
59
60 # launcher
61 install -dm755 "$pkgdir/usr/bin"
62 cat > "$pkgdir/usr/bin/epanet-ui" <<'EOF'
63#!/bin/sh
64export QT_STYLE_OVERRIDE=Fusion
65exec /usr/lib/epanet-ui/epanet-ui "$@"
66EOF
67 chmod 755 "$pkgdir/usr/bin/epanet-ui"
68
69 # desktop entry
70 install -Dm644 epanet-ui.desktop \
71 "$pkgdir/usr/share/applications/epanet-ui.desktop"
72
73 # =========================
74 # hicolor icon theme install
75 # =========================
76
77 install -dm755 "$pkgdir/usr/share/icons/hicolor/32x32/apps"
78 install -dm755 "$pkgdir/usr/share/icons/hicolor/48x48/apps"
79 install -dm755 "$pkgdir/usr/share/icons/hicolor/64x64/apps"
80 install -dm755 "$pkgdir/usr/share/icons/hicolor/128x128/apps"
81 install -dm755 "$pkgdir/usr/share/icons/hicolor/256x256/apps"
82
83 install -m644 epanet-ui_32.png "$pkgdir/usr/share/icons/hicolor/32x32/apps/epanet-ui.png"
84 install -m644 epanet-ui_48.png "$pkgdir/usr/share/icons/hicolor/48x48/apps/epanet-ui.png"
85 install -m644 epanet-ui_64.png "$pkgdir/usr/share/icons/hicolor/64x64/apps/epanet-ui.png"
86 install -m644 epanet-ui_128.png "$pkgdir/usr/share/icons/hicolor/128x128/apps/epanet-ui.png"
87 install -m644 epanet-ui_256.png "$pkgdir/usr/share/icons/hicolor/256x256/apps/epanet-ui.png"
88
89 # documentation
90 install -Dm644 ReadMeFirst.txt \
91 "$pkgdir/usr/share/doc/$pkgname/ReadMeFirst.txt"
92
93 install -Dm644 manual.html \
94 "$pkgdir/usr/share/doc/$pkgname/manual.html"
95
96 install -Dm644 tutorial.html \
97 "$pkgdir/usr/share/doc/$pkgname/tutorial.html"
98}
99

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