cellframe-node
The package builds from a legitimate project-owned GitLab instance and includes a Python wheel from the project's own domain; while the wheel's host is not on a standard whitelist, it is part of the project's official infrastructure, and the source is otherwise transparent and verifiable.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package builds from a legitimate project-owned GitLab instance and includes a Python wheel from the project's own domain; while the wheel's host is not on a standard whitelist, it is part of the project's official infrastructure, and the source is otherwise transparent and verifiable.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:21
source=(git+https://gitlab.demlabs.net/cellframe/$pkgname.git#commit=6641a4cddc9c373cf64e85d5f2dd2eafb19dd0e3 -
PKGBUILD:22
https://pub.cellframe.net/python/python-cellframe/pycfhelpers/master/pycfhelpers-1.0.13-py3-none-any.whl
PKGBUILD
2 offending line(s) highlighted# Maintainer: Mika Hyttinen <mika dot hyttinen+arch ät gmail dot com>
pkgname=cellframe-node
pkgver=5.7.41
pkgrel=1
pkgdesc='Cellframe post-quantum blockchain node with SDK'
arch=('x86_64' 'aarch64')
url='https://cellframe.net'
license=('LGPL-3.0-or-later')
makedepends=(git cmake libxslt)
depends=(libxcrypt-compat gcc-libs glibc sqlite python3)
optdepends=('logrotate: For using logrotate to rotate log files')
provides=('cellframe-node' 'cellframe-node-cli' 'cellframe-node-tool' 'cellframe-node-config')
replaces=('cellframe-node-debug')
sha256sums=('SKIP'
'ff01e188b169720d6222cac739786da61496dddb7ff270d68af4b34aae4d3434'
'5fab0cfadc8366ebd2be9d06ff36dbd3a84b18f679ea3babb3c739e7e13acefd'
'cfb98f54679c5f4bcd380b4273731b335abe75dfbb84510654d6a8198b41a5f0'
'9b7be4cb912290ed1164dbc3c5f6714c5a9525cc41a4d7ba3115cdbe312a9320'
'8e880c7559cee668231e4b59a3dddad8ab4a93435b6d8b08dc68b19eded3695d'
'54c6693d76e9ab69d9de1fef9d4a48b1cec16ade86c814a439b1855185e734e2')
source=(git+https://gitlab.demlabs.net/cellframe/$pkgname.git#commit=6641a4cddc9c373cf64e85d5f2dd2eafb19dd0e3
https://pub.cellframe.net/python/python-cellframe/pycfhelpers/master/pycfhelpers-1.0.13-py3-none-any.whl
cellframe-node.logrotate
cellframe-node.service
cellframe-node-tmpfiles.conf
cellframe-node-sysusers.conf
cellframe-node-cli.bash)
options=(!debug !strip)
install=$pkgname.install
_executables=("$pkgname-cli" "$pkgname-tool" "$pkgname" "$pkgname-config")
prepare() {
local patchver="${pkgver##*.}"
sed -i "s|^VERSION_PATCH=.*|VERSION_PATCH=$patchver|" "$srcdir/$pkgname/version.mk"
sed -i 's|url = \.\./\.\./|url = https://gitlab.demlabs.net/|g' "$srcdir/$pkgname/.gitmodules"
sed -i 's|url = \.\./|url = https://gitlab.demlabs.net/cellframe/|g' "$srcdir/$pkgname/.gitmodules"
cd "$pkgname" && git submodule update --init --recursive --progress
}
build() {
cp "$srcdir/$pkgname.service" "$srcdir/$pkgname/dist.linux/share/$pkgname.service"
cd "$pkgname"
local AVX2_SUPPORT=false
if grep -q " avx2" /proc/cpuinfo; then
AVX2_SUPPORT=true
fi
DEFAULT_BUILD_FLAGS="-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DDAP_MANAGE_CFLAGS=OFF \
-Wno-dev"
if [ "$AVX2_SUPPORT" = true ]; then
DEFAULT_BUILD_FLAGS="$DEFAULT_BUILD_FLAGS -DCELLFRAME_NO_OPTIMIZATION=OFF"
else
DEFAULT_BUILD_FLAGS="$DEFAULT_BUILD_FLAGS -DCELLFRAME_NO_OPTIMIZATION=ON"
fi
cmake -B build $DEFAULT_BUILD_FLAGS
cmake --build build --clean-first
}
package() {
cd "$pkgname"
DESTDIR="$pkgdir" cmake --install build
install -Dm644 "$srcdir/$pkgname/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname"
install -Dm644 "$srcdir/$pkgname.logrotate" "$pkgdir/etc/logrotate.d/$pkgname"
install -Dm644 "$srcdir/$pkgname-tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
install -Dm644 "$srcdir/$pkgname-sysusers.conf" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
install -d "$pkgdir/usr/bin"
for executable in "${_executables[@]}"; do
ln -sf "/opt/$pkgname/bin/$executable" "$pkgdir/usr/bin/$executable"
done
install -d "$pkgdir/opt/$pkgname/share/wheels/"
for wheel in "$srcdir"/*.whl; do
install -Dm644 "$wheel" "$pkgdir/opt/$pkgname/share/wheels/"
done
install -Dm644 "$srcdir/cellframe-node-cli.bash" \
"$pkgdir/usr/share/bash-completion/completions/cellframe-node-cli"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |