stacher7
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:15
source=("stacher7_${pkgver}_amd64.deb::https://s7-releases.stacher-cloud.com/s7-releases/stacher7_${pkgver}_amd64.deb")
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 proprietary Electron binary (.deb) from 's7-releases.stacher-cloud.com', which is a project-specific subdomain rather than a well-known official distribution channel (e.g., GitHub releases). The binary is executed directly after extraction. A sha256sum is provided, which mitigates substitution attacks at the point of download, but does not address the risk of the upstream host serving a malicious binary in the first place (the hash would need to be updated per release). The host 'stacher-cloud.com' appears to be the project's own release infrastructure for Stacher (stacher.io), so this is not a random personal host — it is the vendor's own CDN/release server. This is a common pattern for proprietary AUR packages (e.g., similar to how Slack, Discord, etc. are packaged). The main concern is that 'stacher-cloud.com' is not a widely audited infrastructure, and the package installs a closed-source Electron app binary. This is a genuine medium-level supply-chain concern (unofficial/project-specific binary host, closed-source executed code), but not clearly malicious. No piracy or broken flags apply.
PKGBUILD
1 offending line(s) highlighted# Maintainer: BoredYama <sagargaud88@gmail.com>
pkgname=stacher7
pkgver=7.1.9
pkgrel=1
pkgdesc="Stacher - modern video downloader (proprietary Electron app)"
arch=('x86_64')
url="https://stacher.io"
license=('LicenseRef-freeware')
depends=('glibc' 'gtk3' 'nss' 'alsa-lib')
makedepends=('tar' 'zstd')
provides=('stacher7')
conflicts=('stacher7')
options=('!strip')
# Using the working URL you found - note: query parameter might change over time
source=("stacher7_${pkgver}_amd64.deb::https://s7-releases.stacher-cloud.com/s7-releases/stacher7_${pkgver}_amd64.deb")
sha256sums=('8dd26fb0570bccdb02b6d9a74c3cd581b0d8de0bda74aa848a777fa3a88152af')
package() {
# Extract the .deb
ar x "${srcdir}/stacher7_${pkgver}_amd64.deb"
mkdir -p extracted
tar --use-compress-program=unzstd -xf data.tar.zst -C extracted
# Install to /opt (standard location for proprietary software)
install -dm755 "${pkgdir}/opt/${pkgname}"
if [[ -d "extracted/usr/lib/${pkgname}" ]]; then
cp -r extracted/usr/lib/${pkgname}/* "${pkgdir}/opt/${pkgname}/"
fi
# Symlink main binary to /usr/bin
install -dm755 "${pkgdir}/usr/bin"
if [[ -f "${pkgdir}/opt/${pkgname}/Stacher7" ]]; then
ln -s "/opt/${pkgname}/Stacher7" "${pkgdir}/usr/bin/${pkgname}"
fi
# Install desktop entry
if [[ -f "extracted/usr/share/applications/${pkgname}.desktop" ]]; then
install -Dm644 "extracted/usr/share/applications/${pkgname}.desktop" \
"${pkgdir}/usr/share/applications/${pkgname}.desktop"
fi
# Install icon
if [[ -f "extracted/usr/share/pixmaps/${pkgname}.png" ]]; then
install -Dm644 "extracted/usr/share/pixmaps/${pkgname}.png" \
"${pkgdir}/usr/share/pixmaps/${pkgname}.png"
fi
# Install license if available
if [[ -f "extracted/usr/share/doc/${pkgname}/copyright" ]]; then
install -Dm644 "extracted/usr/share/doc/${pkgname}/copyright" \
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
fi
}
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 |