edrawinfo-bin
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:8
url="https://www.edrawsoft.com/archives/${pkgname/-bin/}-${arch/x86_/}.run.gz"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): The PKGBUILD downloads a prebuilt binary .run installer (compressed with gzip) from edrawsoft.com, which is the official vendor site for EdrawSoft software. The source has a sha256sum checksum, providing integrity verification against the pinned hash. The prepare() function extracts a self-extracting archive by parsing the embedded line offset and unpacking a tarball from within the .run file — this is a standard pattern for makeself-style installers. The resulting binary is then installed to /opt and symlinked into /usr/bin. The concern is that this is a prebuilt proprietary binary from a vendor host with no reproducibility or source audit possible, and the sha256sum only pins one specific version — if edrawsoft.com were to serve a different binary at the same URL (e.g. after a silent update), the checksum would catch it, but only if the URL remains stable. The host is the legitimate upstream vendor (edrawsoft.com), not a personal or unofficial mirror, which reduces but does not eliminate supply-chain risk. Overall this is a standard -bin package pattern for proprietary software: a prebuilt binary from the official vendor, checksummed, installed to /opt. This is medium risk by AUR standards (executed binary, no source audit), but not elevated beyond that.
PKGBUILD
1 offending line(s) highlighted# Maintainer: dszryan <dszryan@local>
pkgname=edrawinfo-bin
pkgver=8.6
pkgrel=3
epoch=1
pkgdesc="Edraw Infographic is a graphic design and data visualization software compatible with different OS."
arch=('x86_64')
url="https://www.edrawsoft.com/archives/${pkgname/-bin/}-${arch/x86_/}.run.gz"
license=('custom:"Copyright EdrawSoft 2004-2018; All Rights Reserved."')
groups=()
depends=(qt5-base)
makedepends=()
checkdepends=()
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=(!strip)
install=
changelog=
source=(
https://www.edrawsoft.com/archives/${pkgname/-bin/}-${arch/x86_/}.run.gz)
sha256sums=(
'6ff695c83de59e3964d607aa52c6ab75321472600013d3877f3fa9d5cf4d4deb')
prepare() {
echo "Extracting files..."
cd "${srcdir}" && mkdir -p "${srcdir}/$pkgname-$pkgver"
grep -a "line=" "${pkgname/-bin/}-${arch/x86_/}.run" | sed "s|line=||g" | xargs -I {} tail -n +{} "${pkgname/-bin/}-${arch/x86_/}.run" > "${pkgname/-bin/}-${arch/x86_/}.tar.gz"
tar zxf "${pkgname/-bin/}-${arch/x86_/}.tar.gz" --directory "${srcdir}/$pkgname-$pkgver" --strip 1
}
check() {
cd "${srcdir}/$pkgname-$pkgver"
}
package() {
mkdir -p \
"$pkgdir/opt/${pkgname/-bin/}" \
"$pkgdir/usr/share/applications/" \
"$pkgdir/usr/share/mime/packages/" \
"$pkgdir/usr/share/icons/gnome/scalable/mimetypes/" \
"$pkgdir/usr/bin/"
cp -R "${srcdir}/$pkgname-$pkgver/." "$pkgdir/opt/${pkgname/-bin/}/"
cp -f "${srcdir}/$pkgname-$pkgver/${pkgname/-bin/}.desktop" "$pkgdir/usr/share/applications/"
cp -f "${srcdir}/$pkgname-$pkgver/${pkgname/-bin/}.png" "$pkgdir/usr/share/icons/edinfo.png"
cp -f "${srcdir}/$pkgname-$pkgver/eddx.svg" "$pkgdir/usr/share/icons/gnome/scalable/mimetypes/edinfo.svg"
cp -f "${srcdir}/$pkgname-$pkgver/${pkgname/-bin/}.xml" "$pkgdir/usr/share/mime/packages/"
ln -fs "/opt/${pkgname/-bin/}/EdrawInfo" "$pkgdir/usr/bin/${pkgname/-bin/}"
sed -i 's|eddx|edinfo|g' "$pkgdir/usr/share/mime/packages/${pkgname/-bin/}.xml"
sed -iE 's|eddx|edinfo|g; s|Icon.*|Icon=/usr/share/icons/edinfo.png|g' "$pkgdir/usr/share/applications/${pkgname/-bin/}.desktop"
}
post_install() {
update-desktop-database /usr/share/applications
update-mime-database /usr/share/mime
gtk-update-icon-cache -f /usr/share/icons/gnome/
ldconfig
}
post_upgrade() {
update-desktop-database /usr/share/applications
update-mime-database /usr/share/mime
gtk-update-icon-cache -f /usr/share/icons/gnome/
ldconfig
}
# vim:set ts=2 sw=2 et:
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 |