belenios

maintainer BenjaminVoisin · 2 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package builds from the project's own GitLab repository (INRIA, a research institute), which is a plausible project-owned source; the use of opam to install dependencies is standard for OCaml projects and not inherently malicious, despite the non-whitelisted host and skipped checksum.

Triggered rules

LOW AI review downgraded a static finding 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 the project's own GitLab repository (INRIA, a research institute), which is a plausible project-owned source; the use of opam to install dependencies is standard for OCaml projects and not inherently malicious, despite the non-whitelisted host and skipped checksum.

2 higher static findings superseded - not the current verdict (shown for transparency)
MEDIUM External install via pipx/uv/poetry/cargo/go/gem alt_pkg_manager_install

A non-pip/npm package manager (pipx, uv, poetry, cargo install, go install, gem, conda…) fetches and builds an external package at build time, outside source=() and makepkg's checksums.

  • PKGBUILD:26 opam install --yes --switch=$pkgname base64 hex dune atdgen zarith cryptokit calendar cmdliner sqlite3 csv ocsipersist-sqlite eliom gettext-camomile ocamlnet
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:13 source=( "$pkgname-$pkgver::git+https://gitlab.inria.fr/belenios/belenios.git#tag=$_tag")

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: Your Name <benjamin.voisin@ens-rennes.fr>
2pkgname=belenios
3pkgver=2.5.1
4pkgrel=1
5pkgdesc="State-of-the-art secure, private and verifiable voting system"
6arch=('x86_64')
7url="https://gitlab.inria.fr/belenios/belenios.git"
8license=('GPL')
9groups=()
10depends=('ocaml' 'opam' 'npm' 'nodejs')
11makedepends=('dune' 'git' 'gmp' 'libsodium' 'pkg-config' 'm4' 'sqlite3' 'openssl' 'curl' 'zip' 'unzip' 'ncurses' 'gd' 'cracklib' 'jq' 'sed')
12_tag=55f9dc8ea92a8ff60e4e93d3473bfd496e179616 #git rev-parse $pkgver
13source=( "$pkgname-$pkgver::git+https://gitlab.inria.fr/belenios/belenios.git#tag=$_tag")
14sha256sums=('SKIP')
15
16prepare() {
17 cd "$srcdir/$pkgname-$pkgver"
18 opam init -n > /dev/null
19 if (( $(opam switch list | grep "$pkgname" -c) == "0" )); then
20 echo "Creating the $pkgname switch"
21 opam switch create $pkgname --empty > /dev/null
22 fi
23 opam switch $pkgname
24 eval $(opam env --switch=$pkgname --set-switch)
25 opam switch set-invariant ocaml-base-compiler=4.14.1 --switch=$pkgname > /dev/null
26 opam install --yes --switch=$pkgname base64 hex dune atdgen zarith cryptokit calendar cmdliner sqlite3 csv ocsipersist-sqlite eliom gettext-camomile ocamlnet
27}
28
29build() {
30 cd "$srcdir/$pkgname-$pkgver"
31 eval $(opam env --switch=$pkgname --set-switch)
32 make
33 sed -i "s/nodejs/node/g" frontend/Makefile
34 make build-release-server
35}
36
37package() {
38 cd "$srcdir/$pkgname-$pkgver"
39 cp -r _run/usr $pkgdir/
40}
41
42check() {
43 cd "$srcdir/$pkgname-$pkgver"
44 eval $(opam env --switch=$pkgname --set-switch)
45 make check
46}
47

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 LOW 3
2026-08-02 00:16:08 LOW 3
2026-08-01 00:11:18 LOW 3
2026-07-31 00:14:10 LOW 3
2026-07-30 00:17:23 LOW 3
2026-07-29 00:25:53 LOW 3
2026-07-28 00:07:28 LOW 3
2026-07-27 00:24:32 LOW 3
2026-07-26 00:07:32 LOW 3
2026-07-25 00:13:44 LOW 3
2026-07-24 00:02:28 LOW 3
2026-07-23 00:14:47 LOW 3
2026-07-22 00:29:32 LOW 3
2026-07-21 00:24:15 LOW 3
2026-07-20 00:19:49 LOW 3
2026-07-19 00:17:08 LOW 3
2026-07-18 00:14:48 LOW 3
2026-07-17 00:06:16 LOW 3
2026-07-16 00:05:41 LOW 3
2026-07-15 00:09:25 LOW 3

Report a package

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

0 / 4000
Your suggestion