whoogle
maintainer dr460nf1r3
· 6 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The pip install is part of building the project from its own source code (downloaded from the official GitHub repository), which is a normal and expected step in the build process for Python applications.
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 pip install is part of building the project from its own source code (downloaded from the official GitHub repository), which is a normal and expected step in the build process for Python applications.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
pip install of an external package
pip_install_external
`pip install <package>` fetches an unpinned package from PyPI at build time, outside source=() and makepkg's checksums.
-
PKGBUILD:35
pip install -r requirements.txt
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: dr460nf1r3 <dr460nf1r3 at garudalinux dot org>
2
3
pkgname=whoogle
4
pkgver="1.2.4"
5
pkgrel=2
6
pkgdesc='A self-hosted, ad-free, privacy-respecting metasearch engine'
7
arch=(x86_64 aarch64)
8
url="https://github.com/benbusby/whoogle-search"
9
license=(MIT)
10
depends=(python)
11
makedepends=(python python-pip)
12
optdepends=('tor: use the TOR network to perform searches')
13
conflicts=($pkgname-git)
14
backup=('etc/default/whoogle')
15
source=("$pkgname-$pkgver.tar.gz::https://github.com/benbusby/whoogle-search/archive/refs/tags/v$pkgver.tar.gz"
16
$pkgname
17
$pkgname.conf
18
$pkgname.service)
19
sha256sums=('66db11d022f91c5a68c1690aed4c3c2663cbc9f524e6ce385ce0feeaca82a7ff'
20
'e30ff5ecef199ce2a37b097709461c51ca07bdbbcc4609db74203834b62c60b1'
21
'51cda92f3ad2166eb2cb63ff80561f48b39688a57b66291d2eee5e1c7fcd8ee3'
22
'ab6256f3fdaac3ba58ddbb39bb5c24bde53312f0584ae4ed4ae74bc7752a07f4')
23
install=$pkgname.install
24
25
prepare() {
26
mv $pkgname-search-$pkgver $pkgname-search
27
}
28
29
build() {
30
# Following official instructions
31
cd $pkgname-search
32
python3 -m venv venv
33
source venv/bin/activate
34
35
pip install -r requirements.txt
36
37
# Cleanup unsed files
38
_cleanup=(docs test .dockerignore .gitignore .replit docker-compose.yml Dockerfile heroku.yml MANIFEST.in README.md requirements.txt)
39
for i in "${_cleanup[@]}"; do
40
rm -r "$i"
41
done
42
}
43
44
package() {
45
install -m0644 -D "$srcdir/whoogle" "$pkgdir/etc/default/whoogle"
46
install -m0644 -D "$srcdir/whoogle.conf" "$pkgdir/usr/lib/sysusers.d/whoogle.conf"
47
install -m0644 -D "$srcdir/whoogle.service" "$pkgdir/usr/lib/systemd/system/whoogle.service"
48
install -Dm0644 "$srcdir/$pkgname-search/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
49
install -dm0755 "$pkgdir/opt/whoogle-search"
50
cp -r "$srcdir/whoogle-search/" "$pkgdir/opt/"
51
}
52
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 21:28:26 | MEDIUM | 1 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |