ttf-unfonts-core
The package downloads a source tarball from kldp.net, a non-whitelisted but plausibly project-owned host, and builds TTF font files using fontforge; fonts are data, not executable code, and the build process involves only standard font modifications, so the risk is low even if the host is untrusted.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a source tarball from kldp.net, a non-whitelisted but plausibly project-owned host, and builds TTF font files using fontforge; fonts are data, not executable code, and the build process involves only standard font modifications, so the risk is low even if the host is untrusted.
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:25
source=("${pkgname}-${pkgver}.tar.gz::https://kldp.net/unfonts/release/${_source_file}")
PKGBUILD
1 offending line(s) highlighted# Maintainer: Geonho Kim <ghkim@muphix.com>
#
# PKGBUILD notes:
# - Based on upstream un-fonts 1.0.2 (080608).
# - Based on Debian's fonts-unfonts-core packaging.
# - Fontconfig snippet for improved rendering
# - fsType cleanup (SetOS2Value("FSType",0)) to ensure installable embedding
# for GPL fonts.
# - Wrong PostScript name fix (SetFontNames(""))
# (UnDinaru-Bold -> UnDinaru-Light)
#
_pkgver_pre=1.0.2
_pkgver_post=080608
_source_file_pre=2607
_source_file="${_source_file_pre}-un-fonts-core-${_pkgver_pre}-${_pkgver_post}.tar.gz"
pkgname=ttf-unfonts-core
pkgver=${_pkgver_pre}.${_pkgver_post}
pkgrel=1
pkgdesc='Un series Korean TrueType fonts (core set)'
arch=('any')
url='https://kldp.net/unfonts/'
license=('GPL-2.0-only')
makedepends=('fontforge')
source=("${pkgname}-${pkgver}.tar.gz::https://kldp.net/unfonts/release/${_source_file}")
sha256sums=('3b0a7274f9aab7e8f0f1938c01a70e1581766d51b494ba145683f37ac557918e')
_ttfs=()
_fc='90-fonts-unfonts-core.conf'
prepare() {
cd "$srcdir/un-fonts"
mapfile -d '' _ttfs < <(find . -type f -iname '*.ttf' -print0)
# Fix wrong PostScript name
fontforge -lang=ff \
-c 'Open($1); SetFontNames("UnDinaru-Light"); Generate($1)' \
'./UnDinaruLight.ttf'
# Cleanup fsType in OS/2 table
for i in "${_ttfs[@]}"; do
fontforge -lang=ff -c 'Open($1); SetOS2Value("FSType",0); Generate($1)' "$i"
done
# Build fontconfig for improved rendering
cat > "$_fc" <<'EOF'
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Un fonts have no hint instructions so they rely on autohint and
antialias. Note that they might look horrible with some
autohint configuration. -->
<match target="font">
<test name="family" qual="any">
<string>UnBatang</string>
</test>
<edit name="antialias" mode="assign" binding="strong"><bool>true</bool></edit>
<edit name="hinting" mode="assign" binding="strong"><bool>false</bool></edit>
<edit name="autohint" mode="assign" binding="strong"><bool>true</bool></edit>
<edit name="hintstyle" mode="assign" binding="strong"><const>hintslight</const></edit>
</match>
<match target="font">
<test name="family" qual="any">
<string>UnDotum</string>
</test>
<edit name="antialias" mode="assign" binding="strong"><bool>true</bool></edit>
<edit name="hinting" mode="assign" binding="strong"><bool>false</bool></edit>
<edit name="autohint" mode="assign" binding="strong"><bool>true</bool></edit>
<edit name="hintstyle" mode="assign" binding="strong"><const>hintslight</const></edit>
</match>
<match target="font">
<test name="family" qual="any">
<string>UnGungseo</string>
</test>
<edit name="antialias" mode="assign" binding="strong"><bool>true</bool></edit>
<edit name="hinting" mode="assign" binding="strong"><bool>false</bool></edit>
<edit name="autohint" mode="assign" binding="strong"><bool>true</bool></edit>
<edit name="hintstyle" mode="assign" binding="strong"><const>hintslight</const></edit>
</match>
<match target="font">
<test name="family" qual="any">
<string>UnPilgi</string>
</test>
<edit name="antialias" mode="assign" binding="strong"><bool>true</bool></edit>
<edit name="hinting" mode="assign" binding="strong"><bool>false</bool></edit>
<edit name="autohint" mode="assign" binding="strong"><bool>true</bool></edit>
<edit name="hintstyle" mode="assign" binding="strong"><const>hintslight</const></edit>
</match>
<match target="font">
<test name="family" qual="any">
<string>UnGraphic</string>
</test>
<edit name="antialias" mode="assign" binding="strong"><bool>true</bool></edit>
<edit name="hinting" mode="assign" binding="strong"><bool>false</bool></edit>
<edit name="autohint" mode="assign" binding="strong"><bool>true</bool></edit>
<edit name="hintstyle" mode="assign" binding="strong"><const>hintslight</const></edit>
</match>
</fontconfig>
EOF
}
package() {
cd "$srcdir/un-fonts"
mapfile -d '' _ttfs < <(find . -type f -iname '*.ttf' -print0)
install -Dm644 -t "$pkgdir/usr/share/fonts/TTF/" "${_ttfs[@]}"
install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname/" 'README'
install -Dm644 -t "$pkgdir/usr/share/fontconfig/conf.avail/" "$_fc"
install -d "$pkgdir/usr/share/fontconfig/conf.d/"
ln -s "../conf.avail/$_fc" "$pkgdir/usr/share/fontconfig/conf.d/$_fc"
}
# vim:set ft=sh ts=2 sw=2 et:
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 |