azardi
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:19
source=("https://azardi-download.s3.amazonaws.com/$_deb_file_name.deb" -
PKGBUILD:20
"license.html::http://azardi.infogridpacific.com/azardi-license.html")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The package downloads a prebuilt binary .deb from an Amazon S3 bucket (azardi-download.s3.amazonaws.com) controlled by the vendor (Infogrid Pacific), not from the official project website directly. While S3 buckets can be swapped or taken over, sha512 checksums are present and verified, which mitigates the risk significantly. The binaries are extracted and installed directly without recompilation. The S3 bucket appears to be the vendor's own distribution channel (matching the vendor domain infogridpacific.com), making this more of a 'vendor distributes via S3' pattern than a truly unofficial host. However, since it installs prebuilt closed-source binaries from a non-canonical URL (not the project's primary domain), and the package is quite old (2016), there is a residual supply-chain concern. The checksums do provide meaningful protection against substitution attacks. This sits at the lower end of medium — it's a prebuilt binary from what appears to be the vendor's own S3 bucket with checksum verification, which is a common but not ideal packaging pattern.
PKGBUILD
2 offending line(s) highlighted# Maintainer: Roman Beslik <me@beroal.in.ua>
pkgname=azardi
pkgver=43.1
pkgrel=2
arch=("x86_64" "i686")
url="http://azardi.infogridpacific.com/"
pkgdesc="The AZARDI book reader by Infogrid Pacific Pte Ltd."
if [ "$CARCH" = "x86_64" ]; then
_arch_file_name="amd64"
_azardi_deb_hash="3e4ac185f3a975f9ab335e3fe5fa86d693e61af50aba4b3024f06b1c021e119a03728a2b2dbfe1fece394fb4062daed8f4925b25dc18a607762e9360963895de"
fi
if [ "$CARCH" = "i686" ]; then
_arch_file_name="i386"
_azardi_deb_hash="dcc4e5d025dfd4b508d4dd48261cf391839efee99f0b296d01d45a48193256a1cfad44f98e05c31880d11f41f6b0865cb8505c76d2e8f431744e8578f3c09586"
fi
sha512sums=("$_azardi_deb_hash"
"bee8db7a3f93387c6a529db26aa9a5351568d72aa6bc64d8b6ce061bfeaf6a7c73bfacb4b1cb63ca6d6924a83e49e6687f4e42fcacaab2eb845582df6ba280ea")
_deb_file_name="AZARDI_${pkgver}_20160728_$_arch_file_name"
source=("https://azardi-download.s3.amazonaws.com/$_deb_file_name.deb"
"license.html::http://azardi.infogridpacific.com/azardi-license.html")
license=("custom:azardi")
install="_.install"
_src_bin_dir="pkg"
build() {
cd "$srcdir"
FILE_NAME=$(find . -name "data.*")
mkdir --parents "$_src_bin_dir"
tar --extract --auto-compress "--file=$FILE_NAME" -C "$_src_bin_dir"
sed -i "s/Categories=Application;/Categories=Office;Viewer;/" "$_src_bin_dir/usr/share/applications/AZARDI.desktop"
}
package() {
cp -r "$srcdir/$_src_bin_dir"/* "$pkgdir"
# /opt/infogridpacific/azardi/LICENSE is the Mozilla license. WTF?
install --mode=0644 -D "--target-directory=$pkgdir/usr/share/licenses/$pkgname" "$srcdir/license.html"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |