lceda-pro-bin

LOW
maintainer taotieren 8 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The package downloads prebuilt binaries from the project's official domain (lceda.cn), which is a legitimate source for the software; while the host is not on a standard whitelist, it is plausibly owned by the project, and the downloads are verified via sha256sums, reducing risk to low.

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-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads prebuilt binaries from the project's official domain (lceda.cn), which is a legitimate source for the software; while the host is not on a standard whitelist, it is plausibly owned by the project, and the downloads are verified via sha256sums, reducing risk to low.

2 higher static findings superseded - not the current verdict (shown for transparency)
Medium External download from an untrusted host, not in source=() external_download_not_in_source

curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.

  • PKGBUILD:25 curl -sSfL -o "LICENSE-$pkgver.html" "https://lceda.cn/page/legal"
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_x86_64=("$_pkgname-x86_64-$pkgver.zip::https://image.lceda.cn/files/lceda-pro-linux-x64-$pkgver.zip")

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: taotieren <admin@taotieren.com>
2# Co-Maintainer: Misaka13514 <Misaka13514 at gmail dot com>
3
4pkgname=lceda-pro-bin
5_pkgname=lceda-pro
6pkgver=3.2.186
7pkgrel=1
8pkgdesc="免费、专业、强大的国产PCB设计工具"
9arch=("x86_64" "aarch64")
10url="https://pro.lceda.cn/"
11license=("LicenseRef-LCEDA-Proprietary")
12depends=("gtk3" "nss" "alsa-lib")
13makedepends=("curl")
14provides=("$_pkgname")
15conflicts=("$_pkgname" "$_pkgname-git" "$_pkgname-electron")
16install=$pkgname.install
17source=("$pkgname.install")
18source_x86_64=("$_pkgname-x86_64-$pkgver.zip::https://image.lceda.cn/files/lceda-pro-linux-x64-$pkgver.zip")
19source_aarch64=("$_pkgname-aarch64-$pkgver.zip::https://image.lceda.cn/files/lceda-pro-linux-arm64-$pkgver.zip")
20sha256sums=('afba3c6712227a37c08783b3cc1a97ae71e90dc2f575409213d2773372220697')
21sha256sums_x86_64=('4314e046e34d5eb02ca1ea44c5faf5cfc74d35e9a83a5e978287f27ed0bbb80a')
22sha256sums_aarch64=('4aa73eb2c0224a5648ad4f9922de3b15c0eef37232522cd03cdd2b1ca8ea5727')
23
24prepare() {
25 curl -sSfL -o "LICENSE-$pkgver.html" "https://lceda.cn/page/legal"
26}
27
28package() {
29 install -Dm644 "$srcdir/LICENSE-$pkgver.html" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.html"
30
31 cd "$srcdir/$_pkgname"
32 if [ -f "EasyEDA-Distribution-License.txt" ]; then
33 install -Dm644 "EasyEDA-Distribution-License.txt" "$pkgdir/usr/share/licenses/$pkgname/EasyEDA-DLA.txt"
34 elif [ -f "嘉立创EDA软件安装最终用户许可协议(EULA).pdf" ]; then
35 install -Dm644 "嘉立创EDA软件安装最终用户许可协议(EULA).pdf" "$pkgdir/usr/share/licenses/$pkgname/LCEDA-EULA.pdf"
36 elif [ -f "LCEDA-Distribution-License.txt" ]; then
37 install -Dm644 "LCEDA-Distribution-License.txt" "$pkgdir/usr/share/licenses/$pkgname/EasyEDA-DLA.txt"
38 fi
39
40 install -dm755 "$pkgdir/opt/$_pkgname"
41 cp -dpr --no-preserve=ownership * "$pkgdir/opt/$_pkgname"
42 rm -rf "$pkgdir/opt/$_pkgname/icon"
43 rm -rf "$pkgdir/opt/$_pkgname/$_pkgname.dkt"
44 rm -f "$pkgdir/opt/$_pkgname/"*License.txt
45 rm -f "$pkgdir/opt/$_pkgname/"*.pdf
46
47 # icon
48 local _icon
49 for _icon in 16 32 64 128 256 512; do
50 if [ -f "icon/icon_${_icon}x${_icon}.png" ]; then
51 install -Dm644 "icon/icon_${_icon}x${_icon}.png" "$pkgdir/usr/share/icons/hicolor/${_icon}x${_icon}/apps/$_pkgname.png"
52 fi
53 done
54 if [ -f "icon/icon_512x512@2x.png" ]; then
55 install -Dm644 "icon/icon_512x512@2x.png" "$pkgdir/usr/share/icons/hicolor/1024x1024/apps/$_pkgname.png"
56 fi
57
58 # desktop entry
59 if [ -f "$_pkgname.dkt" ]; then
60 install -Dm644 "$_pkgname.dkt" "$pkgdir/usr/share/applications/$_pkgname.desktop"
61 sed -E -i "s|^Exec=.*|Exec=$_pkgname %f|g" "$pkgdir/usr/share/applications/$_pkgname.desktop"
62 sed -E -i "s|^Icon=.*|Icon=$_pkgname|g" "$pkgdir/usr/share/applications/$_pkgname.desktop"
63 else
64 install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/$_pkgname.desktop" << "DESKTOP_EOF"
65[Desktop Entry]
66Categories=Development;Electronics;
67Comment=免费、专业、强大的国产PCB设计工具
68Exec=$_pkgname %f
69Keywords=PCB;EDA;
70GenericName=嘉立创EDA(专业版)
71Icon=$_pkgname
72Name=嘉立创EDA(专业版)
73Type=Application
74MimeType=application/eprj;application/eprj2;application/eprj3;
75DESKTOP_EOF
76 fi
77
78 # fix permissions
79 find "$pkgdir/opt/$_pkgname/" -type d -exec chmod 755 {} +
80 find "$pkgdir/opt/$_pkgname/" -type f -exec chmod 644 {} +
81 chmod 755 "$pkgdir/opt/$_pkgname/$_pkgname"
82 if [ -f "$pkgdir/opt/$_pkgname/chrome_crashpad_handler" ]; then
83 chmod 755 "$pkgdir/opt/$_pkgname/chrome_crashpad_handler"
84 fi
85
86 # soft link
87 install -dm755 "$pkgdir/usr/bin"
88 ln -s "/opt/$_pkgname/$_pkgname" "$pkgdir/usr/bin/$_pkgname"
89}
90

Scan history

Scanned at (UTC)SeverityRules
2026-09-17 00:27:14 Low 3
2026-09-16 00:03:17 Low 3
2026-09-15 00:25:31 Low 3
2026-09-14 00:27:57 Low 3
2026-09-13 00:19:54 Low 3
2026-09-12 00:25:17 Low 3
2026-09-11 00:19:22 Low 3
2026-09-10 00:22:44 Low 3
2026-09-09 00:04:09 Low 3
2026-09-08 00:18:08 Low 3
2026-09-07 00:30:15 Low 3
2026-09-06 00:17:06 Low 3
2026-09-05 00:16:27 Low 3
2026-09-04 00:03:13 Low 3
2026-09-03 00:15:47 Low 3
2026-09-02 00:02:31 Low 3
2026-09-01 00:11:19 Low 3
2026-08-31 00:19:57 Low 3
2026-08-30 00:04:14 Low 3
2026-08-29 00:29:17 Low 3

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion