ietf-cli
The package downloads source files from the official IETF SVN host, which is plausibly the project's own infrastructure; the files are scripts and configs, not unverifiable prebuilt binaries, and are used directly in a standard build, so the risk is low despite the non-whitelisted domain.
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 source files from the official IETF SVN host, which is plausibly the project's own infrastructure; the files are scripts and configs, not unverifiable prebuilt binaries, and are used directly in a standard build, so the risk is low despite the non-whitelisted domain.
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:18
source=("http://svn.tools.ietf.org/svn/tools/ietf-cli/ietf"
PKGBUILD
1 offending line(s) highlighted# Maintainer: brent s. <bts[at]square-r00t[dot]net>
validpgpkeys=('748231EBCBD808A14F5E85D28C004C2F93481F6B')
# Bug reports can be filed at https://bugs.square-r00t.net/index.php?project=3
# News updates for packages can be followed at https://devblog.square-r00t.net
pkgname=ietf-cli
pkgver=1.14
pkgrel=2
pkgdesc="A commandline IETF RFC browser/utility"
arch=( 'i686' 'x86_64' )
url="https://trac.tools.ietf.org/tools/ietf-cli/"
license=('custom')
depends=( 'python' )
optdepends=( 'lynx: the default web browser specified in the config' )
_pkgname=ietf
install=
changelog=
noextract=()
source=("http://svn.tools.ietf.org/svn/tools/ietf-cli/ietf"
"http://svn.tools.ietf.org/svn/tools/ietf-cli/ietf.config"
"ietf.config.arch"
"http://svn.tools.ietf.org/svn/tools/ietf-cli/ietf.README"
"LICENSE"
"ietf.sig"
"ietf.config.sig"
"ietf.config.arch.sig"
"ietf.README.sig"
"LICENSE.sig")
sha512sums=('cf16db6148c1110c6ff60995ada6354da3227be7ecf5e76df68ee05843a602fd5cf1e9ba1de9128efa84fc1c1e33de69d9db08c58f1cb565bdafe3e76191a6f0'
'68563ec320541618df4a91c942fa7062b34fa71d5761ad68134b92205dc9b6b6d95f20e0db6c8e6bf421d0d255ea15a9b60de1665faa1be9eff6e4eae5462a2a'
'9a0dc6f5a0bdaf15779568e177026f9c40a82b77564adb83eabf0a35e05e13fa070f2ab736fa04734721954169d00d8b4d4621d92138f4dee99fa3ce6076be52'
'871fb110699ecccbab9a96ecbbecbd7f28035fcf2caea6375d776c41ee683b0a38c6b982ce4bbb9441f069e57b225d0c3667db5affa0dbc85d622e6d505a3ca5'
'29dc31d0b0365f8b5037c846eb7f441f38249d25cf7aeba134777dddc422ff9faff92aded93bc03b21b4390153568543b2be0c92d09c667559dd78390654e70e'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP')
prepare() {
# We need to make this a little more package-friendly. Currently uses ("~/bin/ietf.config", "/usr/local/bin/ietf.config", "~/.ietf/ietf.config")
cd ${srcdir}
sed -i -re "s/^ConfigPlaces[[:space:]]*=[[:space:]]*\(.*$/ConfigPlaces = ('~\/.${_pkgname}.config', '~\/.${_pkgname}\/${_pkgname}.config', '\/etc\/${pkgname}\/${_pkgname}.config')/" ${_pkgname}
}
package() {
install -D -m755 ${srcdir}/${_pkgname} ${pkgdir}/usr/bin/${_pkgname}
install -D -m644 ${srcdir}/${_pkgname}.README ${pkgdir}/usr/share/doc/${pkgname}/README
install -D -m644 ${srcdir}/${_pkgname}.config.arch ${pkgdir}/etc/${pkgname}/${_pkgname}.config
install -D -m644 ${srcdir}/${_pkgname}.config ${pkgdir}/usr/share/doc/${pkgname}/${_pkgname}.config
install -D -m644 ${srcdir}/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/WTFPL
}
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 |