bootstrap-studio

MEDIUM
maintainer nathawatc 14 votes scanned 2026-11-01 00:21:48.120785
View on AUR
Why flagged

The package downloads a prebuilt AppImage executable from a non-whitelisted host (releases.bootstrapstudio.io), which is not a standard trusted source, creating a supply-chain risk if the host is compromised or spoofed.

Triggered rules

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:28 source=("${pkgname}-${pkgver}.AppImage::https://releases.bootstrapstudio.io/${pkgver}/Bootstrap%20Studio.AppImage")
Medium AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 90%): The package downloads a prebuilt AppImage executable from a non-whitelisted host (releases.bootstrapstudio.io), which is not a standard trusted source, creating a supply-chain risk if the host is compromised or spoofed.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: nathawat <nathawat at noreply dot codeberg dot org>
2# Contributor: Mohamed tarek <Mokhamed_tarek@mail.ru>
3# Contributor: rotzelbart <tausendkubik@gmail.com>
4# Contributor: TechVio <68242352+techvio1@users.noreply.github.com>
5# Contributor: chn <g897331845@gmail.com>
6# Contributor: Hunter Wittenborn <git@hunterwittenborn.me>
7# Contributor: Alfin Bakhtiar Ilhami <alfin at nuclea dot id>
8# Contributor: Jan-Tarek Butt <tarek at ring0 dot de>
9
10pkgname=bootstrap-studio
11pkgver=9.0.1
12pkgrel=1
13pkgdesc="A powerful desktop application that helps you design and publish beautiful websites"
14arch=("x86_64")
15license=('LicenseRef-custom')
16url="https://bootstrapstudio.io/"
17depends=(
18 'alsa-lib'
19 'gtk3'
20 'libcups'
21 'nss'
22)
23optdepends=(
24 'xdg-utils: Open URLs and browser previews'
25)
26options=('!strip')
27
28source=("${pkgname}-${pkgver}.AppImage::https://releases.bootstrapstudio.io/${pkgver}/Bootstrap%20Studio.AppImage")
29b2sums=('f3352e998419339159a5f0a127e33f4945de523b01c1531a6cebfbeae0085453508a830076c849e9d1da4a39e35e64a479c7a8f514fdffc8e50f22780cced742')
30
31prepare() {
32 chmod +x "${pkgname}-${pkgver}.AppImage"
33 ./"${pkgname}-${pkgver}.AppImage" --appimage-extract &> /dev/null
34 sed -i 's|^Exec=.*|Exec=bootstrap-studio %U|' squashfs-root/bstudio.desktop
35}
36
37package() {
38 # Application files
39 install -d "${pkgdir}/opt/${pkgname}"
40 cp -Lr "${srcdir}/squashfs-root" "${pkgdir}/opt/${pkgname}"
41 find "${pkgdir}/opt/${pkgname}" -type d -exec chmod 755 {} +
42
43 # Launcher
44 install -d "${pkgdir}/usr/bin"
45 cat > "${pkgdir}/usr/bin/${pkgname}" << EOF
46#!/bin/sh
47exec /opt/${pkgname}/squashfs-root/AppRun "\$@"
48EOF
49 chmod 755 "${pkgdir}/usr/bin/${pkgname}"
50
51 # Desktop entry & icons
52 install -Dm644 "${srcdir}/squashfs-root/bstudio.desktop" \
53 "${pkgdir}/usr/share/applications/bstudio.desktop"
54 cp -r "${srcdir}/squashfs-root/usr/share/icons" "${pkgdir}/usr/share/"
55
56 # Licenses
57 install -Dm644 "${srcdir}/squashfs-root/LICENSE.electron.txt" \
58 "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.electron.txt"
59 install -Dm644 "${srcdir}/squashfs-root/LICENSES.chromium.html" \
60 "${pkgdir}/usr/share/licenses/${pkgname}/LICENSES.chromium.html"
61}
62

Changes since previous scan

--- PKGBUILD @ 2026-10-25 00:20
+++ PKGBUILD @ 2026-11-01 00:21
@@ -8,60 +8,55 @@
# Contributor: Jan-Tarek Butt <tarek at ring0 dot de>
pkgname=bootstrap-studio
-pkgver=8.0.1
+pkgver=9.0.1
pkgrel=1
-pkgdesc="Bootstrap Studio is a powerful tool which web developers and designers use to create layouts and fully functional websites using the Bootstrap framework."
+pkgdesc="A powerful desktop application that helps you design and publish beautiful websites"
arch=("x86_64")
-license=("custom")
+license=('LicenseRef-custom')
url="https://bootstrapstudio.io/"
depends=(
- 'alsa-lib'
- 'gtk3'
- 'libcups'
- 'nss'
+ 'alsa-lib'
+ 'gtk3'
+ 'libcups'
+ 'nss'
)
+optdepends=(
+ 'xdg-utils: Open URLs and browser previews'
+)
+options=('!strip')
-source=("https://releases.bootstrapstudio.io/${pkgver}/Bootstrap%20Studio.AppImage"
- "bstudio.desktop")
-b2sums=('c7dd0e6493fb6317cf4f6da7f2bd83a0e13de4de44a9f8a2455521de07240a8b86512a6ccfbbc0799ff17c09753502b16a9aaefc34ecefee91874775e448a814'
- '6588d6c99396a05eafa74ca0e4d0c1113ff927f0fc6afc6cf549bf251b1f03a742d0a39d5e1b8bffd0052b49196357daafef371c1ebd49efc16ef353ab3d9daa')
+source=("${pkgname}-${pkgver}.AppImage::https://releases.bootstrapstudio.io/${pkgver}/Bootstrap%20Studio.AppImage")
+b2sums=('f3352e998419339159a5f0a127e33f4945de523b01c1531a6cebfbeae0085453508a830076c849e9d1da4a39e35e64a479c7a8f514fdffc8e50f22780cced742')
+
prepare() {
- # Extract AppImage
- echo "Extracting AppImage..."
- mv "Bootstrap%20Studio.AppImage" "Bootstrap Studio.AppImage"
- chmod +x "Bootstrap Studio.AppImage"
- ./"Bootstrap Studio.AppImage" --appimage-extract &> /dev/null
+ chmod +x "${pkgname}-${pkgver}.AppImage"
+ ./"${pkgname}-${pkgver}.AppImage" --appimage-extract &> /dev/null
+ sed -i 's|^Exec=.*|Exec=bootstrap-studio %U|' squashfs-root/bstudio.desktop
}
package() {
- # Copy package files
- echo "Copying package files..."
- mkdir -p "${pkgdir}/opt/${pkgname}"
- cp -Lr "${srcdir}/squashfs-root" "${pkgdir}/opt/${pkgname}"
+ # Application files
+ install -d "${pkgdir}/opt/${pkgname}"
+ cp -Lr "${srcdir}/squashfs-root" "${pkgdir}/opt/${pkgname}"
+ find "${pkgdir}/opt/${pkgname}" -type d -exec chmod 755 {} +
- # Set permissions
- chmod a+rx "${pkgdir}/opt/${pkgname}/" -R
+ # Launcher
+ install -d "${pkgdir}/usr/bin"
+ cat > "${pkgdir}/usr/bin/${pkgname}" << EOF
+#!/bin/sh
+exec /opt/${pkgname}/squashfs-root/AppRun "\$@"
+EOF
+ chmod 755 "${pkgdir}/usr/bin/${pkgname}"
- # Create launcher script
- mkdir -p "${pkgdir}/usr/bin"
- cat > "${pkgdir}/usr/bin/${pkgname}" << EOF
-#!/bin/bash
-if [ \$# -eq 0 ]; then
- /opt/${pkgname}/squashfs-root/AppRun
-else
- /opt/${pkgname}/squashfs-root/AppRun "\$@"
-fi
-EOF
- chmod +x "${pkgdir}/usr/bin/${pkgname}"
+ # Desktop entry & icons
+ install -Dm644 "${srcdir}/squashfs-root/bstudio.desktop" \
+ "${pkgdir}/usr/share/applications/bstudio.desktop"
+ cp -r "${srcdir}/squashfs-root/usr/share/icons" "${pkgdir}/usr/share/"
- # Copy .desktop file
- mkdir -p "${pkgdir}/usr/share/applications"
- cp -Lr "${srcdir}/bstudio.desktop" "${pkgdir}/usr/share/applications/"
-
- # Copy icons
- mkdir -p "${pkgdir}/usr/share/icons/hicolor/"{128x128,192x192,256x256,512x512}"/apps/"
- for i in 128x128 192x192 256x256 512x512; do
- cp -Lr "${srcdir}/squashfs-root/usr/share/icons/hicolor/0x0/apps/bstudio.png" "${pkgdir}/usr/share/icons/hicolor/${i}/apps/"
- done
+ # Licenses
+ install -Dm644 "${srcdir}/squashfs-root/LICENSE.electron.txt" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.electron.txt"
+ install -Dm644 "${srcdir}/squashfs-root/LICENSES.chromium.html" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSES.chromium.html"
}

Scan history

Scanned at (UTC)SeverityRules
2026-11-01 00:21:48 Medium 2
2026-10-31 00:07:41 Medium 2
2026-10-30 00:29:30 Medium 2
2026-10-29 00:13:55 Medium 2
2026-10-28 00:06:54 Medium 2
2026-10-27 00:23:28 Medium 2
2026-10-26 00:12:40 Medium 2
2026-10-25 03:41:34 Medium 2
2026-10-25 00:20:48 Medium 2
2026-10-24 00:14:55 Medium 2
2026-10-23 00:02:19 Medium 2
2026-10-22 00:13:10 Medium 2
2026-10-21 00:12:50 Medium 2
2026-10-20 00:10:31 Medium 2
2026-10-19 00:03:55 Medium 2
2026-10-18 00:06:55 Medium 2
2026-10-17 00:21:55 Medium 2
2026-10-16 00:12:47 Medium 2
2026-10-15 00:28:05 Medium 2
2026-10-14 00:06:47 Medium 2

Report a package

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

0 / 4000
Your suggestion