stm32cubeprog

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

The source is a legitimate STM32CubeProgrammer installer from STMicroelectronics' official cloudfront domain, used to build the package from the vendor's own release; the non-whitelisted host is a CDN, but the content is a verifiable official tool with a matching checksum.

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 source is a legitimate STM32CubeProgrammer installer from STMicroelectronics' official cloudfront domain, used to build the package from the vendor's own release; the non-whitelisted host is a CDN, but the content is a verifiable official tool with a matching checksum.

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:35 "SetupSTM32CubeProgrammer_linux_64.zip::https://www.st.com/cloudfront/publish/stm32cubeprg-lin-v${pkgver//./-}/${pkgver}/en/SetupSTM32CubeProgrammer_linux_64.zip"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: yjun <jerrysteve1101@gmail.com>
2# Maintainer: Maik93 <michael.mugnai@gmail.com>
3# Maintainer: taotieren <admin@taotieren.com>
4# Maintainer: GPereira <goncalo_pereira@outlook.pt>
5# Maintainer: CloverGit <clovergit@hotmail.com>
6
7pkgname=stm32cubeprog
8pkgver=2.23.0
9pkgrel=4
10pkgdesc='An all-in-one multi-OS software tool for programming STM32 products.'
11arch=('x86_64')
12url='https://www.st.com/en/development-tools/stm32cubeprog.html'
13license=('custom:SLA0048')
14
15depends=(
16 'gtk3'
17 'libglvnd'
18)
19
20optdepends=(
21 'archlinux-java-run: System Java runtime for STM32CubeProgrammer (Wayland)'
22 'java-openjfx-bin: System JavaFX runtime for STM32CubeProgrammer (Wayland)'
23 'stlink: udev rules for ST-LINK devices'
24)
25
26makedepends=(
27 'gendesk'
28 'icoutils'
29)
30
31provides=('stm32cubeprogrammer')
32options=('!strip' '!debug')
33
34source=(
35 "SetupSTM32CubeProgrammer_linux_64.zip::https://www.st.com/cloudfront/publish/stm32cubeprg-lin-v${pkgver//./-}/${pkgver}/en/SetupSTM32CubeProgrammer_linux_64.zip"
36 'SLA0048_STM32CubeProg.pdf'
37 'STM32CubeProgrammer_Wayland'
38)
39
40sha256sums=('6a9e60a5a048c45eb3241f9bb66bdc2e6cbd0119fb2e42568dc059fc6167442a'
41 'c6d92c00dee63e0f4a54d8ea62f82a646243c3e1480142ae3e7f4ca5d77d5702'
42 '5a34b8b2345f1ef4dff221d8d529dc1ef78e3c1e1bfb86f35edaf865b2fc5b26')
43
44prepare() {
45 cd "${srcdir}"
46
47 chmod u+x jre/bin/java
48
49 gendesk -f -n \
50 --pkgname "${pkgname}" \
51 --pkgdesc "${pkgdesc}" \
52 --path "/opt/${pkgname}/bin" \
53 --name "STM32CubeProgrammer" \
54 --exec "/opt/${pkgname}/bin/STM32CubeProgrammer" \
55 --icon "${pkgname}" \
56 --categories "Development"
57
58 gendesk -f -n \
59 --pkgname "${pkgname}_wayland" \
60 --pkgdesc "${pkgdesc}" \
61 --path "/opt/${pkgname}/bin" \
62 --name "STM32CubeProgrammer (Wayland)" \
63 --exec "/opt/${pkgname}/bin/STM32CubeProgrammer_Wayland" \
64 --icon "${pkgname}" \
65 --categories "Development"
66
67 # STM32CubeMX also bundles a copy of STM32TrustedPackageCreator. However,
68 # UM2238 identifies it as part of the STM32CubeProgrammer tool set.
69 # Therefore, this package provides its public command wrappers and desktop entry,
70 # while the copy bundled with STM32CubeMX remains private to that package.
71 gendesk -f -n \
72 --pkgname "${pkgname}-trusted-package-creator" \
73 --pkgdesc "STM32 Trusted Package Creator" \
74 --path "/opt/${pkgname}/bin" \
75 --name "STM32 Trusted Package Creator" \
76 --exec "/opt/${pkgname}/bin/STM32TrustedPackageCreator" \
77 --icon "stm32trustedpackagecreator" \
78 --categories "Development"
79}
80
81build() {
82 cd "${srcdir}"
83
84 rm -rf build icon
85 mkdir -p build icon
86
87 ./jre/bin/java "-DINSTALL_PATH=${srcdir}/build" -jar "SetupSTM32CubeProgrammer-${pkgver}.exe" -options-system
88
89 icotool -x "build/util/Programmer.ico" -o "icon"
90 icotool -x "build/util/STM32TrustedPackageCreator.ico" -o "icon"
91}
92
93package() {
94 install -dm755 "${pkgdir}/opt/${pkgname}"
95 cp -a --no-preserve=ownership "${srcdir}/build/." "${pkgdir}/opt/${pkgname}"
96
97 # icons
98 for entry in \
99 'Programmer:stm32cubeprog' \
100 'STM32TrustedPackageCreator:stm32trustedpackagecreator'; do
101 prefix=${entry%%:*}
102 icon_name=${entry#*:}
103
104 for icon_file in "${srcdir}/icon/${prefix}_"*x32.png; do
105 size=${icon_file##*_}
106 size=${size%%x*}
107
108 install -Dm644 "${icon_file}" \
109 "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/${icon_name}.png"
110 done
111 done
112
113 # documentation
114 install -Dm644 "${pkgdir}/opt/${pkgname}/doc/Readme.txt" -t "${pkgdir}/usr/share/doc/${pkgname}"
115 install -Dm644 "${pkgdir}/opt/${pkgname}/doc/license.txt" -t "${pkgdir}/usr/share/licenses/${pkgname}"
116 install -Dm644 "${srcdir}/SLA0048_STM32CubeProg.pdf" -t "${pkgdir}/usr/share/licenses/${pkgname}"
117
118 # desktop entries
119 install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
120 install -Dm644 "${srcdir}/${pkgname}_wayland.desktop" \
121 "${pkgdir}/usr/share/applications/${pkgname}_wayland.desktop"
122 install -Dm644 "${srcdir}/${pkgname}-trusted-package-creator.desktop" \
123 "${pkgdir}/usr/share/applications/${pkgname}-trusted-package-creator.desktop"
124
125 install -Dm755 "${srcdir}/STM32CubeProgrammer_Wayland" \
126 "${pkgdir}/opt/${pkgname}/bin/STM32CubeProgrammer_Wayland"
127
128 # command wrappers
129 for entry in \
130 'stm32cubeprogrammer:STM32CubeProgrammer' \
131 'stm32cubeprogrammer_wayland:STM32CubeProgrammer_Wayland' \
132 'stm32_programmer_cli:STM32_Programmer.sh' \
133 'stm32_keygen_cli:STM32_KeyGen_CLI' \
134 'stm32_signingtool_cli:STM32_SigningTool_CLI' \
135 'stm32trustedpackagecreator:STM32TrustedPackageCreator' \
136 'stm32trustedpackagecreator_cli:STM32TrustedPackageCreator_CLI'; do
137 wrapper_name=${entry%%:*}
138 target_name=${entry#*:}
139
140 install -Dm755 /dev/stdin "${pkgdir}/usr/bin/${wrapper_name}" <<EOF
141#!/bin/sh
142exec "/opt/${pkgname}/bin/${target_name}" "\$@"
143EOF
144 done
145
146 # remove unused installer components
147 rm -rf \
148 "${pkgdir}/opt/${pkgname}/updater" \
149 "${pkgdir}/opt/${pkgname}/.installationinformation"
150}
151# vim: set sw=2 ts=2 et:
152

Changes since previous scan

--- PKGBUILD @ 2026-09-14 00:27
+++ PKGBUILD @ 2026-09-17 00:27
@@ -6,7 +6,7 @@
pkgname=stm32cubeprog
pkgver=2.23.0
-pkgrel=3
+pkgrel=4
pkgdesc='An all-in-one multi-OS software tool for programming STM32 products.'
arch=('x86_64')
url='https://www.st.com/en/development-tools/stm32cubeprog.html'
@@ -18,6 +18,8 @@
)
optdepends=(
+ 'archlinux-java-run: System Java runtime for STM32CubeProgrammer (Wayland)'
+ 'java-openjfx-bin: System JavaFX runtime for STM32CubeProgrammer (Wayland)'
'stlink: udev rules for ST-LINK devices'
)
@@ -30,12 +32,14 @@
options=('!strip' '!debug')
source=(
- "SetupSTM32CubeProgrammer_linux_64-${pkgver}.zip::https://www.st.com/cloudfront/publish/stm32cubeprg-lin-v${pkgver//./-}/${pkgver}/en/SetupSTM32CubeProgrammer_linux_64.zip"
+ "SetupSTM32CubeProgrammer_linux_64.zip::https://www.st.com/cloudfront/publish/stm32cubeprg-lin-v${pkgver//./-}/${pkgver}/en/SetupSTM32CubeProgrammer_linux_64.zip"
'SLA0048_STM32CubeProg.pdf'
+ 'STM32CubeProgrammer_Wayland'
)
sha256sums=('6a9e60a5a048c45eb3241f9bb66bdc2e6cbd0119fb2e42568dc059fc6167442a'
- 'c6d92c00dee63e0f4a54d8ea62f82a646243c3e1480142ae3e7f4ca5d77d5702')
+ 'c6d92c00dee63e0f4a54d8ea62f82a646243c3e1480142ae3e7f4ca5d77d5702'
+ '5a34b8b2345f1ef4dff221d8d529dc1ef78e3c1e1bfb86f35edaf865b2fc5b26')
prepare() {
cd "${srcdir}"
@@ -48,6 +52,15 @@
--path "/opt/${pkgname}/bin" \
--name "STM32CubeProgrammer" \
--exec "/opt/${pkgname}/bin/STM32CubeProgrammer" \
+ --icon "${pkgname}" \
+ --categories "Development"
+
+ gendesk -f -n \
+ --pkgname "${pkgname}_wayland" \
+ --pkgdesc "${pkgdesc}" \
+ --path "/opt/${pkgname}/bin" \
+ --name "STM32CubeProgrammer (Wayland)" \
+ --exec "/opt/${pkgname}/bin/STM32CubeProgrammer_Wayland" \
--icon "${pkgname}" \
--categories "Development"
@@ -104,12 +117,18 @@
# desktop entries
install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+ install -Dm644 "${srcdir}/${pkgname}_wayland.desktop" \
+ "${pkgdir}/usr/share/applications/${pkgname}_wayland.desktop"
install -Dm644 "${srcdir}/${pkgname}-trusted-package-creator.desktop" \
"${pkgdir}/usr/share/applications/${pkgname}-trusted-package-creator.desktop"
+
+ install -Dm755 "${srcdir}/STM32CubeProgrammer_Wayland" \
+ "${pkgdir}/opt/${pkgname}/bin/STM32CubeProgrammer_Wayland"
# command wrappers
for entry in \
'stm32cubeprogrammer:STM32CubeProgrammer' \
+ 'stm32cubeprogrammer_wayland:STM32CubeProgrammer_Wayland' \
'stm32_programmer_cli:STM32_Programmer.sh' \
'stm32_keygen_cli:STM32_KeyGen_CLI' \
'stm32_signingtool_cli:STM32_SigningTool_CLI' \

Scan history

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

Report a package

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

0 / 4000
Your suggestion