qgraf
The source is fetched from qgraf.tecnico.ulisboa.pt, which is the official upstream server for the QGRAF Feynman diagram generator maintained by Paulo Nogueira at Instituto Superior Técnico (Lisbon). The anonymous:aur@ credentials are simply HTTP Basic Auth used as a lightweight access gate on the official project server — this is a known pattern for this specific package. The sha256sum is hardcoded, so even if the server were compromised, a tampered tarball would be detected. The build compiles a single Fortran source file (qgraf-$pkgver.f08) with gfortran, which is standard practice. No binaries are downloaded pre-compiled; the compiled artifact is produced locally. The only concern is that the credential-gated URL is slightly non-standard, but it points to the legitimate upstream host and the checksum provides integrity verification. This is sloppy/non-standard packaging (embedding credentials in the URL) but not a genuine supply-chain 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 source is fetched from qgraf.tecnico.ulisboa.pt, which is the official upstream server for the QGRAF Feynman diagram generator maintained by Paulo Nogueira at Instituto Superior Técnico (Lisbon). The anonymous:aur@ credentials are simply HTTP Basic Auth used as a lightweight access gate on the official project server — this is a known pattern for this specific package. The sha256sum is hardcoded, so even if the server were compromised, a tampered tarball would be detected. The build compiles a single Fortran source file (qgraf-$pkgver.f08) with gfortran, which is standard practice. No binaries are downloaded pre-compiled; the compiled artifact is produced locally. The only concern is that the credential-gated URL is slightly non-standard, but it points to the legitimate upstream host and the checksum provides integrity verification. This is sloppy/non-standard packaging (embedding credentials in the URL) but not a genuine supply-chain 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:11
source=("http://anonymous:aur@qgraf.tecnico.ulisboa.pt/links/$pkgname-$pkgver.tgz")
PKGBUILD
1 offending line(s) highlighted# Maintainer: Magnus Schaaf <magnusschaaf plus arch at gmail dot com>
pkgname=qgraf
pkgver=3.6.10
pkgrel=1
pkgdesc="Feynman diagram generator for various types of QFT models"
arch=('x86_64')
url="http://cefema-gt.tecnico.ulisboa.pt/~paulo/qgraf.html"
license=('LicenseRef-qgraf-license')
depends=('glibc' 'gcc-libs')
makedepends=('gcc-fortran')
source=("http://anonymous:aur@qgraf.tecnico.ulisboa.pt/links/$pkgname-$pkgver.tgz")
sha256sums=('6d4b5c6eb97de1942b824d80b8cb454dd77667492d0001e3bf21e761c5702194')
build() {
sed -n 's/^!//p' "$pkgname-$pkgver.f08" > LICENSE
mkdir -p fmodules
gfortran -o "$pkgname" -O2 -J fmodules "$pkgname-$pkgver.f08"
}
package() {
# license
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
# documentation
install -m644 -Dt "$pkgdir/usr/share/doc/$pkgname/" *.pdf
# data
install -m644 -Dt "$pkgdir/usr/share/$pkgname/" *.dat *.sty phi3 qcd qed qedx
# binary
install -Dm755 "$pkgname" "$pkgdir/usr/bin/$pkgname"
}
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 |