amazingmarvin-appimage
MEDIUM
maintainer cozyfractal
7 votes
scanned 2026-11-01 00:21:48.120785
Why flagged
The package downloads a prebuilt AppImage from an S3 bucket, which is an unverifiable executable from a swappable host, posing a supply-chain risk if the source were compromised.
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:16
source_x86_64=("${_appimage}::https://amazingmarvin.s3.amazonaws.com/Marvin-${pkgver}.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 from an S3 bucket, which is an unverifiable executable from a swappable host, posing a supply-chain risk if the source were compromised.
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Diego Dorn <aur at therandom dot space>
2
# Contributor: Tianrui Wei <archlinux_aur at mail dot tianrui-wei dot com>
3
# Contributor: Marcio Silva <marcionps at gmail dot com>
4
_pkgname=amazingmarvin
5
6
pkgname="${_pkgname}"-appimage
7
pkgver=1.71.4
8
pkgrel=1
9
pkgdesc="Personal productivity app that incorporates principles from behavioral psychology to help you beat procrastination, feel in control and finish your to-do list"
10
arch=('x86_64')
11
url="https://amazingmarvin.com/"
12
license=('custom:Commercial')
13
depends=('zlib' 'hicolor-icon-theme' 'fuse2')
14
options=(!strip)
15
_appimage="${pkgname}-${pkgver}.AppImage"
16
source_x86_64=("${_appimage}::https://amazingmarvin.s3.amazonaws.com/Marvin-${pkgver}.AppImage")
17
noextract=("${_appimage}")
18
sha256sums_x86_64=('52cfa8168109060b7ec31f81a755deae401990176c13869d5e5f0e128f06b818')
19
20
prepare() {
21
chmod +x "${_appimage}"
22
./"${_appimage}" --appimage-extract
23
}
24
25
build() {
26
# Adjust .desktop so it will work outside of AppImage container
27
sed -i -E "s|Exec=AppRun|Exec=env DESKTOPINTEGRATION=false /usr/bin/${_pkgname}|"\
28
"squashfs-root/marvin.desktop"
29
# Fix permissions; .AppImage permissions are 700 for all directories
30
chmod -R a-x+rX squashfs-root/usr
31
}
32
33
package() {
34
# AppImage
35
install -Dm755 "${srcdir}/${_appimage}" "${pkgdir}/opt/${pkgname}/${pkgname}.AppImage"
36
37
# Desktop file
38
install -Dm644 "${srcdir}/squashfs-root/marvin.desktop"\
39
"${pkgdir}/usr/share/applications/marvin.desktop"
40
41
# Icon images
42
install -dm755 "${pkgdir}/usr/share/"
43
cp -a "${srcdir}/squashfs-root/usr/share/icons" "${pkgdir}/usr/share/"
44
45
# Symlink executable
46
install -dm755 "${pkgdir}/usr/bin"
47
ln -s "/opt/${pkgname}/${pkgname}.AppImage" "${pkgdir}/usr/bin/${_pkgname}"
48
}
49
Changes since previous scan
--- PKGBUILD @ 2026-10-27 00:23+++ PKGBUILD @ 2026-11-01 00:21@@ -4,7 +4,7 @@ _pkgname=amazingmarvin pkgname="${_pkgname}"-appimage-pkgver=1.71.2+pkgver=1.71.4 pkgrel=1 pkgdesc="Personal productivity app that incorporates principles from behavioral psychology to help you beat procrastination, feel in control and finish your to-do list" arch=('x86_64')@@ -15,7 +15,7 @@ _appimage="${pkgname}-${pkgver}.AppImage" source_x86_64=("${_appimage}::https://amazingmarvin.s3.amazonaws.com/Marvin-${pkgver}.AppImage") noextract=("${_appimage}")-sha256sums_x86_64=('5e565f722f9a7b464cda246abbb4612d9b94509de1a75c7192f8060186397877')+sha256sums_x86_64=('52cfa8168109060b7ec31f81a755deae401990176c13869d5e5f0e128f06b818') prepare() { chmod +x "${_appimage}"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 11:47:37 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 00:12:40 | 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 11:11:38 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |