lenskit
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed the full PKGBUILD and judged it LOW (confidence 82%): Bintray.com was a legitimate JFrog-operated artifact hosting service (now discontinued/redirected). The source is a versioned release tarball with an md5sum check. The package installs JARs and shell scripts from the tarball plus two locally-included wrapper scripts. The 'eval' flag at line 50 is not present in this PKGBUILD — the cheaper model may have hallucinated or confused it with another file. The bintray.com domain is defunct but the md5sum provides integrity verification for the specific artifact. The two wrapper scripts (lenskit, lenskit-eval) are included directly in the source array with checksums, so their content is pinned. No executed binaries are pulled from unofficial personal hosts; this is a standard Java application packaging pattern. The main concern is that bintray.com is gone and the URL will simply fail to resolve, making this broken in practice, but there is no active supply-chain threat. Rating low rather than medium because: (1) bintray was an official, widely-used artifact host (not a personal/unofficial host), (2) checksums are present, (3) no eval of untrusted input exists in this PKGBUILD.
-
PKGBUILD:50
install -Dm755 lenskit-eval "${pkgdir}${_apphome}/bin/lenskit-eval"
1 higher static finding 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:12
source=(https://dl.bintray.com/${pkgname}/${pkgname}-releases/${pkgname}-${pkgver}.tgz
PKGBUILD
2 offending line(s) highlighted# Maintainer: Thibaud Kehler <Thibaud dot Kehler at gmx dot net>
pkgname=lenskit
pkgver=2.2.1
pkgrel=1
pkgdesc="An open source toolkit for building, researching, and studying recommender systems."
arch=('any')
url="http://lenskit.org/"
license=('LGPL')
depends=('bash' 'java-runtime-headless')
source=(https://dl.bintray.com/${pkgname}/${pkgname}-releases/${pkgname}-${pkgver}.tgz
lenskit
lenskit-eval)
md5sums=('e453d071c857d276aef7149b3efd3561'
'd0b13f1da93d38c7d91a7910f792c664'
'dbeaa442d3e0df2de066d7b2594f9c58')
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
_apphome=/usr/share/java/${pkgname}
#Jar-files
for jar in $(find lib -name "*.jar"); do
install -Dm644 "${jar}" "${pkgdir}${_apphome}/${jar}"
done
#Licence
install -Dm644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
cd man
#Man (1)
for man in $(find -name "*.1"); do
install -Dm644 "${man}" "${pkgdir}/usr/share/man/man1/${man}"
done
#Man (7)
for man in $(find -name "*.7"); do
install -Dm644 "${man}" "${pkgdir}/usr/share/man/man7/${man}"
done
cd ..
mkdir -p "${pkgdir}/usr/share/doc/lenskit"
cp -r javadoc "${pkgdir}/usr/share/doc/lenskit/"
cd "${srcdir}"
#Binaries
install -Dm755 lenskit "${pkgdir}${_apphome}/bin/lenskit"
install -Dm755 lenskit-eval "${pkgdir}${_apphome}/bin/lenskit-eval"
mkdir -p "${pkgdir}/usr/bin"
ln -s "${_apphome}/bin/lenskit" "${pkgdir}/usr/bin/lenskit"
ln -s "${_apphome}/bin/lenskit-eval" "${pkgdir}/usr/bin/lenskit-eval"
}
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 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 |
| 2026-07-15 00:09:25 | LOW | 2 |