heidisql
maintainer D3SOX
· 53 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The download is of locale files (.mo translation files) from the project's official domain, which are non-executable data; the worst case of a swap is limited to data tampering, not code execution.
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 download is of locale files (.mo translation files) from the project's official domain, which are non-executable data; the worst case of a swap is limited to data tampering, not code execution.
1 higher static finding 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:30
curl -fsSL "https://www.heidisql.com/downloads/locale/${locale_zip}" -o "/tmp/${locale_zip}" || exit 1
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Nico <d3sox at protonmail dot com>
2
# Contributor: Liviu Cristian Mirea-Ghiban <liviu dot mirea at wecodepixels dot com>
3
pkgname=heidisql
4
epoch=1
5
pkgver=12.20
6
pkgrel=1
7
pkgdesc="HeidiSQL Shared files: wrapper script, locale/ini files, documentation (install a provider of your choice for heidisql-client to use it)"
8
arch=(x86_64)
9
url="http://www.heidisql.com/"
10
license=('GPL-2.0-or-later')
11
optdepends=('heidisql-qt6: Qt6 variant'
12
'heidisql-gtk2: GTK2 variant')
13
makedepends=(curl unzip)
14
install=heidisql.install
15
16
source=(
17
"https://github.com/HeidiSQL/HeidiSQL/archive/v${pkgver}.tar.gz"
18
heidisql
19
)
20
sha256sums=('04e82a09aedb60647406c435cf355d9f1539ea1ee2f045b6b51d70fd4c038753'
21
'cb084209a5ce3270a2888bf93c8a5adb6f714eda487ad13a50512ac538b3fc87')
22
23
prepare() {
24
cd "${srcdir}/HeidiSQL-${pkgver}"
25
26
# Fetch compiled translations from the daily Transifex snapshots served by heidisql.com
27
local locale_zip="HeidiSQL-locale.zip"
28
local locale_dir="${srcdir}/HeidiSQL-${pkgver}/extra/locale"
29
mkdir -p "${locale_dir}"
30
curl -fsSL "https://www.heidisql.com/downloads/locale/${locale_zip}" -o "/tmp/${locale_zip}" || exit 1
31
unzip -o -j "/tmp/${locale_zip}" -d "${locale_dir}"
32
rm -f "/tmp/${locale_zip}"
33
}
34
35
package() {
36
cd "${srcdir}/HeidiSQL-${pkgver}"
37
38
# Install shared locale files
39
if [ -d "extra/locale" ]; then
40
mkdir -p "${pkgdir}/usr/share/heidisql/locale"
41
for mo_file in extra/locale/*.mo; do
42
[ -f "$mo_file" ] && install -Dm644 "$mo_file" "${pkgdir}/usr/share/heidisql/locale/$(basename "$mo_file")"
43
done
44
fi
45
46
# Install shared ini files
47
mkdir -p "${pkgdir}/usr/share/heidisql"
48
install -Dm644 extra/ini/*.ini "${pkgdir}/usr/share/heidisql/"
49
50
# Install icon
51
install -Dm644 res/deb-package-icon.png "${pkgdir}/usr/share/pixmaps/heidisql.png"
52
53
# Install documentation
54
mkdir -p "${pkgdir}/usr/share/doc/heidisql"
55
install -Dm644 README.md "${pkgdir}/usr/share/doc/heidisql/"
56
install -Dm644 LICENSE "${pkgdir}/usr/share/doc/heidisql/"
57
install -Dm644 package-skeleton/usr/share/doc/heidisql/copyright "${pkgdir}/usr/share/doc/heidisql/"
58
59
# Install wrapper script that selects the appropriate variant
60
install -Dm755 "${srcdir}/heidisql" "${pkgdir}/usr/bin/heidisql"
61
}
62
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 |