quill-chat

maintainer tekacs · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD downloads a prebuilt RPM binary (an Electron app) from a Google Cloud Storage bucket (storage.googleapis.com) under the quill.chat project namespace and installs it directly. Two concerns: (1) sha256sums='SKIP' means there is no integrity verification whatsoever — the binary could be silently replaced or updated at any time without the PKGBUILD reflecting the change, making reproducibility impossible and supply-chain substitution undetectable; (2) the source is a mutable 'Latest' URL (Quill-Latest.rpm) rather than a versioned/pinned artifact, so the downloaded content may not match pkgver=2020.09.18 at any given time. The host itself (storage.googleapis.com/app-releases-dl.quill.chat) is plausibly the official vendor distribution channel for Quill, so this is not clearly malicious, but the combination of an executed binary, no checksum, and a floating 'Latest' URL constitutes a genuine supply-chain risk. This is a real medium-severity concern, not a false positive.

Triggered rules

MEDIUM source=() URL on a non-standard host 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:14 source=('https://storage.googleapis.com/app-releases-dl.quill.chat/linux/Quill-Latest.rpm')
MEDIUM AI review 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 RPM binary (an Electron app) from a Google Cloud Storage bucket (storage.googleapis.com) under the quill.chat project namespace and installs it directly. Two concerns: (1) sha256sums='SKIP' means there is no integrity verification whatsoever — the binary could be silently replaced or updated at any time without the PKGBUILD reflecting the change, making reproducibility impossible and supply-chain substitution undetectable; (2) the source is a mutable 'Latest' URL (Quill-Latest.rpm) rather than a versioned/pinned artifact, so the downloaded content may not match pkgver=2020.09.18 at any given time. The host itself (storage.googleapis.com/app-releases-dl.quill.chat) is plausibly the official vendor distribution channel for Quill, so this is not clearly malicious, but the combination of an executed binary, no checksum, and a floating 'Latest' URL constitutes a genuine supply-chain risk. This is a real medium-severity concern, not a false positive.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: tekacs <pkg@tekacs.com>
2
3pkgname=quill-chat
4pkgver=2020.09.18
5pkgrel=1
6pkgdesc='Quill - Messaging for groups and teams that stay focused'
7arch=('x86_64')
8url="https://quill.chat/"
9license=('Proprietary')
10options=('!emptydirs' '!strip')
11depends=('at-spi2-core' 'gtk3' 'libxtst' 'libnotify' 'nss' 'xdg-utils')
12optdepends=('ttf-ms-win10: emoji support')
13
14source=('https://storage.googleapis.com/app-releases-dl.quill.chat/linux/Quill-Latest.rpm')
15sha256sums=('SKIP')
16
17package() (
18 mkdir -p "${pkgdir}/opt/"
19 mkdir -p "${pkgdir}/usr/lib/"
20 mkdir -p "${pkgdir}/usr/share/"
21 cp -r "${srcdir}/opt/." "${pkgdir}/opt/"
22 cp -r "${srcdir}/usr/lib/." "${pkgdir}/usr/lib/"
23 cp -r "${srcdir}/usr/share/." "${pkgdir}/usr/share/"
24)
25

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion