tandem-chat
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:15
source_x86_64=("$pkgname-$pkgver::https://downloads.tandem.chat/linux/rpm/x64")
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 RPM from downloads.tandem.chat (the official vendor domain) and installs it directly. The use of sha512sums='SKIP' means there is no integrity verification — if the vendor's download endpoint were compromised or silently updated, users would receive and execute arbitrary code with no checksum protection. This is a real supply-chain concern: it's an executed binary from an external host with no pinned hash. However, the host is the official vendor domain (not a personal/unofficial host), which reduces but does not eliminate the risk. The SKIP checksum is the primary concern here, making this a legitimate medium-severity finding rather than a false positive.
PKGBUILD
1 offending line(s) highlighted# Maintainer: tekacs <pkg@tekacs.com>
# Maintainer: rafaeldelboni <rafael@delboni.cc>
pkgname=tandem-chat
pkgver=2.2.307
pkgrel=1
pkgdesc='Tandem Chat - a virtual office for remote teams'
arch=('x86_64')
url="https://tandem.chat/"
license=('Proprietary')
options=('!emptydirs' '!strip')
depends=('at-spi2-core' 'gtk3' 'libxtst' 'libnotify' 'nss' 'xdg-utils')
install=${pkgname}.install
source_x86_64=("$pkgname-$pkgver::https://downloads.tandem.chat/linux/rpm/x64")
sha512sums_x86_64=('SKIP')
package() (
mkdir -p "${pkgdir}/opt/"
mkdir -p "${pkgdir}/usr/lib/"
mkdir -p "${pkgdir}/usr/share/"
cp -r "${srcdir}/opt/." "${pkgdir}/opt/"
cp -r "${srcdir}/usr/lib/." "${pkgdir}/usr/lib/"
cp -r "${srcdir}/usr/share/." "${pkgdir}/usr/share/"
)
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 |