oracle-instantclient-basic
The package downloads a prebuilt binary (Oracle Instant Client) from Oracle's official domain but the URL path includes variables and the host, while legitimate, is not on standard whitelists; however, the checksums are provided and it's a known vendor, reducing risk from arbitrary code execution but still posing a supply-chain risk if the source were compromised.
Triggered rules
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:35
"https://download.oracle.com/otn_software/linux/instantclient/${_urlver}/${_pkgname}-linux.x64-${pkgver}${_pkgver_vendor_suffix}.zip")
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package downloads a prebuilt binary (Oracle Instant Client) from Oracle's official domain but the URL path includes variables and the host, while legitimate, is not on standard whitelists; however, the checksums are provided and it's a known vendor, reducing risk from arbitrary code execution but still posing a supply-chain risk if the source were compromised.
PKGBUILD
1 offending line(s) highlighted# Contributor: Adam Nielsen <malvineous@shikadi.net>
# Contributor: Vitaliy Berdinskikh ur6lad[at]archlinux.org.ua
# Contributor: Andrea Agosti <cifvts@gmail.com>
# Contributor: Charles Clement <caratorn@gmail.com>
# Contributor: Geraldo Augusto Vecchiato <geraldoav@gmail.com>
# Maintainer: Adam Nielsen <malvineous@shikadi.net>
# This package is also available as a Pacman repo, to simplify upgrades.
# Add the following lines to the end of /etc/pacman.conf:
#
# [oracle]
# SigLevel = Optional TrustAll
# Server = http://linux.shikadi.net/arch/$repo/$arch/
#
# Then run `pacman -Sy` then `pacman -S oracle-instantclient-basic`
_pkgname=instantclient-basic
pkgname=oracle-${_pkgname}
pkgver=23.26.3.0.0
_pkgver_vendor_suffix=
_urlver=2326300
_unzippath=instantclient_23_26
pkgrel=1
pkgdesc="Light replacement for the Oracle client (files to run OCI, OCCI and JDBC-OCI programs)"
arch=('x86_64')
url="https://www.oracle.com/at/database/technologies/instant-client/downloads.html"
license=('custom:OTN')
depends=('gcc-libs' 'libaio')
replaces=('instantclient-basic' 'instantclient-basiclite')
options=(!strip)
# These are the only files we want to include in the source package
source=(LICENSE
oracle.sh
"https://download.oracle.com/otn_software/linux/instantclient/${_urlver}/${_pkgname}-linux.x64-${pkgver}${_pkgver_vendor_suffix}.zip")
md5sums=('2d62e22e4f2d7e6d220fafde0f692a7d'
'784005aa31cb56bb2303179d98fccd8e'
'452fa5123bf3f912517a9249bed5ad40')
sha256sums=('f904a30b07ddf7806a33620f93b94c3d315154d26a371ece48695bb3555064a2'
'36b5ab97950f1667403dd9b59c3cad25d8f9e457702feaece835d1bff7c971c9'
'fce485361332927f8328ea4b68d98968c6b0ea124e62470de8c9d0cef880130e')
package() {
cd "$srcdir/${_unzippath}/"
install -d "$pkgdir/usr/bin"
install -d "$pkgdir/usr/lib"
install -m 755 -t "$pkgdir/usr/bin" adrci genezi uidrvci
# Copy files but not symlinks
install -m 755 -t "$pkgdir/usr/lib" `find . -type f -name '*.so*'`
install -m 644 -t "$pkgdir/usr/lib" *.jar
# Copy across the script to set environment variables
install -Dm755 "$srcdir/oracle.sh" "$pkgdir/etc/profile.d/oracle.sh"
# create required symlinks
cd "$pkgdir/usr/lib" || return 1
local lib link
for lib in *.so*; do
link=$lib
while [[ ${link#*.} != so ]]; do
link=${link%.*}
ln -s $lib $link
done
done
install -Dm644 "$srcdir/LICENSE" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE" || return 1
}
Changes since previous scan
--- PKGBUILD @ 2026-09-08 00:18+++ PKGBUILD @ 2026-09-17 00:27@@ -16,9 +16,9 @@ _pkgname=instantclient-basic pkgname=oracle-${_pkgname}-pkgver=23.26.2.0.0+pkgver=23.26.3.0.0 _pkgver_vendor_suffix=-_urlver=2326200v2+_urlver=2326300 _unzippath=instantclient_23_26 pkgrel=1 pkgdesc="Light replacement for the Oracle client (files to run OCI, OCCI and JDBC-OCI programs)"@@ -35,10 +35,10 @@ "https://download.oracle.com/otn_software/linux/instantclient/${_urlver}/${_pkgname}-linux.x64-${pkgver}${_pkgver_vendor_suffix}.zip") md5sums=('2d62e22e4f2d7e6d220fafde0f692a7d' '784005aa31cb56bb2303179d98fccd8e'- 'b89085f179e934ed74551f4b71ddae10')+ '452fa5123bf3f912517a9249bed5ad40') sha256sums=('f904a30b07ddf7806a33620f93b94c3d315154d26a371ece48695bb3555064a2' '36b5ab97950f1667403dd9b59c3cad25d8f9e457702feaece835d1bff7c971c9'- '4c17d54d57db68d7af54009e99e9871a9f068ca93cbf4d81f1a6606f5f28ea05')+ 'fce485361332927f8328ea4b68d98968c6b0ea124e62470de8c9d0cef880130e') package() { cd "$srcdir/${_unzippath}/"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 15:17:32 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |
| 2026-08-30 00:04:14 | Medium | 2 |