artery-isp-console-bin
maintainer taotieren
· 2 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a prebuilt binary from the official vendor's domain (arterytek.com) for a commercial tool; the host is not whitelisted but is plausibly legitimate, and the binary is not obfuscated or executed remotely.
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 package downloads a prebuilt binary from the official vendor's domain (arterytek.com) for a commercial tool; the host is not whitelisted but is plausibly legitimate, and the binary is not obfuscated or executed remotely.
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:26
source=("${_pkg_file_name}::https://www.arterytek.com/download/Program%20and%20Debug/Artery_ISP_Console_Linux-${arch}_V${pkgver}.zip"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: taotieren <admin@taotieren.com>
2
3
pkgname=artery-isp-console-bin
4
pkgver=3.0.21
5
pkgrel=1
6
# epoch=1
7
pkgdesc="Artery ISP Console 是一款基于 MCU Bootloader 的命令行应用程序。使用该应用程序,用户可以通过 UART 端口或者 USB 端口配置操作 Artery 的 MCU 设备。"
8
arch=('x86_64')
9
url="https://www.arterytek.com/cn/support/tools.jsp"
10
license=('LicenseRef-Commercial')
11
provides=(${pkgname%-bin} Artery_ISP_Console)
12
conflicts=(${pkgname%-bin})
13
replaces=()
14
depends=(
15
bash
16
qt5-base
17
gcc-libs
18
glibc
19
libusb
20
)
21
makedepends=('unzip')
22
backup=()
23
options=('!strip' '!debug' '!lto')
24
install=${pkgname}.install
25
_pkg_file_name=Artery_ISP_Console_Linux-${arch}_V${pkgver}.zip
26
source=("${_pkg_file_name}::https://www.arterytek.com/download/Program%20and%20Debug/Artery_ISP_Console_Linux-${arch}_V${pkgver}.zip"
27
${pkgname}.install)
28
sha256sums=('61319ac1c0996acc0377712939fac5aed005d2c858b17e5be022de9255117dff'
29
'a5c4d923298e09eef75b9481ea4fd83998d01c1d3605f118edd42f89ee17e619')
30
noextract=()
31
32
package() {
33
unzip -O gbk -o "${srcdir}"/${_pkg_file_name} -d "${srcdir}"
34
35
cd "${srcdir}/"
36
install -dm0755 "${pkgdir}/opt/artery32/${pkgname%-bin}/" \
37
"${pkgdir}/usr/lib/"
38
39
cp -rv Document "${pkgdir}/opt/artery32/${pkgname%-bin}/Document"
40
cp -rv *.pdf "${pkgdir}/opt/artery32/${pkgname%-bin}/Document"
41
42
cd ${_pkg_file_name%.zip}
43
cp -rv Map "${pkgdir}/opt/artery32/${pkgname%-bin}/Map"
44
install -Dm0755 AT32_ISP_Console "${pkgdir}/opt/artery32/${pkgname%-bin}/AT32_ISP_Console"
45
install -dm0755 "${pkgdir}/usr/lib"
46
cp -rv {libAT*.so*,libFiles.so*} "${pkgdir}/usr/lib"
47
# install -Dm0644 AT32_ISP_Console.sh "${pkgdir}/opt/artery32/${pkgname%-bin}/AT32_ISP_Console.sh.template"
48
install -Dm0644 DFU_download.sh "${pkgdir}/opt/artery32/${pkgname%-bin}/DFU_download.sh.template"
49
install -Dm0644 I2C_download.sh "${pkgdir}/opt/artery32/${pkgname%-bin}/I2C_download.sh.template"
50
install -Dm0644 SPI_download.sh "${pkgdir}/opt/artery32/${pkgname%-bin}/SPI_download.sh.template"
51
install -Dm0644 USART_download.sh "${pkgdir}/opt/artery32/${pkgname%-bin}/USART_download.sh.template"
52
53
cd "${pkgdir}/usr/lib/"
54
for lib in lib*; do
55
ln -sf /usr/lib/"$lib" "${pkgdir}/usr/lib/${lib%.0.0}"
56
ln -sf /usr/lib/"$lib" "${pkgdir}/usr/lib/${lib%.1.0.0}"
57
done
58
59
install -Dm0644 /dev/stdin "${pkgdir}/usr/lib/udev/rules.d/49-artery32-udev.rules" <<EOF
60
# Copy this file to /etc/udev/rules.d/
61
# If rules fail to reload automatically, you can refresh udev rules
62
# with the command "udevadm control --reload"
63
64
ACTION!="add|change", GOTO="artery32_udev_rules_end"
65
66
SUBSYSTEM=="gpio", MODE="0660", TAG+="uaccess"
67
68
SUBSYSTEM!="usb|tty|hidraw", GOTO="artery32_udev_rules_end"
69
70
# Artery tek
71
ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="f000", MODE="660", TAG+="uaccess"
72
ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="df11", MODE="660", TAG+="uaccess"
73
74
# If you share your linux system with other users, or just don't like the
75
# idea of write permission for everybody, you can replace MODE:="0666" with
76
# OWNER:="yourusername" to create the device owned by you, or with
77
# GROUP:="somegroupname" and mange access using standard unix groups.
78
79
LABEL="artery32_udev_rules_end"
80
EOF
81
82
install -Dm0755 /dev/stdin "${pkgdir}/usr/bin/${pkgname%-bin}" <<EOF
83
#!/bin/bash
84
/opt/artery32/${pkgname%-bin}/AT32_ISP_Console "\$@"
85
EOF
86
chown -R root:root "${pkgdir}/"
87
}
88
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 |