elftosb
The source is fetched via a custom DLAGENT from NXP's official domain using a tool that handles authentication, which is necessary due to the login wall; the checksum is provided and matches the expected file, and the package builds from source, reducing supply-chain risk despite the non-standard host.
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 fetched via a custom DLAGENT from NXP's official domain using a tool that handles authentication, which is necessary due to the login wall; the checksum is provided and matches the expected file, and the package builds from source, reducing supply-chain risk despite the non-standard host.
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:33
"https://www.nxp.com/docs/en/disclaimer/LA_OPT_NXP_SW.html"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Nicolas Stalder <n+archlinux@stalder.io>
# BUILD INSTRUCTIONS
#
# The source for `elftosb` is available behind a login wall.
#
# By default, `nxp-dlagent` is used to fetch, you can avoid the prompts
# by setting `NXP_USERNAME` and `NXP_PASSWORD` for your account.
#
# Alternatively, visit <https://www.nxp.com/webapp/Download?colCode=elftosb_5.1.19&appType=license>,
# accept the license terms, and place the downloaded ZIP file in the same directory as this PKGBUILD.
pkgname=elftosb
pkgver=5.1.19
pkgname_pkgver=${pkgname}_$pkgver
pkgrel=3
pkgdesc="ELF to Secure Binary Utility for NXP MCUs"
url="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuboot-mcu-bootloader-for-nxp-microcontrollers:MCUBOOT"
# could also support 32-bit with some more work
arch=(x86_64)
license=(BSD custom:NXP)
makedepends=(nxp-dlagent)
depends=()
DLAGENTS=(
"nxp::/usr/bin/nxp-dl %u"
# need to add https dlagent back since we are overriding DLAGENTS
'https::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
)
source=(
"elftosb_5.1.19.zip"::"nxp://elftosb_5.1.19"
# This is `v16 October 2020` as of 2020-10-24
"https://www.nxp.com/docs/en/disclaimer/LA_OPT_NXP_SW.html"
)
sha256sums=(
"c5becbe8905ce4002c4bd351ecb585125cf8090c1ae043b324432598707a5d2b"
"1cdeb68e00f98a2764b918c2fa6f2a02c93b03354e84051473f608d79844efde"
)
build() {
cd $srcdir/$pkgname_pkgver/proj/$pkgname
make all
# TODO: there is also source code for
# - encryptgpk
# - keygen
# - sbtool
# for which the makefile is missing. However, there are .vcxproj files
# that seem simple enough to convert to make.
}
package() {
# binary
bld=$srcdir/$pkgname_pkgver/proj/$pkgname/bld/linux
install -Dm 755 $bld/elftosb -t $pkgdir/usr/bin
# licenses:
# - source code itself is BSD-3-Clause, as stated in `SW-Content-Register.txt`
# - no file with the BSD copyright line is included, source files have copyright headers
# - for production use, however, Section 2.3 of the LA_OPT_NXP_SW software license applies
# - subcomponents have various different licenses (MIT, Public Domain, BSD-2-clause, Apache-2.0,...
install -Dm 644 $srcdir/LA_OPT_NXP_SW.html -t $pkgdir/usr/share/licenses/$pkgname/
install -Dm 644 $srcdir/$pkgname_pkgver/SW-Content-Register.txt -t $pkgdir/usr/share/licenses/$pkgname/
# documentation
install -Dm 644 \
$srcdir/$pkgname_pkgver/docs/"elftosb User's Guide.pdf" \
$pkgdir/usr/share/doc/$pkgname/MBOOTELFTOSBUG-rev7-202002.pdf
}
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 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 |
| 2026-08-29 00:29:17 | Low | 2 |