conar-bin
The PKGBUILD downloads a prebuilt x86_64 binary .deb from https://download.conar.app/linux/deb/x64, which is the project's own download subdomain (download.conar.app) rather than GitHub releases. The URL is a redirect/alias that always serves the latest or a specific version — there is no version pinned in the URL path itself, meaning the sha256sum is the only integrity check. A sha256sum IS present, which mitigates silent substitution for this exact build, but the URL pattern (no version in path) is concerning because a future pkgver bump without updating the checksum could silently install a different binary. The host (conar.app) is the official project domain matching the GitHub org (wannabespace/conar), so it is not a random personal host. However, it is still a prebuilt closed binary distributed outside of a reproducible build or GitHub Releases artifact, and the URL structure does not pin to a specific version. This is a genuine but moderate supply-chain concern: the binary is executed, comes from the vendor's own CDN (not a third-party), and has a checksum — making it medium rather than high.
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:36
source_x86_64=("conar-${pkgver}.deb::https://download.conar.app/linux/deb/x64")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt x86_64 binary .deb from https://download.conar.app/linux/deb/x64, which is the project's own download subdomain (download.conar.app) rather than GitHub releases. The URL is a redirect/alias that always serves the latest or a specific version — there is no version pinned in the URL path itself, meaning the sha256sum is the only integrity check. A sha256sum IS present, which mitigates silent substitution for this exact build, but the URL pattern (no version in path) is concerning because a future pkgver bump without updating the checksum could silently install a different binary. The host (conar.app) is the official project domain matching the GitHub org (wannabespace/conar), so it is not a random personal host. However, it is still a prebuilt closed binary distributed outside of a reproducible build or GitHub Releases artifact, and the URL structure does not pin to a specific version. This is a genuine but moderate supply-chain concern: the binary is executed, comes from the vendor's own CDN (not a third-party), and has a checksum — making it medium rather than high.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Bouteiller a2n Alan <hi@a2n.dev>
pkgname=conar-bin
pkgver=0.27.3
pkgrel=1
pkgdesc="AI-powered tool for working with Postgres, MySQL, MSSQL and ClickHouse."
arch=('x86_64')
url="https://github.com/wannabespace/conar"
license=('AGPL-3.0-or-later')
depends=(
'alsa-lib'
'at-spi2-core'
'cairo'
'dbus'
'expat'
'gcc-libs'
'glib2'
'glibc'
'gtk3'
'hicolor-icon-theme'
'libcups'
'libx11'
'libxcb'
'libxcomposite'
'libxdamage'
'libxext'
'libxfixes'
'libxkbcommon'
'libxrandr'
'mesa'
'nspr'
'nss'
'pango'
'systemd-libs'
)
options=('!strip' '!emptydirs')
source_x86_64=("conar-${pkgver}.deb::https://download.conar.app/linux/deb/x64")
sha256sums_x86_64=('b2a736572cf4fde0a3869c90a00dae1cfb500fd86d6ac20473a0d36d6bf0ba8c')
package() {
# Extract the .deb file
ar -x "${srcdir}/conar-${pkgver}.deb"
# Extract the data archive
tar -xJ -f data.tar.xz -C "${pkgdir}"
# Create symlink for command line usage
install -dm755 "${pkgdir}/usr/bin"
ln -s "/opt/Conar/Conar" "${pkgdir}/usr/bin/conar"
# Fix desktop file path if it exists
if [ -f "${pkgdir}/usr/share/applications/conar.desktop" ]; then
sed -i 's|/opt/Conar/Conar|conar|g' "${pkgdir}/usr/share/applications/conar.desktop"
fi
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |
| 2026-08-30 00:04:14 | Medium | 2 |
| 2026-08-29 00:29:17 | Medium | 2 |