ttf-ricty-nerd
The package downloads a shell script and font data from the project's own GitHub Pages and GitHub releases, which are plausible project-owned sources; the script is patched and used locally to generate fonts, a normal build process for this type of package, with no evidence of remote code execution or malicious payload.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a shell script and font data from the project's own GitHub Pages and GitHub releases, which are plausible project-owned sources; the script is patched and used locally to generate fonts, a normal build process for this type of package, with no evidence of remote code execution or malicious payload.
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:12
"https://rictyfonts.github.io/files/ricty_generator.sh"
PKGBUILD
1 offending line(s) highlighted# Maintainer: h-a <ha1029.dev at aol dot com>
pkgname=ttf-ricty-nerd
pkgver=3.5.1
pkgrel=1
pkgdesc="Japanese TrueType font for developers by mixing Inconsolata Nerd Font and Migu 1M."
arch=("any")
url="https://rictyfonts.github.io/"
license=("OFL-1.1 AND IPA")
depends=("fontconfig")
makedepends=("ttf-inconsolata-nerd>=3.5.1-1" "fontforge")
source=(
"https://rictyfonts.github.io/files/ricty_generator.sh"
"ricty_generator.patch"
"OFL-1.1.txt"
"IPA_Font_License_Agreement_v1.0.txt"
"https://github.com/itouhiro/mixfont-mplus-ipa/releases/download/v2020.0307/migu-1m-20200307.zip"
)
sha256sums=(
"86bf0fed84ef806690b213798419405d7ca2a1a4bed4f6a28b87c2e2d07ad60d"
"b671114f87259f671d45b9386dfda64e4acc8bb5bf5ed3585d54a0b84308d7fd"
"29bd0cfd0fb2a45f9b057c834a057724bae1f63b525a8ac83d3e7525706d9f80"
"4c84dd528ec3044638ec346fc1ee27cd1eb95dfc04cbc6a881b3ca7a7f517e54"
"e4806d297e59a7f9c235b0079b2819f44b8620d4365a8955cb612c9ff5809321"
)
prepare() {
cd "${srcdir}"
ln -sfv /usr/share/fonts/TTF/InconsolataNerdFont-Regular.ttf Inconsolata-Regular.ttf
ln -sfv /usr/share/fonts/TTF/InconsolataNerdFont-Bold.ttf Inconsolata-Bold.ttf
patch -u --follow-symlinks -o ricty_nerd_generator.sh <ricty_generator.patch
chmod +x ricty_nerd_generator.sh
}
build() {
cd "${srcdir}"
./ricty_nerd_generator.sh -a auto
}
package() {
install -d "${pkgdir}"/usr/share/fonts/TTF
install -m644 "${srcdir}"/RictyNerdFont-Regular.ttf "${pkgdir}"/usr/share/fonts/TTF
install -m644 "${srcdir}"/RictyNerdFont-Bold.ttf "${pkgdir}"/usr/share/fonts/TTF
install -m644 "${srcdir}"/RictyNerdFont-BoldOblique.ttf "${pkgdir}"/usr/share/fonts/TTF
install -m644 "${srcdir}"/RictyNerdFont-Oblique.ttf "${pkgdir}"/usr/share/fonts/TTF
install -m644 "${srcdir}"/RictyDiscordNerdFont-Regular.ttf "${pkgdir}"/usr/share/fonts/TTF
install -m644 "${srcdir}"/RictyDiscordNerdFont-Bold.ttf "${pkgdir}"/usr/share/fonts/TTF
install -m644 "${srcdir}"/RictyDiscordNerdFont-BoldOblique.ttf "${pkgdir}"/usr/share/fonts/TTF
install -m644 "${srcdir}"/RictyDiscordNerdFont-Oblique.ttf "${pkgdir}"/usr/share/fonts/TTF
install -d "${pkgdir}"/usr/share/licenses/"${pkgname}"
install -m644 OFL-1.1.txt "${pkgdir}"/usr/share/licenses/"${pkgname}"/OFL-1.1.txt
install -m644 IPA_Font_License_Agreement_v1.0.txt "${pkgdir}"/usr/share/licenses/"${pkgname}"/IPA_Font_License_Agreement_v1.0.txt
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |