php-browscap
Triggered rules
external_download_not_in_source
curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.
-
PKGBUILD:25
curl -s https://getcomposer.org/installer | php
llm_review
The static rules flagged this HIGH, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it MEDIUM (confidence 85%): The PKGBUILD downloads and executes the Composer installer by piping curl output directly into PHP (curl -s https://getcomposer.org/installer | php) without any integrity verification. This is a well-known but genuinely risky pattern: a MITM attack or compromise of getcomposer.org could execute arbitrary code at build time. However, getcomposer.org is the official, legitimate Composer distribution host, and this bootstrap pattern is widely documented in Composer's own installation instructions. There is no obfuscation, no attacker-controlled host, no exfiltration, and no deliberate malicious intent visible. The risk is medium: sloppy security practice (should use --check or verify the installer hash as Composer's own docs recommend) rather than actual malware. The cheaper model's HIGH rating is a false positive on a known-legitimate but insecure pattern.
1 higher static finding superseded - not the current verdict (shown for transparency)
curl_pipe_shell
curl/wget/fetch output reaches a shell (via pipe, xargs, process substitution, `sh -c "$(…)"`, or `| source`), executing remote code that was never reviewed or checksummed.
-
PKGBUILD:25
curl -s https://getcomposer.org/installer | php
PKGBUILD
1 offending line(s) highlighted# Maintainer: Alex "grevus" Lobtsov <alex@lobtsov.com>
pkgname=php-browscap
pkgver=6.1.0
pkgrel=1
pkgdesc="PHP browscap"
url="http://browscap.org/"
arch=('x86_64' 'i686')
license=('PHP')
depends=(
'php'
'curl'
)
backup=(
'etc/php/conf.d/browscap.ini'
'etc/php/extra/browscap.ini'
)
source=(
https://github.com/browscap/browscap/archive/${pkgver}.tar.gz
browscap.conf.ini
)
build() {
cd "browscap-$pkgver"
curl -s https://getcomposer.org/installer | php
php composer.phar install
bin/browscap build ${pkgver}
}
package() {
cd "browscap-$pkgver"
install -Dm644 build/full_php_browscap.ini "$pkgdir/etc/php/extra/browscap.ini"
install -Dm644 ${srcdir}/browscap.conf.ini "$pkgdir/etc/php/conf.d/browscap.ini"
}
sha256sums=('1d8e7391e6bba2bbd010370a6aea80a0c4e3d7b24f4a8cf287f49677fe51be7c'
'ab973c3fd8d4842430f70d144278c150061b6e2ff77d7b367f9921fa728ad169')
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 3 |
| 2026-08-02 00:16:08 | MEDIUM | 3 |
| 2026-08-01 00:11:18 | MEDIUM | 3 |
| 2026-07-31 00:14:10 | MEDIUM | 3 |
| 2026-07-30 00:17:23 | MEDIUM | 3 |
| 2026-07-29 00:25:53 | MEDIUM | 3 |
| 2026-07-28 00:07:28 | MEDIUM | 3 |
| 2026-07-27 00:24:32 | MEDIUM | 3 |
| 2026-07-26 00:07:32 | MEDIUM | 3 |
| 2026-07-25 00:13:44 | MEDIUM | 3 |
| 2026-07-24 00:02:28 | MEDIUM | 3 |
| 2026-07-23 00:14:47 | MEDIUM | 3 |
| 2026-07-22 00:29:32 | MEDIUM | 3 |
| 2026-07-21 00:24:15 | MEDIUM | 3 |
| 2026-07-20 00:19:49 | MEDIUM | 3 |
| 2026-07-19 00:17:08 | MEDIUM | 3 |
| 2026-07-18 00:14:48 | MEDIUM | 3 |
| 2026-07-17 00:06:16 | MEDIUM | 3 |
| 2026-07-16 00:05:41 | MEDIUM | 3 |
| 2026-07-15 00:09:25 | MEDIUM | 3 |