gctpc
The cheaper model's concern is overblown. ftp.cpc.ncep.noaa.gov is an official NOAA/NCEP (National Centers for Environmental Prediction) government FTP server — a legitimate, authoritative US government scientific data host. The wgrib2 tarball is the well-known NOAA wgrib2 package which bundles gctpc20a.tgz internally; this is a standard pattern for packages that extract a sub-component from a larger official distribution. The md5sum is pinned, providing integrity verification. The Makefile is a local file also checksummed. The build extracts the nested gctpc tarball and compiles only C source into a static library — no binary blobs are executed, no scripts from the downloaded archive are run. The only real concern is that the source is a large bundle (wgrib2) from which only a sub-component is used, and the URL uses http rather than https, but neither constitutes a supply-chain attack. This is sloppy/non-standard packaging (using a bundled tarball from a related project rather than a direct upstream source) but not a security risk.
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 cheaper model's concern is overblown. ftp.cpc.ncep.noaa.gov is an official NOAA/NCEP (National Centers for Environmental Prediction) government FTP server — a legitimate, authoritative US government scientific data host. The wgrib2 tarball is the well-known NOAA wgrib2 package which bundles gctpc20a.tgz internally; this is a standard pattern for packages that extract a sub-component from a larger official distribution. The md5sum is pinned, providing integrity verification. The Makefile is a local file also checksummed. The build extracts the nested gctpc tarball and compiles only C source into a static library — no binary blobs are executed, no scripts from the downloaded archive are run. The only real concern is that the source is a large bundle (wgrib2) from which only a sub-component is used, and the URL uses http rather than https, but neither constitutes a supply-chain attack. This is sloppy/non-standard packaging (using a bundled tarball from a related project rather than a direct upstream source) but not a security risk.
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:10
source=(http://www.ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/wgrib2.tgz.v2.0.8
PKGBUILD
1 offending line(s) highlighted# Contributor: Graziano Giuliani <graziano.giuliani@gmail.com>
pkgname=gctpc
pkgver=20a
pkgrel=3
pkgdesc="Software library for geolocation written by the USGS"
arch=("i686" "x86_64")
url="https://www.ngs.noaa.gov/PUBS_LIB/GeneralCartographicTransformationPackage_v2_TR_NOS124_CGS9.pdf"
options=('staticlibs')
license=('custom')
source=(http://www.ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/wgrib2.tgz.v2.0.8
Makefile)
md5sums=('3d56cbed5de8c460d304bf2206abc8d3'
'baa2859f793a797b6e22525b0a74091c')
build() {
cd ${srcdir}/grib2
tar zxvf gctpc20a.tgz
cd ${pkgname}/source
CC=gcc make -f ${srcdir}/Makefile
}
package() {
cd ${srcdir}/grib2/${pkgname}/source
mkdir -p ${pkgdir}/usr/{lib,include/gctpc,share/licenses/gctpc}
base=${srcdir}/grib2/${pkgname}
install -Dm644 ${base}/source/proj.h ${pkgdir}/usr/include/gctpc
install -Dm644 ${base}/source/cproj.h ${pkgdir}/usr/include/gctpc
install -Dm644 ${base}/source/libgeo.a ${pkgdir}/usr/lib
install -Dm644 ${base}/announce.txt ${pkgdir}/usr/share/licenses/gctpc/licence
}
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 |