git-annex-standalone
The package downloads prebuilt standalone binaries from a non-whitelisted but project-associated host (downloads.kitenet.net), which is a supply-chain risk if the source were swapped; checksums are partially skipped, increasing risk, but the binaries are from the official git-annex infrastructure, mitigating severity.
Triggered rules
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:17
_info_source_x86_64="https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-amd64.tar.gz.info"
orphaned_readopted
This package was orphaned and re-adopted within the last 30 days — a window where ownership transfers can introduce malicious changes.
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package downloads prebuilt standalone binaries from a non-whitelisted but project-associated host (downloads.kitenet.net), which is a supply-chain risk if the source were swapped; checksums are partially skipped, increasing risk, but the binaries are from the official git-annex infrastructure, mitigating severity.
PKGBUILD
1 offending line(s) highlighted# Contributor: Thomas Jost <schnouki@schnouki.net>
# Contributor: Yann Büchau <nobodyinperson at posteo de>
# Contributor: tee < teeaur at duck dot com >
pkgname=git-annex-standalone
pkgver=10.20261006
pkgrel=1
pkgdesc="Manage files with git, without checking their contents into git. Standalone version, with no Haskell dependency."
arch=(x86_64 aarch64)
url="https://git-annex.branchable.com"
license=('custom')
depends=("botan" "bzip2" "file" "git" "glibc" "gmp" "libffi" "libyaml" "lsof" "rsync" "sqlite" "zlib")
depends_aarch64=("libffi7")
provides=("git-annex")
conflicts=("git-annex")
# Fetch info about the last release before setting the source URL
_info_source_x86_64="https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-amd64.tar.gz.info"
_last_info_x86_64=$(curl -s "${_info_source_x86_64}")
_last_sha256_x86_64=$(echo "${_last_info_x86_64}" | awk 'NR==3' | cut -d- -f 4 | cut -d. -f1)
_info_source_aarch64="https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-arm64.tar.gz.info"
_last_info_aarch64=$(curl -s "${_info_source_aarch64}")
_last_sha256_aarch64=$(echo "${_last_info_aarch64}" | awk 'NR==3' | cut -d- -f 4 | cut -d. -f1)
_last_pkgver=$(echo "${_last_info_x86_64}" | awk 'NR==4')
source_x86_64=("git-annex-standalone-amd64-${_last_pkgver}.tar.gz::https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-amd64.tar.gz"
"git-annex-standalone-amd64-${_last_pkgver}.tar.gz.sig::https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-amd64.tar.gz.sig")
source_aarch64=("git-annex-standalone-arm64-${_last_pkgver}.tar.gz::https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-arm64.tar.gz"
"git-annex-standalone-arm64-${_last_pkgver}.tar.gz.sig::https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-arm64.tar.gz.sig")
sha256sums_x86_64=("${_last_sha256_x86_64}"
'SKIP')
sha256sums_aarch64=("${_last_sha256_aarch64}"
'SKIP')
validpgpkeys=("40055C6AFD2D526B2961E78F5EE1DBA789C809CB")
pkgver() {
echo "${_last_pkgver}"
}
package() {
cd "git-annex.linux"
for exe in git-annex git-annex-shell; do
install -Dm755 shimmed/$exe/$exe "$pkgdir/usr/bin/$exe"
done
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm644 logo.svg "$pkgdir/usr/share/pixmaps/git-annex.svg"
install -Dm644 logo_16x16.png "$pkgdir/usr/share/pixmaps/git-annex_16x16.png"
for f in usr/share/man/man1/*.1; do
install -Dm644 $f "$pkgdir/$f"
done
}
# Local Variables:
# pkgbuild-update-sums-on-save: nil
# End:
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Medium | 3 |
| 2026-10-31 00:07:41 | Medium | 3 |
| 2026-10-30 00:29:30 | Medium | 3 |
| 2026-10-29 00:13:55 | Medium | 3 |
| 2026-10-28 00:06:54 | Medium | 3 |
| 2026-10-27 00:23:28 | Medium | 3 |
| 2026-10-26 00:12:40 | Medium | 3 |
| 2026-10-25 00:20:48 | Medium | 3 |
| 2026-10-24 00:14:55 | Medium | 3 |
| 2026-10-23 00:02:19 | Medium | 3 |
| 2026-10-22 00:13:10 | Medium | 3 |
| 2026-10-21 00:12:50 | Medium | 3 |
| 2026-10-20 00:10:31 | Medium | 3 |
| 2026-10-19 00:03:55 | Medium | 3 |
| 2026-10-18 00:06:55 | Medium | 3 |
| 2026-10-17 00:21:55 | Medium | 3 |
| 2026-10-16 00:12:47 | Medium | 3 |
| 2026-10-15 00:28:05 | Medium | 3 |
| 2026-10-14 00:06:47 | Medium | 3 |
| 2026-10-13 00:23:45 | Medium | 3 |