spark-winfonts
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it LOW (confidence 82%): The package downloads a prebuilt .deb from mirrors.sdu.edu.cn (Shandong University mirror, a well-known Chinese academic mirror that hosts the Spark Store repository). The content is purely font files (Windows/MS Office fonts) — no executed binaries, no scripts run at build time beyond bsdtar extraction. The md5sums=('SKIP') is sloppy and means no integrity verification, which is a minor concern, but the host is a reputable Chinese university mirror rather than a random personal server. The fonts themselves are data files processed only by fontconfig. The PKGBUILD also has a minor bug (it extracts data.tar.xz without first extracting it from the .deb), making it likely broken in practice. The cheaper model's MEDIUM rating is a false positive — pure font data from a university mirror with no code execution is at most low risk, primarily due to the missing checksum.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:9
source=("https://mirrors.sdu.edu.cn/spark-store/amd64-store/others/winfonts/winfonts_1.4_all.deb")
PKGBUILD
1 offending line(s) highlighted# Maintainer: KafuuNagi <welcome-come-on@outlook.com>
pkgname=spark-winfonts
pkgver=1.4
pkgrel=1
pkgdesc="Fonts in Windows and MS Office, comes from spark-store"
arch=('any')
license=('custom')
depends=('fontconfig')
source=("https://mirrors.sdu.edu.cn/spark-store/amd64-store/others/winfonts/winfonts_1.4_all.deb")
md5sums=('SKIP')
package() {
bsdtar -xzf data.tar.xz -C "$pkgdir"
}
post_install() {
fc-cache -fv
}
post_upgrade() {
post_install
}
post_remove() {
fc-cache -fv
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |