wikijs-rs

maintainer gierens · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD uses 'cargo install' to fetch and compile the 'wikijs' crate directly from crates.io at build/install time, without pinning a specific version hash or using a local source. The pkgver() function dynamically queries crates.io via 'cargo search' to determine the version, meaning the installed version is not reproducibly locked. While crates.io is a legitimate ecosystem registry, this pattern bypasses Arch's normal source integrity checks (no source array, no checksums, no sha256sums), meaning any update to the crate on crates.io — including a compromised one — would be silently installed. This is a genuine supply-chain concern: executed compiled code from an external source with no integrity verification at packaging time. It is not clearly malicious, but it is a real medium-severity supply-chain risk.

Triggered rules

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:21 cargo install --root="$pkgdir" wikijs --features=cli
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 80%): The PKGBUILD uses 'cargo install' to fetch and compile the 'wikijs' crate directly from crates.io at build/install time, without pinning a specific version hash or using a local source. The pkgver() function dynamically queries crates.io via 'cargo search' to determine the version, meaning the installed version is not reproducibly locked. While crates.io is a legitimate ecosystem registry, this pattern bypasses Arch's normal source integrity checks (no source array, no checksums, no sha256sums), meaning any update to the crate on crates.io — including a compromised one — would be silently installed. This is a genuine supply-chain concern: executed compiled code from an external source with no integrity verification at packaging time. It is not clearly malicious, but it is a real medium-severity supply-chain risk.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Sandro-Alessio Gierens <sandro@gierens.de>
2pkgname=wikijs-rs
3pkgver=0.2.1
4pkgrel=1
5makedepends=('rust' 'cargo')
6arch=('i686' 'x86_64' 'armv6h' 'armv7h')
7pkgdesc="CLI client for Wiki.js written in Rust."
8url="https://github.com/gierens/wikijs-rs"
9license=('AGPL-3.0')
10
11build() {
12 return 0
13}
14
15pkgver() {
16 cargo search wikijs | grep "^wikijs " | awk '{print $3}' | tr -d '"'
17}
18
19package() {
20 cd $srcdir
21 cargo install --root="$pkgdir" wikijs --features=cli
22 rm -f "$pkgdir"/.crates.toml
23 rm -f "$pkgdir"/.crates2.json
24 mkdir -p "$pkgdir"/usr
25 mv "$pkgdir"/bin "$pkgdir"/usr/
26}
27

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

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

0 / 4000
Your suggestion