easyeda-pro-electron
The package downloads prebuilt binaries from the official EasyEDA domain, which is plausibly the project's own infrastructure; the untrusted host warning is due to the domain not being whitelisted, but the binaries are verified via sha256sums and the worst case of a swapped source is limited to supply-chain risk from a trusted vendor's host.
Triggered rules
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 official EasyEDA domain, which is plausibly the project's own infrastructure; the untrusted host warning is due to the domain not being whitelisted, but the binaries are verified via sha256sums and the worst case of a swapped source is limited to supply-chain risk from a trusted vendor's host.
2 higher static findings superseded - not the current verdict (shown for transparency)
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:27
curl -sSfL -o "LICENSE-$pkgver.html" "https://easyeda.com/page/legal"
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:19
source_x86_64=("$_pkgname-x86_64-$pkgver.zip::https://image.easyeda.com/files/easyeda-pro-linux-x64-$pkgver.zip")
PKGBUILD
2 offending line(s) highlighted# Maintainer: Misaka13514 <Misaka13514 at gmail dot com>
# Contributor: taotieren <admin@taotieren.com>
pkgname=easyeda-pro-electron
_pkgname=easyeda-pro
pkgver=3.2.206
pkgrel=1
pkgdesc="EasyEDA Professional Edition. Run with system electron."
arch=("x86_64" "aarch64")
url="https://pro.easyeda.com/"
license=("LicenseRef-EasyEDA-Proprietary")
depends=("electron" "libnotify" "libappindicator-gtk3")
makedepends=("curl")
provides=("$_pkgname")
conflicts=("$_pkgname" "$_pkgname-git" "$_pkgname-bin")
install=$pkgname.install
source=("$pkgname.install"
"$_pkgname.sh")
source_x86_64=("$_pkgname-x86_64-$pkgver.zip::https://image.easyeda.com/files/easyeda-pro-linux-x64-$pkgver.zip")
source_aarch64=("$_pkgname-aarch64-$pkgver.zip::https://image.easyeda.com/files/easyeda-pro-linux-arm64-$pkgver.zip")
sha256sums=('ab64abe7821e4ea37a0e4d1f77c94f37d6a51c7df2038ba7b609c640adf8e51d'
'89289056ed4b5d051280e3a69dfb550b6914f470f201be1ca3b165ddd4f3e435')
sha256sums_x86_64=('33b8810bae85ba190a8a12d5e7d462f0104bd3e48543f995a2faf607e9c62251')
sha256sums_aarch64=('85a4e4dc19b40c6dc7f3d104bbea75584e0261804d6a210b7b5b113e6d6bbcbd')
prepare() {
curl -sSfL -o "LICENSE-$pkgver.html" "https://easyeda.com/page/legal"
}
package() {
install -Dm755 "$srcdir/$_pkgname.sh" "$pkgdir/usr/bin/$_pkgname"
install -Dm644 "$srcdir/LICENSE-$pkgver.html" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.html"
cd "$srcdir/$_pkgname"
if [ -f "EasyEDA-Distribution-License.txt" ]; then
install -Dm644 "EasyEDA-Distribution-License.txt" "$pkgdir/usr/share/licenses/$pkgname/EasyEDA-DLA.txt"
elif [ -f "嘉立创EDA软件安装最终用户许可协议(EULA).pdf" ]; then
install -Dm644 "嘉立创EDA软件安装最终用户许可协议(EULA).pdf" "$pkgdir/usr/share/licenses/$pkgname/LCEDA-EULA.pdf"
elif [ -f "LCEDA-Distribution-License.txt" ]; then
install -Dm644 "LCEDA-Distribution-License.txt" "$pkgdir/usr/share/licenses/$pkgname/EasyEDA-DLA.txt"
fi
install -dm755 "$pkgdir/usr/lib/$_pkgname"
cp -dpr --no-preserve=ownership resources "$pkgdir/usr/lib/$_pkgname"
if [ -d "locales" ]; then
cp -dpr --no-preserve=ownership locales "$pkgdir/usr/lib/$_pkgname"
fi
# icon
local _icon
for _icon in 16 32 64 128 256 512; do
if [ -f "icon/icon_${_icon}x${_icon}.png" ]; then
install -Dm644 "icon/icon_${_icon}x${_icon}.png" "$pkgdir/usr/share/icons/hicolor/${_icon}x${_icon}/apps/$_pkgname.png"
fi
done
if [ -f "icon/icon_512x512@2x.png" ]; then
install -Dm644 "icon/icon_512x512@2x.png" "$pkgdir/usr/share/icons/hicolor/1024x1024/apps/$_pkgname.png"
fi
# desktop entry
if [ -f "$_pkgname.dkt" ]; then
install -Dm644 "$_pkgname.dkt" "$pkgdir/usr/share/applications/$_pkgname.desktop"
sed -E -i "s|^Exec=.*|Exec=$_pkgname %f|g" "$pkgdir/usr/share/applications/$_pkgname.desktop"
sed -E -i "s|^Icon=.*|Icon=$_pkgname|g" "$pkgdir/usr/share/applications/$_pkgname.desktop"
else
install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/$_pkgname.desktop" << "DESKTOP_EOF"
[Desktop Entry]
Categories=Development;Electronics;
Comment=EasyEDA Professional Edition. Run with system electron.
Exec=$_pkgname %f
Keywords=PCB;EDA;
GenericName=EasyEDA Pro
Icon=$_pkgname
Name=EasyEDA Pro
Type=Application
MimeType=application/eprj;application/eprj2;application/eprj3;
DESKTOP_EOF
fi
# fix permissions
find "$pkgdir/usr/lib/$_pkgname/" -type d -exec chmod 755 {} +
find "$pkgdir/usr/lib/$_pkgname/" -type f -exec chmod 644 {} +
}
Changes since previous scan
--- PKGBUILD @ 2026-06-19 19:07+++ PKGBUILD @ 2026-10-17 00:21@@ -3,7 +3,7 @@ pkgname=easyeda-pro-electron _pkgname=easyeda-pro-pkgver=3.2.149+pkgver=3.2.206 pkgrel=1 pkgdesc="EasyEDA Professional Edition. Run with system electron." arch=("x86_64" "aarch64")@@ -20,8 +20,8 @@ source_aarch64=("$_pkgname-aarch64-$pkgver.zip::https://image.easyeda.com/files/easyeda-pro-linux-arm64-$pkgver.zip") sha256sums=('ab64abe7821e4ea37a0e4d1f77c94f37d6a51c7df2038ba7b609c640adf8e51d' '89289056ed4b5d051280e3a69dfb550b6914f470f201be1ca3b165ddd4f3e435')-sha256sums_x86_64=('42ffea3a335581e381e9d0c949707a1d589fda25bcde08227759db3b543b9875')-sha256sums_aarch64=('46b9d57cd5c2b73162889b21111cc0840e9ca34192edc0228f02dbe9ad39d97e')+sha256sums_x86_64=('33b8810bae85ba190a8a12d5e7d462f0104bd3e48543f995a2faf607e9c62251')+sha256sums_aarch64=('85a4e4dc19b40c6dc7f3d104bbea75584e0261804d6a210b7b5b113e6d6bbcbd') prepare() { curl -sSfL -o "LICENSE-$pkgver.html" "https://easyeda.com/page/legal"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-17 00:21:55 | Low | 3 |
| 2026-10-16 00:12:47 | Low | 3 |
| 2026-10-15 00:28:05 | Low | 3 |
| 2026-10-14 00:06:47 | Low | 3 |
| 2026-10-13 00:23:45 | Low | 3 |
| 2026-10-12 17:14:20 | Medium | 2 |
| 2026-06-19 19:07:35 | Clean | 3 |
| 2026-06-18 18:55:24 | Clean | 3 |
| 2026-06-18 16:11:54 | Medium | 2 |