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-11-01 00:21:48 | Medium | 2 |
| 2026-10-31 00:07:41 | Medium | 2 |
| 2026-10-30 00:29:30 | Medium | 2 |
| 2026-10-29 00:13:55 | Medium | 2 |
| 2026-10-28 00:06:54 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 00:12:40 | Medium | 2 |
| 2026-10-25 00:20:48 | Medium | 2 |
| 2026-10-24 00:14:55 | Medium | 2 |
| 2026-10-23 00:02:19 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 00:10:31 | Medium | 2 |
| 2026-10-19 00:03:55 | Medium | 2 |
| 2026-10-18 00:06:55 | Medium | 2 |
| 2026-10-17 00:21:55 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |
| 2026-10-14 00:06:47 | Medium | 2 |
| 2026-10-13 00:23:45 | Medium | 2 |