foxitreader
maintainer Muflone
· 462 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a prebuilt installer from Foxit's official CDN; while the host is not whitelisted, it is plausibly the project's official source, and the build process extracts and repackages binaries without executing remote code or introducing untrusted dependencies.
Triggered rules
LOW
AI review
llm_review
An AI model (qwen/qwen3-235b-a22b-07-25) reviewed this and agrees it is LOW (confidence 95%): The package downloads a prebuilt installer from Foxit's official CDN; while the host is not whitelisted, it is plausibly the project's official source, and the build process extracts and repackages binaries without executing remote code or introducing untrusted dependencies.
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:18
source=("http://cdn09.foxitsoftware.com/pub/foxit/reader/desktop/linux/2.x/${pkgver%.*.*}/en_us/FoxitReader.enu.setup.${pkgver}.x64.run.tar.gz"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Muflone http://www.muflone.com/contacts/english/
2
# Contributor: Stephen Zhang <zsrkmyn at gmail dot com>
3
# Contributor: TDY <tdy@archlinux.info>
4
5
pkgname=foxitreader
6
pkgver=2.4.5.0727
7
_foxitrevision=rb70e8df
8
pkgrel=2
9
pkgdesc="A fast, secure and complete PDF viewer"
10
arch=('x86_64')
11
url="https://www.foxitsoftware.com/products/pdf-reader/"
12
license=('LicenseRef-EULA')
13
depends=('libsecret' 'libxslt' 'libxcomposite' 'libgl' 'libxrender' 'gstreamer0.10-base'
14
'libxi' 'libsm' 'fontconfig' 'dbus' 'openssl-1.0' 'desktop-file-utils'
15
'libxkbcommon' 'libxml2-legacy')
16
makedepends=('p7zip' 'chrpath')
17
optdepends=('gtk2: use GTK+ dialogs under GTK+ based desktop environments')
18
source=("http://cdn09.foxitsoftware.com/pub/foxit/reader/desktop/linux/2.x/${pkgver%.*.*}/en_us/FoxitReader.enu.setup.${pkgver}.x64.run.tar.gz"
19
"eula.html"
20
"${pkgname}.patch"
21
"${pkgname}-excluded_files")
22
sha256sums=('633279b6c9fcfa3c45e055df321a87d633ecfea11f668a06e838bb91b5bf6247'
23
'4ca287e0c47f46df4185be7ff273c0cced304672ebc750aad6236590e1a772e6'
24
'ef4438f745f719f03a06a14ff220f0629409b9729c62418e0be7250b4c9e4daf'
25
'e558529c6dbea047eee744b011ffcc214547c503896b14211ebf5f6309ef4e9f')
26
27
build() {
28
local _file
29
local _line
30
local _position
31
# Clean installer dir
32
if [ -d "${pkgname}-installer" ]
33
then
34
rm -rf "${pkgname}-installer"
35
fi
36
mkdir "${pkgname}-installer"
37
# Decompress .run installer
38
_file="FoxitReader.enu.setup.${pkgver}(${_foxitrevision}).x64.run"
39
LANG=C grep --only-matching --byte-offset --binary \
40
--text $'7z\xBC\xAF\x27\x1C' "${_file}" | cut -f1 -d: |
41
while read _position
42
do
43
dd if="${_file}" \
44
bs=1M iflag=skip_bytes status=none skip=${_position} \
45
of="${pkgname}-installer/bin-${_position}.7z"
46
done
47
# Clean build dir
48
if [ -d "${pkgname}-build" ]
49
then
50
rm -rf "${pkgname}-build"
51
fi
52
# Decompress 7z files (some files are damaged during the extraction)
53
cd "${pkgname}-installer"
54
install -m 755 -d "${srcdir}/${pkgname}-build"
55
for _file in *.7z
56
do
57
7z -bd -bb0 -y x -o"${srcdir}/${pkgname}-build" ${_file} 1>/dev/null 2>&1 || true
58
done
59
# Apply final patches
60
cd "${srcdir}/${pkgname}-build"
61
patch -p1 --no-backup-if-mismatch -i "${srcdir}/${pkgname}.patch"
62
# Remove insecure RPATH
63
for _file in "lib/libFcitxQt5DBusAddons.so.1.0" \
64
"lib/libQt5PrintSupport.so.5.3.2" \
65
"platforminputcontexts/libfcitxplatforminputcontextplugin.so" \
66
"printsupport/libcupsprintersupport.so"
67
do
68
echo " -> Removing insecure RPATH from ${_file}"
69
chrpath --delete "${_file}"
70
done
71
# Remove unneeded files
72
rm "Activation" "Activation.desktop" "Activation.sh" \
73
"countinstalltion" "countinstalltion.sh" \
74
"installUpdate" "ldlibrarypath.sh" \
75
"maintenancetool.sh" "Uninstall.desktop" \
76
"Update.desktop" "updater" "updater.sh"
77
find -type d -name ".svn" -exec rm -rf {} +
78
find -type f -name ".directory" -exec rm -rf {} +
79
find -type f -name "*~" -exec rm {} +
80
# Remove excluded files
81
while IFS='' read -r _line
82
do
83
if [ "${_line::2}" = "# " ]
84
then
85
echo " -> Removing excluded files from ${_line:2}..."
86
elif [ -n "${_line}" -a "${_line::1}" != "#" ]
87
then
88
rm "${srcdir}/${pkgname}-build/${_line}"
89
fi
90
done < "${srcdir}/${pkgname}-excluded_files"
91
}
92
93
package() {
94
install -m 755 -d "${pkgdir}/usr/lib/${pkgname}"
95
cd "${srcdir}/${pkgname}-build"
96
cp -r * "${pkgdir}/usr/lib/${pkgname}"
97
# Install icon and desktop files
98
install -m 755 -d "${pkgdir}/usr/share/pixmaps"
99
install -m 644 "images/FoxitReader.png" \
100
"${pkgdir}/usr/share/pixmaps/${pkgname}.png"
101
install -m 755 -d "${pkgdir}/usr/share/applications"
102
install -m 644 "FoxitReader.desktop" \
103
"${pkgdir}/usr/share/applications/${pkgname}.desktop"
104
rm FoxitReader.desktop
105
# Install license file
106
install -m 755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
107
install -m 644 -t "${pkgdir}/usr/share/licenses/${pkgname}" "${srcdir}/eula.html"
108
# Install launcher script
109
cd "${pkgdir}"
110
install -m 755 -d "${pkgdir}/usr/bin"
111
ln -s "/usr/lib/${pkgname}/FoxitReader.sh" "${pkgdir}/usr/bin/${pkgname}"
112
}
113
114
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |