systemrescue-usbwriter-appimage
The package downloads a prebuilt AppImage and signature from the project's official CDN; while the host is not a standard one, it is plausibly official, and the AppImage is verified via PGP, limiting supply-chain risk to LOW.
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 a prebuilt AppImage and signature from the project's official CDN; while the host is not a standard one, it is plausibly official, and the AppImage is verified via PGP, limiting supply-chain risk to LOW.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:33
"${_pkgsrc}-x86_64.AppImage::https://fastly-cdn.system-rescue.org/download/usbwriter/${pkgver}/${_name}-x86_64.AppImage"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Vitalii Kuzhdin <vitaliikuzhdin@gmail.com>
_name="sysrescueusbwriter"
_pkgname="systemrescue-usbwriter"
pkgname="${_pkgname}-appimage"
pkgver=1.1.1
pkgrel=1
pkgdesc="Tool to write SystemRescue to a USB memory stick"
arch=(
'x86_64'
)
url="https://gitlab.com/systemrescue/${_pkgname}"
license=(
'GPL-3.0-or-later'
)
depends=(
'glibc'
)
provides=(
"${_pkgname}"
)
conflicts=(
"${_pkgname}"
)
options=(
'!strip'
)
_pkgsrc="${_pkgname}-${pkgver}"
source=(
"${_pkgsrc}-README.md::${url}/-/raw/${pkgver}/README.md?ref_type=tags&inline=false"
)
source_x86_64=(
"${_pkgsrc}-x86_64.AppImage::https://fastly-cdn.system-rescue.org/download/usbwriter/${pkgver}/${_name}-x86_64.AppImage"
"${_pkgsrc}-x86_64.AppImage.asc::https://fastly-cdn.system-rescue.org/download/usbwriter/${pkgver}/${_name}-x86_64.AppImage.asc"
)
sha512sums=('31d9d38133dc5b9b2efb6ac8ca2ad043327f61b2cfea43252ce177e0b892eaa90bd7f2c657f392052113652290737a0a476bba4327af935e8dbe62055c1b5320')
sha512sums_x86_64=('1671b7fd052f7e96800822bc24bb485a90dce700fa6625bcd53797f904f618ea675ecad10d18ba9af0524e21199b6943240d825dcd1a1f25bbe656f9018bd677'
'SKIP')
validpgpkeys=(
'0FF11AF081E98345594812037091115F8320B897' # Francois Dupoux 20210704 (Generated on 20210704)
)
prepare() {
cd "${srcdir}"
chmod +x "${_pkgsrc}-${CARCH}.AppImage"
./"${_pkgsrc}-${CARCH}.AppImage" --appimage-extract > /dev/null
rm -rf "${_pkgsrc}-${CARCH}"
mv -f "squashfs-root" "${_pkgsrc}-${CARCH}"
}
# pkgver() {
# cd "${srcdir}/${_pkgsrc}-${CARCH}/usr/share/versions"
# cat "${_name}"
# }
build() {
cd "${srcdir}"
# Fix permissions; .AppImage permissions are 700 for all directories
chmod -R a-x+rX "${_pkgsrc}-${CARCH}"/
}
package() {
cd "${srcdir}"
install -vDm755 "${_pkgsrc}-${CARCH}.AppImage" "${pkgdir}/opt/${_name}/${_name}.AppImage"
install -vDm644 "${_pkgsrc}-README.md" "${pkgdir}/usr/share/doc/${_pkgname}/README.md"
cd "${srcdir}/${_pkgsrc}-${CARCH}"
install -vDm644 "${_name}.desktop" "${pkgdir}/usr/share/applications/${_name}.desktop"
install -vDm644 "${_name}.png" "${pkgdir}/usr/share/pixmaps/${_name}.png"
cd "${srcdir}/${_pkgsrc}-${CARCH}/usr/share/licenses/${_name}"
install -vDm644 "GPL-3.0-or-later" "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
cd "${srcdir}/${_pkgsrc}-${CARCH}/usr/share/metainfo"
install -vDm644 "org.system_rescue.systemrescue_usb_writer.metainfo.xml" \
"${pkgdir}/usr/share/metainfo/org.system_rescue.systemrescue_usb_writer.metainfo.xml"
install -vdm755 "${pkgdir}/usr/bin"
ln -vs "/opt/${_name}/${_name}.AppImage" "${pkgdir}/usr/bin/${_name}"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 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 |
| 2026-08-29 00:29:17 | Low | 2 |