cacher
The PKGBUILD downloads a prebuilt AppImage binary from an S3 bucket (s3.amazonaws.com/download.cacher.io), which is the official vendor distribution channel for Cacher (cacher.io). The AppImage is executed during the build phase (--appimage-extract) to unpack its contents, and the entire squashfs-root is then installed to /opt. While the host appears to be the legitimate vendor S3 bucket and a sha256sum is provided, this is still a prebuilt closed-source binary from a third-party host rather than source compiled locally. The sha256sum provides integrity but not authenticity (no GPG signature). This is a standard pattern for AppImage-based AUR packages and the domain matches the official product URL, making this a borderline clean/medium case — the risk is real but typical for this class of package.
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:13
source=("${pkgname}-${pkgver}.AppImage::https://s3.amazonaws.com/download.cacher.io/Cacher-${pkgver}.AppImage"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt AppImage binary from an S3 bucket (s3.amazonaws.com/download.cacher.io), which is the official vendor distribution channel for Cacher (cacher.io). The AppImage is executed during the build phase (--appimage-extract) to unpack its contents, and the entire squashfs-root is then installed to /opt. While the host appears to be the legitimate vendor S3 bucket and a sha256sum is provided, this is still a prebuilt closed-source binary from a third-party host rather than source compiled locally. The sha256sum provides integrity but not authenticity (no GPG signature). This is a standard pattern for AppImage-based AUR packages and the domain matches the official product URL, making this a borderline clean/medium case — the risk is real but typical for this class of package.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Dimitris Kiziridis <ragouel at outlook dot com>
pkgname=cacher
pkgver=2.33.4
pkgrel=1
pkgdesc='The code snippet organizer for professional developers'
arch=('x86_64')
url='https://www.cacher.io'
license=("custom:${pkgname}")
makedepends=('gendesk')
options=('!strip')
noextract=("${pkgname}-${pkgver}.AppImage")
source=("${pkgname}-${pkgver}.AppImage::https://s3.amazonaws.com/download.cacher.io/Cacher-${pkgver}.AppImage"
'LICENSE')
sha256sums=('1fa76bda2685fc58c87b49017c21dd56007b43a2861bb246472ce7e071bd40de'
'3a634ac8342a95cadb1bb2f1f84242f49ad142e495ef8e55ea02439ea9af4a9e')
package() {
chmod 755 ./${pkgname}-${pkgver}.AppImage
./${pkgname}-${pkgver}.AppImage --appimage-extract
install -Dm644 squashfs-root/usr/share/icons/hicolor/0x0/apps/cacher.png "${pkgdir}/usr/share/pixmaps/cacher.png"
gendesk -f -n --pkgname "${pkgname}" \
--pkgdesc "$pkgdesc" \
--name "Cacher" \
--comment "$pkgdesc" \
--exec "${pkgname}" \
--categories 'Utility;Development;Application' \
--icon "${pkgname}"
install -Dm644 "${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
install -d "${pkgdir}/usr/bin"
install -d "${pkgdir}/opt"
install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
cp -avR squashfs-root/ "${pkgdir}/opt/${pkgname}"
ln -s /opt/${pkgname}/AppRun "${pkgdir}/usr/bin/cacher"
find "${pkgdir}/opt/${pkgname}" -type d -exec chmod 755 {} +
}
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 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 00:28:05 | Medium | 2 |
| 2026-10-14 00:06:47 | Medium | 2 |
| 2026-10-13 00:23:45 | Medium | 2 |