shayla
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:11
source=("https://s3.fr-par.scw.cloud/ne02ptzero-binaries/${pkgname}/${pkgver}/x86_64/shayla")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 85%): The PKGBUILD downloads a prebuilt x86_64 binary directly from a personal S3 bucket (Scaleway object storage under the maintainer's account 'ne02ptzero-binaries') and installs it as an executable in /usr/bin. There is no source code compilation, no official release artifact from the canonical upstream (git.sr.ht/~ne02ptzero/shayla), and no reproducibility guarantee. The sha256sum provides integrity against accidental corruption but not against intentional replacement by whoever controls the S3 bucket. This is a classic supply-chain concern: a compromised or hijacked personal S3 bucket could silently serve a malicious binary to all users. The upstream project exists and the maintainer appears to be the same person, so this is not clearly malicious, but distributing a closed prebuilt binary from a personal object store rather than building from source is a genuine medium-severity supply-chain risk.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Louis Solofrizzo <louis@ne02ptzero.me>
pkgname=shayla
pkgver=1.1
pkgrel=1
pkgdesc="A fast and simple static site generator"
arch=("x86_64")
url="https://git.sr.ht/~ne02ptzero/shayla"
license=("GPL3")
provides=("shayla")
conflicts=("shayla-git")
source=("https://s3.fr-par.scw.cloud/ne02ptzero-binaries/${pkgname}/${pkgver}/x86_64/shayla")
sha256sums=('ce12570f4dc9c5d8650475e8ac8b73ac64dc6b2f74932bd0d878de2ef3c3472d')
package() {
mkdir -p ${pkgdir}/usr/bin/
cp ${pkgname} ${pkgdir}/usr/bin/${pkgname}
chmod +x ${pkgdir}/usr/bin/${pkgname}
}
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 |