creature-desktop-bin
Triggered rules
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:26
source=("${pkgname}-${pkgver}.AppImage::https://releases.creature.run/desktop/linux/x64/Creature-${pkgver}-x64.AppImage")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): This PKGBUILD downloads a prebuilt AppImage binary from releases.creature.run, which is the project's own release host (matching the upstream URL creature.run). The AppImage is executed during build to extract its contents, and the extracted Electron application is installed system-wide. The sha256sum is pinned, which mitigates casual tampering, but the host is a personal/startup domain with no third-party verification. The core concern is that this is an executed proprietary binary from a non-auditable source: if the domain or release infrastructure is compromised, users would silently receive malicious code. This is a standard medium-risk pattern for binary AUR packages — not clearly malicious, but a real supply-chain concern due to the unofficial host and lack of any code signing or reproducible build verification. The PKGBUILD itself is well-structured with no obfuscation or suspicious behavior.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Max Marze <max@marze.dev>
pkgname=creature-desktop-bin
pkgver=0.0.32
pkgrel=1
pkgdesc="The Graphical Agent Interface - Build and share MCP Apps for humans and agents working together"
arch=('x86_64')
url="https://creature.run"
license=('custom')
depends=(
'gtk3'
'nss'
'alsa-lib'
'libxss'
'libxtst'
'xdg-utils'
'libsecret'
'libayatana-appindicator'
)
optdepends=(
'libnotify: for desktop notifications'
)
provides=('creature-desktop')
conflicts=('creature-desktop')
install=${pkgname}.install
options=('!strip' '!debug')
source=("${pkgname}-${pkgver}.AppImage::https://releases.creature.run/desktop/linux/x64/Creature-${pkgver}-x64.AppImage")
sha256sums=('0f89780d9183da006ef2852f08e10112fbb3e6dc0d2c9eb2ede347fcea595330')
noextract=("${pkgname}-${pkgver}.AppImage")
makedepends=('imagemagick')
prepare() {
chmod +x "${srcdir}/${pkgname}-${pkgver}.AppImage"
"${srcdir}/${pkgname}-${pkgver}.AppImage" --appimage-extract
# Generate smaller icon sizes from the 1024x1024 source
local _src="${srcdir}/squashfs-root/usr/share/icons/hicolor/1024x1024/apps/creature-desktop-app.png"
for _size in 16 24 32 48 64 128 256 512; do
mkdir -p "${srcdir}/icons/${_size}x${_size}"
magick "${_src}" -resize "${_size}x${_size}" "${srcdir}/icons/${_size}x${_size}/creature-desktop-app.png"
done
}
package() {
# Detect the actual binary name (upstream changed from 'Creature' to 'creature' in 0.0.29)
local _bin
if [[ -f "${srcdir}/squashfs-root/usr/lib/creature-desktop-app/creature" ]]; then
_bin="creature"
else
_bin="Creature"
fi
# Install the main application
install -dm755 "${pkgdir}/opt/creature-desktop"
cp -r "${srcdir}/squashfs-root/usr/lib/creature-desktop-app/"* "${pkgdir}/opt/creature-desktop/"
# Install icons at multiple sizes
for _size in 16 24 32 48 64 128 256 512; do
install -Dm644 "${srcdir}/icons/${_size}x${_size}/creature-desktop-app.png" \
"${pkgdir}/usr/share/icons/hicolor/${_size}x${_size}/apps/creature-desktop-app.png"
done
install -Dm644 "${srcdir}/squashfs-root/usr/share/icons/hicolor/1024x1024/apps/creature-desktop-app.png" \
"${pkgdir}/usr/share/icons/hicolor/1024x1024/apps/creature-desktop-app.png"
# Install the desktop file (patched)
install -Dm644 /dev/stdin "${pkgdir}/usr/share/applications/creature-desktop.desktop" <<EOF
[Desktop Entry]
Version=1.5
Type=Application
Name=Creature
Comment=The Graphical Agent Interface
Exec=/opt/creature-desktop/${_bin} %U
Icon=creature-desktop-app
Categories=Development;Utility;
StartupWMClass=Creature
EOF
# Install the license
install -Dm644 "${srcdir}/squashfs-root/usr/lib/creature-desktop-app/LICENSE" \
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# Create symlink for the binary
install -dm755 "${pkgdir}/usr/bin"
ln -s /opt/creature-desktop/${_bin} "${pkgdir}/usr/bin/creature"
# Fix permissions for chrome-sandbox
chmod 4755 "${pkgdir}/opt/creature-desktop/chrome-sandbox"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |