wps-office-mime
wps-office
· scanned 2026-08-03 00:08:14.047287
Triggered rules
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:23
source=("https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/${pkgver##*.}/wps-office_${pkgver}.XA_amd64.deb"
llm_review
The static rules found a suspicious pattern they could not resolve, so an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed it and judged it MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt binary Debian package (containing closed-source executables and shared libraries that are directly installed and executed) from wdl1.pcfg.cache.wpscdn.com. This is a CDN host used by Kingsoft/WPS for distributing their Linux builds, so it is not a random personal host — it is the actual official WPS Linux download CDN. The sha1sum is pinned, which mitigates substitution risk. However, the host is not the canonical project URL listed (wps-community.org), the package installs a large blob of proprietary prebuilt binaries directly into /usr/lib and /usr/bin, and there is no source build — all of which are inherent supply-chain concerns for any prebuilt proprietary package. The CDN domain (wpscdn.com) is plausibly Kingsoft-controlled infrastructure, making this more of a 'prebuilt proprietary binary' concern than a clear unofficial-host concern. Overall this is a borderline medium: the risk is real (prebuilt closed-source binaries from a CDN) but consistent with how WPS Office is legitimately distributed on Linux, and the checksum is pinned.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Ouyang Jun <ouyangjun1999@gmail.com>
# Maintainer: Astro Benzene <universebenzene at sina dot com>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Jove Yu <yushijun110 [at] gmail.com>
# Contributor: Ariel AxionL <axionl at aosc dot io>
# Contributor: v71
pkgbase=wps-office
pkgname=('wps-office' 'wps-office-mime')
pkgver=11.1.0.11723
#_pkgver=8372
pkgrel=2
#_pkgrel=1
pkgdesc="Kingsoft Office (WPS Office) - an office productivity suite"
arch=('x86_64')
license=('LicenseRef-WPS-EULA')
url="http://wps-community.org"
options=('!emptydirs')
#[[ "$CARCH" = "i686" ]] && _archext=x86 || _archext=x86_64
#source_i686=("http://kdl.cc.ksosoft.com/wps-community/download/${pkgver##*.}/wps-office_${pkgver}_i386.deb"
# 'add_no_kdialog_variable.patch')
#source=("http://kdl.cc.ksosoft.com/wps-community/download/${pkgver##*.}/wps-office_${pkgver}_amd64.deb"
source=("https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/${pkgver##*.}/wps-office_${pkgver}.XA_amd64.deb"
'fix-wps-python-parse.patch')
#sha1sums_i686=('60b1c9e33ee6fc1edcefe40dc9ec529d4a668825'
# 'dd8b5283ee17a88a3eb0531976abccd6e5e08c48')
sha1sums=('24132c03e1b53fe8983274c5165caa9128bdb1a6'
'f3713481edf04ffb08be8d24dce66554dd5a4f13')
prepare() {
bsdtar -xpf data.tar.xz
cd "${srcdir}/usr/bin"
sed -i 's|/opt/kingsoft/wps-office|/usr/lib|' *
# sed -i 's|/office6/${gApp} ${gOptExt}|/office6/${gApp} -style gtk+ ${gOptExt}|' wps
# sed -i 's|/office6/${gApp} ${gOptExt}|/office6/${gApp} -style gtk+ ${gOptExt}|' wpp et
cd "${srcdir}/usr/share/icons/hicolor"
for _file in ./*; do
if [ -e ${_file}/mimetypes/wps-office2019-etmain.png ]; then
mkdir -p ${_file}/apps
cp -p ${_file}/mimetypes/wps-office2019* ${_file}/apps
fi
done
cd "${srcdir}"
# patch -Np1 -i "${srcdir}/fix_desktop_exec.patch"
patch -Np1 -i "${srcdir}/fix-wps-python-parse.patch"
}
package_wps-office() {
depends=('fontconfig' 'xorg-mkfontdir' 'libxrender' 'desktop-file-utils' 'shared-mime-info' 'xdg-utils' 'glu' 'sdl2' 'libxml2-legacy' 'libpulse' 'hicolor-icon-theme' 'libxss' 'sqlite' 'libtool' 'libxslt' 'libjpeg-turbo')
optdepends=('libtiff5: Provide libtiff.so.5 for wpspdf working'
'cups: for printing support'
'libjpeg-turbo: JPEG image codec support'
'pango: for complex (right-to-left) text support'
'curl: An URL retrieval utility and library'
'ttf-wps-fonts: Symbol fonts required by wps-office'
'ttf-ms-fonts: Microsft Fonts recommended for wps-office'
'wps-office-fonts: FZ TTF fonts provided by wps community'
'wps-office-mime: Use mime files provided by Kingsoft'
'wps-office-mui-zh-cn: zh_CN support for WPS Office')
install=${pkgname}.install
conflicts=('kingsoft-office')
# cd wps-office_${pkgver}_$_archext
cd "${srcdir}/opt/kingsoft/wps-office/"
install -d "${pkgdir}/usr/lib"
cp -r office6 "${pkgdir}/usr/lib"
# Fix for icu>=71.1
rm ${pkgdir}/usr/lib/office6/libstdc++.so*
# Use system libjpeg
rm ${pkgdir}/usr/lib/office6/libjpeg.so*
# chmod -x "${pkgdir}/usr/lib/office6/wpsoffice"
# ln -rTsf "${pkgdir}/usr/lib/office6"/{libcef.so,addons/cef/libcef.so}
install -Dm644 -t "${pkgdir}/usr/share/licenses/${pkgname}" office6/mui/default/*.html
install -d "${pkgdir}/usr/bin"
cd "${srcdir}/usr/bin"
install -m755 * "${pkgdir}/usr/bin"
cd "${srcdir}/usr/share"
install -d "${pkgdir}/usr/share/applications"
cp -r applications/* "${pkgdir}/usr/share/applications"
# rm "${pkgdir}/usr/share/applications/appurl.desktop"
install -d "${pkgdir}/usr/share/desktop-directories"
cp -r desktop-directories/* "${pkgdir}/usr/share/desktop-directories"
install -d "${pkgdir}/usr/share/icons"
cp -r icons/* "${pkgdir}/usr/share/icons"
# cp -r "$srcdir/usr/share" "${pkgdir}/usr/"
install -Dm644 -t "${pkgdir}/usr/share/fonts/wps-office" fonts/wps-office/*
install -Dm644 -t "${pkgdir}/etc/xdg/menus/applications-merged" "${srcdir}/etc/xdg/menus/applications-merged/wps-office.menu"
}
package_wps-office-mime() {
pkgdesc="Mime files provided by Kingsoft Office (WPS Office)"
arch=('any')
depends=('shared-mime-info')
cd "${srcdir}/usr/share"
install -d "${pkgdir}/usr/share/mime"
cp -r mime/* "${pkgdir}/usr/share/mime"
cd "${srcdir}/opt/kingsoft/wps-office/"
install -Dm644 -t "${pkgdir}/usr/share/licenses/${pkgname}" office6/mui/default/*.html
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |