myanimelist_client
The package installs Ruby gems (myanimelist_client, nokogiri, json) via gem, which is a normal dependency resolution method for Ruby software; these are declared runtime dependencies, not hidden remote code execution, and the source is a GitHub release tarball with a matching checksum.
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 installs Ruby gems (myanimelist_client, nokogiri, json) via gem, which is a normal dependency resolution method for Ruby software; these are declared runtime dependencies, not hidden remote code execution, and the source is a GitHub release tarball with a matching checksum.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:20
gem install myanimelist_client -
PKGBUILD:21
gem install nokogiri -
PKGBUILD:22
gem install json
PKGBUILD
3 offending line(s) highlighted# Maintainer: Akimoge <admin@orosu.eu>
# Contributor: Brostrix
pkgname=myanimelist_client
pkgver=1.0
pkgrel=2
pkgdesc="Simple MyAnimeList client"
arch=('any')
url="http://mal.orosu.eu/"
license=('GPL')
depends=('ruby' 'curl')
optdepends=()
provides=()
source=("https://github.com/Akimoge/myanimelist-client/releases/download/1.0/myanimelist-1.0.tar.gz")
md5sums=('1ac54e1f4ff09420373e4942d88b2a1f')
package() {
mkdir -p ${pkgdir}/etc/mal
cd ${srcdir}
gem install myanimelist_client
gem install nokogiri
gem install json
install -Dm755 anime "${pkgdir}/usr/bin/anime"
install -Dm755 manga "${pkgdir}/usr/bin/manga"
install -Dm644 config.json "${pkgdir}/etc/mal/config.json"
echo "\n Please insert your MAL account details to /etc/mal/config.json \n"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 00:06:47 | Low | 2 |
| 2026-10-13 00:23:45 | Low | 2 |