cronopete-bin
The package downloads a prebuilt binary archive from a non-whitelisted, project-owned host (rastersoft.com), which is not inherently malicious but presents a supply-chain risk if the host were compromised or the download redirected, as the artifact is not independently verifiable.
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=("cronopete-${pkgver}-1-x86_64.pkg.tar.zst::https://www.rastersoft.com/descargas/cronopete/cronopete-${pkgver}-1-x86_64.pkg.tar.zst")
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package downloads a prebuilt binary archive from a non-whitelisted, project-owned host (rastersoft.com), which is not inherently malicious but presents a supply-chain risk if the host were compromised or the download redirected, as the artifact is not independently verifiable.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Yakov Till <yakov.till@gmail.com>
pkgname=cronopete-bin
pkgver=5.1.1
pkgrel=1
pkgdesc="A graphical backup utility based on Apple Time Machine idea."
arch=('x86_64')
url="https://www.rastersoft.com/programas/cronopete.html"
license=('GPL-3.0-or-later')
provides=('cronopete')
conflicts=('cronopete')
# rsync and udisks2 are core runtime requirements, not optional extras.
# gcc-libs is kept intentionally because the upstream binary links libgcc_s/libstdc++.
depends=('dconf' 'gcc-libs' 'gtk3' 'hicolor-icon-theme' 'libayatana-appindicator' 'libgee' 'libnotify' 'rsync' 'udisks2')
options=('!strip' '!debug')
source=("cronopete-${pkgver}-1-x86_64.pkg.tar.zst::https://www.rastersoft.com/descargas/cronopete/cronopete-${pkgver}-1-x86_64.pkg.tar.zst")
sha256sums=('a63701e6aa753596b55da557b5e76822cef0960c504f9a655e7bd5cef9889cae')
latestver() {
# The Arch download link is the version source rather than the page's own
# "version:" text, which is bumped when a release is announced and can sit
# ahead of the artifact. Upstream renames the file on every rebuild, so the
# build counter between the version and the architecture is matched
# generically: pinning it makes the version undetectable as soon as they
# republish without changing the version.
curl -fsSL "${url}" |
grep -oP 'cronopete-\K[0-9]+(\.[0-9]+)+(?=-[0-9]+-x86_64\.pkg\.tar\.zst)' |
sort -V | tail -1
}
package() {
bsdtar -xf "${srcdir}/cronopete-${pkgver}-1-x86_64.pkg.tar.zst" -C "${pkgdir}"
rm -f "${pkgdir}/.BUILDINFO" "${pkgdir}/.MTREE" "${pkgdir}/.PKGINFO"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-26 00:12+++ PKGBUILD @ 2026-11-01 00:21@@ -1,7 +1,7 @@ # Maintainer: Yakov Till <yakov.till@gmail.com> pkgname=cronopete-bin-pkgver=5.1.0+pkgver=5.1.1 pkgrel=1 pkgdesc="A graphical backup utility based on Apple Time Machine idea." arch=('x86_64')@@ -14,11 +14,17 @@ depends=('dconf' 'gcc-libs' 'gtk3' 'hicolor-icon-theme' 'libayatana-appindicator' 'libgee' 'libnotify' 'rsync' 'udisks2') options=('!strip' '!debug') source=("cronopete-${pkgver}-1-x86_64.pkg.tar.zst::https://www.rastersoft.com/descargas/cronopete/cronopete-${pkgver}-1-x86_64.pkg.tar.zst")-sha256sums=('87e1e0b0b550058f72cc2793bdaf12818f7cf20bbe69da07149a08a040c98e8c')+sha256sums=('a63701e6aa753596b55da557b5e76822cef0960c504f9a655e7bd5cef9889cae') latestver() {+ # The Arch download link is the version source rather than the page's own+ # "version:" text, which is bumped when a release is announced and can sit+ # ahead of the artifact. Upstream renames the file on every rebuild, so the+ # build counter between the version and the architecture is matched+ # generically: pinning it makes the version undetectable as soon as they+ # republish without changing the version. curl -fsSL "${url}" |- grep -oP 'cronopete-\K[0-9]+(\.[0-9]+)*(?=-1-x86_64\.pkg\.tar\.zst)' |+ grep -oP 'cronopete-\K[0-9]+(\.[0-9]+)+(?=-[0-9]+-x86_64\.pkg\.tar\.zst)' | sort -V | tail -1 } Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Medium | 2 |
| 2026-10-31 00:07:41 | Medium | 2 |
| 2026-10-30 00:29:30 | Medium | 2 |
| 2026-10-29 00:13:55 | Medium | 2 |
| 2026-10-28 00:06:54 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 23:46:04 | Medium | 2 |
| 2026-10-26 00:12:40 | Medium | 2 |
| 2026-10-25 00:20:48 | Medium | 2 |
| 2026-10-24 00:14:55 | Medium | 2 |
| 2026-10-23 00:02:19 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 00:10:31 | Medium | 2 |
| 2026-10-19 00:03:55 | Medium | 2 |
| 2026-10-18 00:06:55 | Medium | 2 |
| 2026-10-17 00:21:55 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |
| 2026-10-14 00:06:47 | Medium | 2 |