kotlin-toolchain
The package installs a bootstrap script from JetBrains' official domain that downloads the actual toolchain at runtime; the source host is non-standard but legitimate and the script is from the project's own infrastructure, posing no immediate risk.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package installs a bootstrap script from JetBrains' official domain that downloads the actual toolchain at runtime; the source host is non-standard but legitimate and the script is from the project's own infrastructure, posing no immediate risk.
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:20
source=("kotlin::https://packages.jetbrains.team/maven/p/amper/amper/org/jetbrains/kotlin/kotlin-cli/${pkgver}/kotlin-cli-${pkgver}-wrapper"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Guru <anjanaya@gmail.com>
# Upstream (website): https://kotlin-toolchain.org
# Upstream (source): https://github.com/JetBrains/kotlin-toolchain
#
# This package ships ONLY the official upstream bootstrap wrapper (the same
# script served by `curl -fsSL https://kotl.in/install.sh | sh`), installed as
# /usr/bin/kotlin. On first run it downloads the Kotlin Toolchain distribution
# and a Zulu JDK 25 into ~/.cache/JetBrains/Kotlin/cli, so no Java dependency
# is declared and the heavy (~340 MB) download happens at runtime, per user.
pkgname=kotlin-toolchain
pkgver=0.12.1
pkgrel=1
pkgdesc="JetBrains Kotlin Toolchain CLI (Amper) -- bootstrap wrapper that downloads its own JDK and toolchain distribution on first run"
arch=('any')
url="https://kotlin-toolchain.org"
license=('Apache-2.0')
depends=('curl')
conflicts=('kotlin')
source=("kotlin::https://packages.jetbrains.team/maven/p/amper/amper/org/jetbrains/kotlin/kotlin-cli/${pkgver}/kotlin-cli-${pkgver}-wrapper"
"LICENSE.txt::https://raw.githubusercontent.com/JetBrains/kotlin-toolchain/v${pkgver}/LICENSE.txt"
"NOTICE.txt::https://raw.githubusercontent.com/JetBrains/kotlin-toolchain/v${pkgver}/NOTICE.txt")
noextract=('kotlin')
sha256sums=('1fb20f3195d3a635ced9ddf49d9b6aae40119622c5f995a842fddce5ff2764c2'
'f9a85c61ba4fe8bacc300053b3384b5fc7d9f585a08dc7b9a465b7c0716c4f50'
'c88ce978e9c66bd27e0b301a4950b5cb62919de395420c229077879420adbcf4')
package() {
install -Dm755 "${srcdir}/kotlin" "${pkgdir}/usr/bin/kotlin"
install -Dm644 "${srcdir}/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"
install -Dm644 "${srcdir}/NOTICE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/NOTICE.txt"
}
Changes since previous scan
--- PKGBUILD @ 2026-09-09 00:04+++ PKGBUILD @ 2026-09-17 00:27@@ -9,7 +9,7 @@ # is declared and the heavy (~340 MB) download happens at runtime, per user. pkgname=kotlin-toolchain-pkgver=0.11.1+pkgver=0.12.1 pkgrel=1 pkgdesc="JetBrains Kotlin Toolchain CLI (Amper) -- bootstrap wrapper that downloads its own JDK and toolchain distribution on first run" arch=('any')@@ -21,7 +21,7 @@ "LICENSE.txt::https://raw.githubusercontent.com/JetBrains/kotlin-toolchain/v${pkgver}/LICENSE.txt" "NOTICE.txt::https://raw.githubusercontent.com/JetBrains/kotlin-toolchain/v${pkgver}/NOTICE.txt") noextract=('kotlin')-sha256sums=('6dbcdde0bcae41705c187aefb6c91c6c29ef9079c8072a473c2149151f8d7962'+sha256sums=('1fb20f3195d3a635ced9ddf49d9b6aae40119622c5f995a842fddce5ff2764c2' 'f9a85c61ba4fe8bacc300053b3384b5fc7d9f585a08dc7b9a465b7c0716c4f50' 'c88ce978e9c66bd27e0b301a4950b5cb62919de395420c229077879420adbcf4') Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 07:19:13 | Medium | 1 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |