morgen-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:16
source=("${pkgname}_${pkgver}-${pkgrel}.xz::https://dl.todesktop.com/210203cqcj00tw1/versions/${pkgver}/linux/deb/x64" morgen)
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 binary from dl.todesktop.com, which is the official distribution CDN used by ToDesktop (the platform Morgen uses to build and distribute its Electron app). This is the legitimate upstream host for Morgen releases, not a personal or unofficial mirror. However, the concern is real: (1) the source URL is not a GitHub release or a well-known package registry but a commercial build-platform CDN, meaning users must trust ToDesktop's infrastructure; (2) the package() function extracts a nested data.tar.xz from the downloaded .xz without verifying it separately — the b2sum covers the outer archive but the inner tar is extracted directly into pkgdir, which is standard for .deb repackaging but worth noting; (3) a prebuilt Electron binary with no source build is inherently a supply-chain trust decision. The b2sums are present and pin the download, which mitigates substitution attacks significantly. Overall this is a legitimate but non-standard distribution pattern (prebuilt binary from a commercial CDN), which fits the medium category — not a clear attack, but a real supply-chain trust concern that users should be aware of.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Erik Sonnleitner <es at delta-xi dot net>
# Thanks to Aliaksei Zhordachkin <aliaksei.here@gmail.com> for the patch allowing direct version access
pkgname=morgen-bin
pkgver=4.0.1
pkgrel=1
pkgdesc='Morgen is a modern, intuitive and smart calendar application.'
arch=('x86_64')
url='https://morgen.so'
license=('custom')
changelog='ChangeLog'
depends=('libsecret' 'libxss' 'dbus' 'hicolor-icon-theme' 'desktop-file-utils')
provides=('morgen')
conflicts=('morgen3-bin')
source=("${pkgname}_${pkgver}-${pkgrel}.xz::https://dl.todesktop.com/210203cqcj00tw1/versions/${pkgver}/linux/deb/x64" morgen)
b2sums=('c228cef9c86abc30395a43a41d223c521d6d082374459e17066dbaab799cedfbd00adf46898c6cd02b2c4cba8be02cb45627ae8d9064886d1a7b3916dfe5907e'
'ad953f1507c74e71ef2580e8b7c94fe4ea3a77e547f3c459adc7966df84e911fdc35fcf8ca708a28fd42c46999cf395f264333d441da5b4fc7d5644b3779ccdd')
package() {
tar -xJC "${pkgdir}" -f data.tar.xz
install -Dm 755 "${startdir}"/morgen "${pkgdir}"/usr/bin/morgen
}
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 |