fcitx5-chinese-addons-without-browser
maintainer xlucn
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The non-standard host (download.fcitx-im.org) hosts data files (py_stroke, py_table) used by the input method, which are not executable code; the worst case of a swapped source is limited to data tampering, not remote code execution, and the source is checksummed.
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 non-standard host (download.fcitx-im.org) hosts data files (py_stroke, py_table) used by the input method, which are not executable code; the worst case of a swapped source is limited to data tampering, not remote code execution, and the source is checksummed.
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:20
"https://download.fcitx-im.org/data/py_stroke-$_py_stroke_ver.tar.gz"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Lu Xu <oliver_lew at outlook dot com>
2
# Contributor: 1654755689 <1654755689 at qq dot com>
3
4
_pkgname=fcitx5-chinese-addons
5
pkgname=${_pkgname}-without-browser
6
pkgver=5.1.13
7
pkgrel=1
8
_py_stroke_ver=20250329
9
_py_table_ver=20121124
10
pkgdesc='Addons related to Chinese, including IME previous bundled inside fcitx4, without webkit or webengine dependencies'
11
arch=('x86_64')
12
url='https://github.com/fcitx/fcitx5-chinese-addons'
13
license=('LGPL-2.1-or-later' 'Unicode-DFS-2016')
14
depends=('fcitx5-qt' 'libime' 'opencc' 'hicolor-icon-theme')
15
makedepends=('boost' 'extra-cmake-modules' 'fcitx5-lua' 'fmt' 'ninja')
16
optdepends=('fcitx5-lua: Lua and imeapi support from pinyin')
17
provides=(${_pkgname})
18
conflicts=(${_pkgname})
19
source=("${_pkgname}_${pkgver}.tar.gz"::"${url}/archive/refs/tags/${pkgver}.tar.gz"
20
"https://download.fcitx-im.org/data/py_stroke-$_py_stroke_ver.tar.gz"
21
"https://download.fcitx-im.org/data/py_table-$_py_table_ver.tar.gz")
22
sha256sums=('ee056e7ac31f5f9c242cee43f7ad8605e2cc188a7bbcc46f869332a49058244a'
23
'c1a7ca7225d3614ab83353fc827503006a980447762018f53760425d7b5303a6'
24
'42146ac97de6c13d55f9e99ed873915f4c66739e9c11532a34556badf9792c04')
25
noextract=("py_stroke-$_py_stroke_ver.tar.gz"
26
"py_table-$_py_table_ver.tar.gz")
27
28
prepare() {
29
cd ${_pkgname}-${pkgver}
30
31
mv ../py_stroke-$_py_stroke_ver.tar.gz modules/pinyinhelper/
32
mv ../py_table-$_py_table_ver.tar.gz modules/pinyinhelper/
33
# grep to make sure the version is correct
34
grep "PY_STROKE_VER $_py_stroke_ver" modules/pinyinhelper/CMakeLists.txt
35
grep "PY_TABLE_VER $_py_table_ver" modules/pinyinhelper/CMakeLists.txt
36
}
37
38
build() {
39
cd ${_pkgname}-${pkgver}
40
cmake -Wno-dev -GNinja \
41
-DCMAKE_BUILD_TYPE=Release \
42
-DCMAKE_INSTALL_PREFIX=/usr \
43
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
44
-DENABLE_BROWSER=off .
45
ninja
46
}
47
48
package() {
49
cd ${_pkgname}-${pkgver}
50
install -Dm644 COPYING.unicode "${pkgdir}/usr/share/licenses/${pkgname}/Unicode-DFS-2016.txt"
51
DESTDIR="$pkgdir" ninja install
52
}
53
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 |