mangal5-git

maintainer darkgeem · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package builds from source and installs Go tools temporarily for code generation, which is a legitimate build requirement; no untrusted prebuilt binaries or remote code execution are involved.

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 source and installs Go tools temporarily for code generation, which is a legitimate build requirement; no untrusted prebuilt binaries or remote code execution are involved.

2 higher static findings superseded - not the current verdict (shown for transparency)
MEDIUM npm/yarn/pnpm install of an undeclared external package npm_install_external

Runs `npm/yarn/pnpm install <package>` for a package not in source=(), pulling unpinned, unreviewed code at build time. Severity downgraded: the package declares/looks like a Node.js consumer, where build-time installs are expected.

  • PKGBUILD:28 npm i -D openapi-typescript
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:42 go install "github.com/dmarkham/enumer@latest"
  • PKGBUILD:48 go install "github.com/deepmap/oapi-codegen/cmd/oapi-codegen@latest"

PKGBUILD

3 offending line(s) highlighted
1# Maintaner: Darkgeem <darkgeem at pyrokinesis dot fr>
2
3pkgname=mangal5-git
4_pkgname=mangal
5pkgver=5.11.4.r0.g674ef51
6pkgrel=1
7pkgdesc='The most advanced cli manga downloader. (luevano fork / v5 branch)'
8url='https://github.com/luevano/mangal'
9makedepends=('git' 'go' 'just' 'npm')
10license=('MIT')
11arch=('any')
12source=("${_pkgname}::git+${url}.git")
13sha256sums=('SKIP')
14provides=('mangal')
15conflicts=('mangal' 'mangal-bin' 'mangal-git')
16
17pkgver() {
18 cd "${srcdir}/${_pkgname}"
19 # set version to [major].[minor].[patch].r[rel].g[commit]
20 git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
21}
22
23build() {
24 cd "${srcdir}/${_pkgname}"
25 just update
26 # move to webui folder and install the dependencies
27 cd web/ui
28 npm i -D openapi-typescript
29 npm audit fix || true
30 # go back to main folder
31 cd "${srcdir}/${_pkgname}"
32
33 # enumer and oapi-codegen can't be found in aur nor repos...?
34 # installing them in the build directory so they don't leave anything more
35 # than mangal
36 _go_path="${srcdir}/gobuild"
37 _go_bin_path="${_go_path}/bin"
38
39 # only download enumer if not already in the temp gopath
40 if ! test -f "${_go_bin_path}/enumer"; then
41 env GOPATH="${_go_path}" \
42 go install "github.com/dmarkham/enumer@latest"
43 fi
44
45 # only download oapi-codegen if not already in the temp gopath
46 if ! test -f "${_go_bin_path}/oapi-codegen"; then
47 env GOPATH="${_go_path}" \
48 go install "github.com/deepmap/oapi-codegen/cmd/oapi-codegen@latest"
49 fi
50
51 # this step requires the enumer and oapi-codegen binaries
52 env PATH="${PATH}:${_go_bin_path}" just generate
53
54 # builds the binary
55 just build
56}
57
58package() {
59 cd "${srcdir}/${_pkgname}"
60 mkdir -p ${pkgdir}/usr/bin/
61 mv mangal ${pkgdir}/usr/bin/
62 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
63}
64

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