otrs
The source is a tarball from the project's official community website, used to build the package normally; the host is not whitelisted but is plausibly official, and the content is source code, not an unverifiable binary.
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 source is a tarball from the project's official community website, used to build the package normally; the host is not whitelisted but is plausibly official, and the content is source code, not an unverifiable binary.
2 higher static findings superseded - not the current verdict (shown for transparency)
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:42
"https://otrscommunityedition.com/download/${pkgname}-community-edition-${pkgver}.tar.gz")
privileged_install
The package grants elevated privileges or installs an update path outside pacman: a /etc/sudoers.d rule (often passwordless), a setuid/setgid binary, or a self-update script/service that can fetch and run future code with no checksum verification. The initial install may be verified, but the ongoing privilege + update surface is a real supply-chain / privilege-escalation risk.
-
PKGBUILD:81
find "${pkgdir}/usr/share/webapps/${pkgname}" -type d -exec chmod 2775 {} \;
PKGBUILD
2 offending line(s) highlightedpkgname=otrs
pkgver=6.0.41
pkgrel=1
pkgdesc="OTRS is the leading open-source Help Desk and IT Service Management (ITSM)"
arch=("any")
options=("emptydirs")
url="https://otrscommunityedition.com/"
license=("GPLv3")
depends=("perl"
"perl-gd"
"perl-dbi"
"perl-moo"
"perl-ldap"
"perl-ntlm"
"perl-dbd-pg"
"perl-gdgraph"
"perl-json-xs"
"perl-net-dns"
"perl-datetime"
"perl-timedate"
"perl-pdf-api2"
"perl-dbd-odbc"
"perl-dbd-mysql"
"perl-gdtextutil"
"perl-xml-parser"
"perl-archive-zip"
"perl-text-csv-xs"
"perl-xml-libxslt"
"perl-authen-sasl"
"perl-crypt-ssleay"
"perl-yaml-libyaml"
"perl-mail-imapclient"
"perl-template-toolkit"
"perl-crypt-eksblowfish"
"perl-lwp-protocol-https"
"perl-bytes-random-secure")
optdepends=("mariadb: Fast SQL database server, drop-in replacement for MySQL"
"apache: A high performance Unix-based HTTP server")
backup=("etc/webapps/${pkgname}/Config.pm")
install="${pkgname}.install"
source=("${pkgname}.install"
"https://otrscommunityedition.com/download/${pkgname}-community-edition-${pkgver}.tar.gz")
sha256sums=("cb10dda941c7477880ae06362ef69fe0cfb1d06ad9ad1315cb7322d4dd65963e"
"0303856d6c6b74637aa1a6a1c37bc5315840b54cf3e31a39f7690000bda9b956")
prepare() {
cat << EOL > "${srcdir}/${pkgname}.service"
[Unit]
Description=OTRS Daemon
After=network.target
[Service]
User=otrs
Group=http
Type=simple
ExecStart=/usr/share/webapps/otrs/bin/otrs.Daemon.pl start
ExecStop=/usr/share/webapps/otrs/bin/otrs.Daemon.pl stop
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOL
}
package() {
install -dm 0755 "${pkgdir}/etc/webapps/${pkgname}"
install -dm 0755 "${pkgdir}/usr/share/webapps/${pkgname}"
install -Dm 0644 "${srcdir}/${pkgname}-community-edition-${pkgver}/Kernel/Config.pm.dist" "${pkgdir}/etc/webapps/${pkgname}/Config.pm"
install -Dm 0644 "${srcdir}/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
cp -ra ${srcdir}/${pkgname}-community-edition-${pkgver}/* ${pkgdir}/usr/share/webapps/${pkgname}/
for FILENAME in ${pkgdir}/usr/share/webapps/${pkgname}/var/cron/*.dist
do
mv $FILENAME ${pkgdir}/usr/share/webapps/${pkgname}/var/cron/`basename $FILENAME .dist`
done
ln -s "/etc/webapps/${pkgname}/Config.pm" "${pkgdir}/usr/share/webapps/${pkgname}/Kernel/Config.pm"
find "${pkgdir}/usr/share/webapps/${pkgname}" -type d -exec chmod 2775 {} \;
sed -i "s/\/opt/\/usr\/share\/webapps/g" $(grep -rl "/opt" "${pkgdir}/etc/webapps/${pkgname}")
sed -i "s/\/opt/\/usr\/share\/webapps/g" $(grep -rl "/opt" "${pkgdir}/usr/share/webapps/${pkgname}")
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 3 |
| 2026-09-16 00:03:17 | Low | 3 |
| 2026-09-15 00:25:31 | Low | 3 |
| 2026-09-14 00:27:57 | Low | 3 |
| 2026-09-13 00:19:54 | Low | 3 |
| 2026-09-12 00:25:17 | Low | 3 |
| 2026-09-11 00:19:22 | Low | 3 |
| 2026-09-10 00:22:44 | Low | 3 |
| 2026-09-09 00:04:09 | Low | 3 |
| 2026-09-08 00:18:08 | Low | 3 |
| 2026-09-07 00:30:15 | Low | 3 |
| 2026-09-06 00:17:06 | Low | 3 |
| 2026-09-05 00:16:27 | Low | 3 |
| 2026-09-04 00:03:13 | Low | 3 |
| 2026-09-03 00:15:47 | Low | 3 |
| 2026-09-02 00:02:31 | Low | 3 |
| 2026-09-01 00:11:19 | Low | 3 |
| 2026-08-31 00:19:57 | Low | 3 |
| 2026-08-30 00:04:14 | Low | 3 |
| 2026-08-29 00:29:17 | Low | 3 |