private-internet-access-vpn

maintainer Auerhuhn · 86 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package downloads OpenVPN configuration and certificate files from the official PIA domain; these are non-executable data files used by OpenVPN, so even if the host were compromised, the worst-case impact is limited to configuration tampering, not arbitrary code execution.

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 package downloads OpenVPN configuration and certificate files from the official PIA domain; these are non-executable data files used by OpenVPN, so even if the host were compromised, the worst-case impact is limited to configuration tampering, not arbitrary code execution.

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:27 source=("default-$pkgver-$pkgrel.zip::https://www.privateinternetaccess.com/openvpn/openvpn.zip"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Claudia Pellegrino <aur ät cpellegrino.de>
2# Contributor: Jesse Spangenberger <azulephoenix@gmail.com>
3
4pkgname=private-internet-access-vpn
5pkgver=3.4
6pkgrel=4
7pkgdesc="Installs VPN profiles for Private Internet Access Service"
8arch=("any")
9url="https://www.privateinternetaccess.com/"
10license=('GPL')
11depends=('openvpn' 'python' 'python-docopt' 'python-setuptools')
12makedepends=('git' 'python-build' 'python-installer' 'python-wheel')
13optdepends=('networkmanager: Enables PIA for Network Manager (needs a openvpn plugin)'
14 'connman: Enables PIA for Connman')
15conflicts=('xawtv') # Both packages install a `pia` executable
16
17sha256sums=('bc38427782aedc90cb65b322cd6f9d74af4e988cc5b3c884e43236ed7a5e4491'
18 '38758f393590c51ec1566aba19beaed7c4fa8bd6f7c323f44ab00b9eb9fd7577'
19 '4322a2a4bc3e206c6ab7e1df87a8805032b76c177c1ed9dd3501260ed32ccb30'
20 '797dbdb6e3aadc86f97262e26d61cf4847caf85dda4b7a97cac59088cb912b27'
21 '246fc4dc3218f56b4c70014df6801b10fc2a573d6545962b7fce05f16908c54e'
22 '7f4a5ee1fb8ea4d0e69ed2a8217c575cf335f21e90082f6e423c769eca4a7a46'
23 'dd15ff9d020d6779c51bff560c8571b462cc7ca3f4d2a92b8103056be4b2e0fd'
24 'SKIP'
25 'SKIP')
26
27source=("default-$pkgver-$pkgrel.zip::https://www.privateinternetaccess.com/openvpn/openvpn.zip"
28 "strong-$pkgver-$pkgrel.zip::https://www.privateinternetaccess.com/openvpn/openvpn-strong.zip"
29 "login-example.conf"
30 "pia-example.conf"
31 "restart.conf"
32 "vpn.sh"
33 "pia.8.gz"
34 "git+https://github.com/flamusdiu/python-pia.git#tag=v${pkgver}"
35 "git+https://github.com/masterkorp/openvpn-update-resolv-conf.git")
36
37noextract=("default-$pkgver-$pkgrel.zip"
38 "strong-$pkgver-$pkgrel.zip"
39 "pia.8.gz")
40
41prepare() {
42 cd "${srcdir}"
43
44 echo >&2 "Extracting Certifications..."
45 bsdtar -xf default-$pkgver-$pkgrel.zip "*.pem" "*.crt"
46 bsdtar -xf strong-$pkgver-$pkgrel.zip "*.pem" "*.crt"
47
48 echo >&2 "Extracting OpenVPN Configurations..."
49 if [ -d "vpn-configs" ]; then
50 rm -rf vpn-configs
51 fi
52 mkdir "vpn-configs"
53 bsdtar -xf default-$pkgver-$pkgrel.zip -C vpn-configs *.ovpn
54
55 cd "vpn-configs"
56 echo >&2 "Creating Remote Host List..."
57 touch ../vpn-hosts.txt
58
59 grep -Eo "\s(.*\.privacy\.network)\s" *.ovpn | \
60 sed 's/_/ /g;s/.ovpn//;s/: /,/;s/[^ ]\+/\L\u&/g;s/\b\([a-z]\{2\}\)\s/\U&/gi' \
61 >> ../vpn-hosts.txt
62
63 echo >&2 "Resetting python-pia repository..."
64 git -C "${srcdir}/python-pia" clean -dfx
65
66 echo >&2 "Done."
67}
68
69build() {
70 cd "${srcdir}/python-pia"
71 python -m build --wheel --no-isolation
72}
73
74package() {
75 cd "${srcdir}"
76
77 install -D -m 644 restart.conf "${pkgdir}/usr/lib/systemd/openvpn-client@.service.d/restart.conf"
78 install -D -m 755 vpn.sh "${pkgdir}/usr/lib/systemd/system/system-sleep/vpn.sh"
79 install -D -m 644 pia.8.gz "${pkgdir}/usr/share/man/man8/pia.8.gz"
80
81
82 install -dm755 "${pkgdir}"/etc/{openvpn,private-internet-access}
83 install -g network -dm750 "${pkgdir}"/etc/openvpn/client
84
85 install -D -m 644 vpn-hosts.txt "${pkgdir}/etc/private-internet-access"
86 install -D -g network -m 640 *.crt "${pkgdir}/etc/openvpn/client"
87 install -D -g network -m 640 *.pem "${pkgdir}/etc/openvpn/client"
88 install -D -m 644 {pia-example.conf,login-example.conf} "${pkgdir}/etc/private-internet-access/"
89
90 install -D -m 755 openvpn-update-resolv-conf/update-resolv-conf.sh "${pkgdir}/etc/openvpn/update-resolv-conf.sh"
91
92 cd "python-pia"
93 python -I -m installer --destdir="${pkgdir}" dist/*.whl
94
95}
96

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