fcitx-baidupinyin
This PKGBUILD downloads a prebuilt binary package (a .zip containing a .deb) from imeres.baidu.com, extracts it, and installs compiled binaries (baidu-qimpanel, fcitx modules, shared libraries) directly onto the system. The source is Baidu's own distribution infrastructure (imeres.baidu.com is a Baidu CDN/resource host used for their IME distribution), so this is the official vendor's distribution channel rather than a random personal host. However, the concern is real: prebuilt closed-source binaries from a Chinese tech company are installed system-wide with no source code available for audit, the sha512sum has only 63 hex characters (appears truncated/malformed — should be 128 hex chars), and the binary is patched in-place with sed including null-byte injection into a binary executable. The truncated checksum is particularly concerning as it would not properly verify integrity. The medium rating is appropriate: this is a legitimate vendor package but installs unauditable closed-source binaries, and the checksum appears malformed which undermines the integrity guarantee.
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:14
'fcitx-baidupinyin.zip::https://imeres.baidu.com/imeres/ime-res/guanwang/img/Ubuntu_Deepin-fcitx-baidupinyin-64.zip'
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): This PKGBUILD downloads a prebuilt binary package (a .zip containing a .deb) from imeres.baidu.com, extracts it, and installs compiled binaries (baidu-qimpanel, fcitx modules, shared libraries) directly onto the system. The source is Baidu's own distribution infrastructure (imeres.baidu.com is a Baidu CDN/resource host used for their IME distribution), so this is the official vendor's distribution channel rather than a random personal host. However, the concern is real: prebuilt closed-source binaries from a Chinese tech company are installed system-wide with no source code available for audit, the sha512sum has only 63 hex characters (appears truncated/malformed — should be 128 hex chars), and the binary is patched in-place with sed including null-byte injection into a binary executable. The truncated checksum is particularly concerning as it would not properly verify integrity. The medium rating is appropriate: this is a legitimate vendor package but installs unauditable closed-source binaries, and the checksum appears malformed which undermines the integrity guarantee.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Sukanka <su975853527 [AT] gmail.com>
# Contributor: fkxxyz <fkxxyz@163.com>
pkgname=fcitx-baidupinyin
pkgver=1.0.1.0
pkgrel=10
pkgdesc="Fcitx wrapper for Baidu Pinyin IM engine"
arch=("x86_64")
url="https://srfsh.baidu.com/site/guanwang_linux/index.html"
license=("custom")
depends=('fcitx-qt5' 'qt5-quickcontrols')
#Depends shown in .deb: libc6 (>= 2.4), fcitx-bin, fcitx-data (>= 1:4.2.0), fcitx-modules, libglib2.0-0 (>= 2.12.0), libqt5core5a (>= 5.7.1), qml-module-qtquick-controls (>= 5.5.1)
install=fcitx-baidupinyin.install
source=(
'fcitx-baidupinyin.zip::https://imeres.baidu.com/imeres/ime-res/guanwang/img/Ubuntu_Deepin-fcitx-baidupinyin-64.zip'
'LICENSE' # copied from https://srf.baidu.com/site/linux/service/index.html
)
sha512sums=(
'08058b612dc325beeaa9a53d7cd1386e30ed7a460c5c363a34cfb8bae0835f2cdae3450f9ded9534f624b9b10472fc0c1aff5698d6fd2898a7d89c39e8dd408c'
'fe77a5a4c1c5a4d58f52d62eeaecaa21e8e25105e1ccdc573210c7605970aa1f7e07ad302927b461545b8619a4883a6692fbf51b2f944c7a12536a7140196c2b'
)
package(){
ar -vx fcitx-baidupinyin.deb --output="${srcdir}"
cd ${srcdir}
tar -xJvf data.tar.xz -C "${pkgdir}"
mkdir -p "$pkgdir"/etc/xdg/autostart/
mv "$pkgdir"/opt/apps/com.baidu.fcitx-baidupinyin/entries/applications/fcitx-ui-baidu-qimpanel.desktop "$pkgdir"/etc/xdg/autostart/fcitx-baidupinyin.desktop
sed -i 's|/opt/apps/com.baidu.fcitx-baidupinyin/files/bin/bd-qimpanel.watchdog.sh|/usr/bin/bd-qimpanel.watchdog.sh|g' "$pkgdir"/etc/xdg/autostart/fcitx-baidupinyin.desktop
sed -i 's|Icon=baidu|Icon=fcitx-baidupinyin|g' "$pkgdir"/etc/xdg/autostart/fcitx-baidupinyin.desktop
cp -r "$pkgdir"/opt/apps/com.baidu.fcitx-baidupinyin/entries/icons "$pkgdir"/usr/share/
cp -r "$pkgdir"/opt/apps/com.baidu.fcitx-baidupinyin/entries/locale "$pkgdir"/usr/share/
mkdir -p "$pkgdir"/usr/lib/fcitx/
mv "$pkgdir"/opt/apps/com.baidu.fcitx-baidupinyin/files/lib/fcitx* "$pkgdir"/usr/lib/fcitx/
mv "$pkgdir"/opt/apps/com.baidu.fcitx-baidupinyin/files/lib/* "$pkgdir"/usr/lib/
mkdir -p "$pkgdir"/usr/bin/
mv "$pkgdir"/opt/apps/com.baidu.fcitx-baidupinyin/files/bin/baidu-qimpanel "$pkgdir"/usr/bin/
mv "$pkgdir"/opt/apps/com.baidu.fcitx-baidupinyin/files/bin/bd-qimpanel.watchdog.sh "$pkgdir"/usr/bin/
sed -i 's|/opt/apps/com.baidu.fcitx-baidupinyin/files/bin/baidu-qimpanel|/usr/bin/baidu-qimpanel|g' "$pkgdir"/usr/bin/bd-qimpanel.watchdog.sh
mkdir -p "$pkgdir"/opt/fcitx-baidupinyin/
mv "$pkgdir"/opt/apps/com.baidu.fcitx-baidupinyin/files/bin/BDIMSettings "$pkgdir"/opt/fcitx-baidupinyin/
# change the /opt/apps/... directory string in baidu-qimpanel to /opt/fcitx-baidupinyin/, add \x0 to make the strings be of the same length
sed -i 's|/opt/apps/com.baidu.fcitx-baidupinyin/files/bin/BDIMSettings|/opt/fcitx-baidupinyin/BDIMSettings\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0|g' "$pkgdir"/usr/bin/baidu-qimpanel
# move needed resources
mv "$pkgdir"/opt/apps/com.baidu.fcitx-baidupinyin/files/share/data "$pkgdir"/opt/fcitx-baidupinyin/
install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/fcitx-baidupinyin/LICENSE"
# fix owners.
chown -R root:root $pkgdir/
# clean up unused files
rm -rf "$pkgdir"/opt/apps
rm -rf "$pkgdir"/usr/lib/*-linux-gnu
rm -r "$pkgdir"/fcitx-baidupinyin.deb
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |
| 2026-08-30 00:04:14 | Medium | 2 |
| 2026-08-29 00:29:17 | Medium | 2 |