Problem: The NetBSD cross-build job references a release candidate that is no longer available from its configured CDN. The macOS and BSD cross-build jobs extract downloaded SDK archives without verifying their contents. The lint image pins its direct Python dependencies, but resolves their transitive dependencies again whenever the image is rebuilt.
Fix: Update the NetBSD SDK, verify downloaded SDK archives against committed hashes, and lock the lint Python dependencies.
<details><summary>Verification</summary>
set -o pipefail
grep -F '9600fa93644df674ee916b5e2c8a6ba8dacf631996a65dc922d003b98b5ea3b1' contrib/macdeploy/README.md
MACOS_SDK_URL=https://bitcoincore.org/depends-sources/sdks/Xcode-26.1.1-17B100-extracted-SDK-with-libcxx-headers.tar
curl -fsSL "$MACOS_SDK_URL" | sha256sum | grep -F '9600fa93644df674ee916b5e2c8a6ba8dacf631996a65dc922d003b98b5ea3b1'
FREEBSD_SDK_URL=https://download.freebsd.org/releases/amd64/15.1-RELEASE/base.txz
curl -fsSL "$FREEBSD_SDK_URL" | sha256sum | grep -F '3768988b151c20f965679062b065c63a977d6bbb9f47fd83695ec2c40790c18f'
NETBSD_SDK_URL=https://cdn.netbsd.org/pub/NetBSD/NetBSD-11.0/amd64/binary/sets
curl -fsSL "$NETBSD_SDK_URL/base.tar.xz" | sha512sum | grep -F 'e8871bbedb8c3e0f696cc2596ced0c1e6497939f725fb3495b8d2c168430325907550f5f840f4dd0e3c73e6090394747c5e54762f2737de81177b984403522a8'
curl -fsSL "$NETBSD_SDK_URL/comp.tar.xz" | sha512sum | grep -F 'd8df6c07e9142dd8189292b769ac312f86185a6a278a752c18c840f7cd3a8dd3c535f9b0c8e06b62d556b2c75b97a01d786184e8a18f5e080ccd213591c8628f'
OPENBSD_SDK_URL=https://cdn.openbsd.org/pub/OpenBSD/7.9/amd64
curl -fsSL "$OPENBSD_SDK_URL/base79.tgz" | sha256sum | grep -F '923d2e03f06408d50d4848334398c6d04b5514dcac7917badfc178a0eef248de'
curl -fsSL "$OPENBSD_SDK_URL/comp79.tgz" | sha256sum | grep -F '21a67af20aebcabf85b09f4206fc95b4cae0a35d42b154b976f0159f457724f9'
UV_PROJECT_ENVIRONMENT=/tmp/bitcoin-core-lint-verify uv sync --project ci/lint --locked --only-group lint
</details>