lsi-lsa
maintainer sl1pkn07
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads official Broadcom/LSI software and documentation from plausible official domains (broadcom.com, docs.broadcom.com, techdocs.broadcom.com); the non-whitelisted host is a standard subdomain for documentation and downloads, and the content consists of vendor-provided binaries and PDFs, which represent a low risk of malicious code execution when checksums are verified.
Triggered rules
LOW
AI review downgraded a static finding
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 package downloads official Broadcom/LSI software and documentation from plausible official domains (broadcom.com, docs.broadcom.com, techdocs.broadcom.com); the non-whitelisted host is a standard subdomain for documentation and downloads, and the content consists of vendor-provided binaries and PDFs, which represent a low risk of malicious code execution when checksums are verified.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
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:26
'LSI_Storage_Authority_Lightweight_Monitor_User_Guide_rev1.0.pdf::https://docs.broadcom.com/doc/pub-005092' -
PKGBUILD:27
'LSI_Storage_Authority_Software_User_Guide_rev2.15.pdf::https://techdocs.broadcom.com/content/dam/broadcom/techdocs/data-center-solutions/tools/generated-pdfs/DB15-001161-33.pdf'
PKGBUILD
2 offending line(s) highlighted
1
# Maintainer: Gustavo Alvarez <sl1pkn07@gmail.com>
2
3
pkgname=lsi-lsa
4
pkgver=008.012.007.000
5
_mr=8.12 # 7.32 for 85xx series, 8.12 for 86xx series
6
pkgrel=1
7
pkgdesc="LSI Storage Authority Software Suite"
8
arch=('x86_64')
9
url='https://www.broadcom.com/products/storage'
10
license=('custom:Broadcom')
11
depends=(
12
'gcc-libs' # 'libgcc_s.so' 'libstdc++.so'
13
'glibc' # 'libc.so' 'libdl.so' 'libm.so' 'libpthread.so'
14
'openslp' # 'libslp.so'
15
'perl'
16
'bash'
17
'libldap24' # 'libldap-2.4.so'
18
'libxcrypt' 'libcrypt.so'
19
'openssl-1.1' 'libssl.so=1.1' 'libcrypto.so=1.1'
20
'lsi-openpegasus' 'libpegclient.so' 'libpegcommon.so' 'libpeglistener.so'
21
'curl' 'libcurl.so'
22
)
23
makedepends=('patchelf')
24
DLAGENTS=('https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -b "agreement=true" -o %o %u')
25
source=(
26
'LSI_Storage_Authority_Lightweight_Monitor_User_Guide_rev1.0.pdf::https://docs.broadcom.com/doc/pub-005092'
27
'LSI_Storage_Authority_Software_User_Guide_rev2.15.pdf::https://techdocs.broadcom.com/content/dam/broadcom/techdocs/data-center-solutions/tools/generated-pdfs/DB15-001161-33.pdf'
28
"${pkgver}_MR7.32_LSA_Linux.zip::https://docs.broadcom.com/docs-and-downloads/${pkgver}_MR7.32_LSA_Linux.zip"
29
"${pkgver}_MR8.12_LSA_Linux.zip::https://docs.broadcom.com/docs-and-downloads/LSA_Linux_${pkgver}_MR8.12.zip"
30
'lsi_lsa.service'
31
'lsa_launcher.sh'
32
)
33
sha256sums=(
34
'5196f542b52457abb94bce4e069005543a7e748270b7b673e5afa669e7af2e03'
35
'42d6ba73101efcbea9e354d60b7bdc5f4e3c48639e285a9858e454541b3b7f2f'
36
'58c139353c6ac1a3b75cd351a4a37d08acda7df3b3b31a03ade3cd5ac5db22a3'
37
'ab1edfe9986870a3607160f9ef08a4df7ba462590620b2424b00453b4fadee07'
38
'5d65b855b7d38192ef8fd0ce34cab567efd5f9af922c080876a10e96a62b0b17'
39
'1df03403bc1d780797f0eba59d85b1941a1c77f911d9e7d5d5ae4f288e52663a'
40
)
41
install=lsi-lsa.install
42
backup=(
43
'opt/lsi/LSIStorageAuthority/installtype'
44
'opt/lsi/LSIStorageAuthority/conf/LSA.conf'
45
'opt/lsi/LSIStorageAuthority/server/conf/nginx.conf'
46
'opt/lsi/LSIStorageAuthority/conf/monitor/config-current.json'
47
)
48
options=('!strip')
49
if [ "${_mr}" = "7.32" ]; then
50
noextract=("${pkgver}_MR8.12_LSA_Linux.zip")
51
fi
52
if [ "${_mr}" = "8.12" ]; then
53
noextract=("${pkgver}_MR7.32_LSA_Linux.zip")
54
fi
55
56
_create_links() {
57
# create soname links
58
find "${pkgdir}" -type f -name '*.so*' -print0 | while read -d $'\0' _lib; do
59
_soname=$(dirname "${_lib}")/$(readelf -d "${_lib}" | grep -Po 'SONAME.*: \[\K[^]]*' || true)
60
_base=$(echo ${_soname} | sed -r 's/(.*)\.so.*/\1.so/')
61
[[ -e "${_soname}" ]] || ln -s $(basename "${_lib}") "${_soname}"
62
[[ -e "${_base}" ]] || ln -s $(basename "${_soname}") "${_base}"
63
done
64
}
65
66
package() {
67
cd "${pkgdir}"
68
69
# Extract LSA RPM
70
[ "${_mr}" = "7.32" ] && (cd ${srcdir}; mkdir LSA_Linux; cd LSA_Linux; bsdtar -xf "${srcdir}/webgui_rel/LSA_Linux.zip")
71
for i in $(find "${srcdir}/LSA_Linux/gcc_11.2.x" -type f -name "LSIStorageAuthority-${pkgver}*.rpm"); do bsdtar -xf "${i}"; done # &> /dev/null
72
73
# Remove unused stuff (include bundled openpegasus libs)
74
rm -fr etc \
75
opt/lsi/LSIStorageAuthority/uninstaller.sh \
76
opt/lsi/LSIStorageAuthority/logs/* \
77
opt/lsi/LSIStorageAuthority/server/start.log \
78
opt/lsi/LSIStorageAuthority/server/logs/* \
79
opt/lsi/LSIStorageAuthority/bin/*peg*.so* \
80
opt/lsi/LSIStorageAuthority/bin/libcurl* \
81
usr/lib/.build-id
82
83
# Set RPATH
84
patchelf --set-rpath /opt/lsi/LSIStorageAuthority/bin opt/lsi/LSIStorageAuthority/bin/libpluginmanager.so
85
patchelf --set-rpath /opt/lsi/LSIStorageAuthority/bin opt/lsi/LSIStorageAuthority/bin/libhttpcgi.so
86
patchelf --set-rpath /opt/lsi/LSIStorageAuthority/bin opt/lsi/LSIStorageAuthority/bin/libutility.so
87
patchelf --set-rpath /opt/lsi/LSIStorageAuthority/bin opt/lsi/LSIStorageAuthority/bin/slp_deregister
88
patchelf --set-rpath /opt/lsi/LSIStorageAuthority/bin opt/lsi/LSIStorageAuthority/bin/LSA
89
patchelf --set-rpath /opt/lsi/LSIStorageAuthority/bin opt/lsi/LSIStorageAuthority/plugins/libcacheinit.so
90
patchelf --set-rpath /opt/lsi/LSIStorageAuthority/bin opt/lsi/LSIStorageAuthority/plugins/libgateway.so
91
patchelf --set-rpath /opt/lsi/LSIStorageAuthority/bin opt/lsi/LSIStorageAuthority/plugins/librepository.so
92
patchelf --set-rpath /opt/lsi/LSIStorageAuthority/bin opt/lsi/LSIStorageAuthority/plugins/libserverdiscovery.so
93
patchelf --set-rpath "/opt/lsi/LSIStorageAuthority/bin:/opt/lsi/LSIStorageAuthority/plugins" opt/lsi/LSIStorageAuthority/plugins/libmonitor.so
94
95
# Install Service
96
install -Dm644 "${srcdir}/lsi_lsa.service" usr/lib/systemd/system/lsi_lsa.service
97
98
# LSA launcher
99
install -Dm755 "${srcdir}/lsa_launcher.sh" opt/lsi/LSIStorageAuthority/bin/lsa_launcher.sh
100
101
# Install Docs
102
install -Dm644 "${srcdir}/LSI_Storage_Authority_Lightweight_Monitor_User_Guide_rev1.0.pdf" "usr/share/doc/${pkgname}/LSI_Storage_Authority_Lightweight_Monitor_User_Guide.pdf"
103
install -Dm644 "${srcdir}/LSI_Storage_Authority_Software_User_Guide_rev2.15.pdf" "usr/share/doc/${pkgname}/LSI_Storage_Authority_Software_User_Guide.pdf"
104
install -Dm644 "${srcdir}/LSA_Linux/LSA_Linux_64_readme.txt" "usr/share/doc/${pkgname}/LSA_Linux_readme.txt"
105
106
# Configure the port server/client: 2463 for bundled nginx server & 9009 for LSA client
107
# NOTE: Some programs, like youtube-mpv-git [AUR], uses the port 9000 (used by default in LSA client).
108
# this interfiere with this software, for this, i've change the port 9000 to 9009.
109
sed -e 's|nginx_default|2463|g' \
110
-e 's|LSA_Default|9009|g' \
111
-i opt/lsi/LSIStorageAuthority/server/conf/nginx.conf \
112
-i opt/lsi/LSIStorageAuthority/conf/LSA.conf
113
sed 's|9000|9009|g' \
114
-i opt/lsi/LSIStorageAuthority/conf/LSA.conf \
115
-i usr/share/doc/lsi-lsa/LSA_Linux_readme.txt
116
117
# Setup type
118
echo gateway > opt/lsi/LSIStorageAuthority/installtype
119
120
# Install licenses
121
install -d "usr/share/licenses/${pkgname}/"
122
cat "${srcdir}/LSA_Linux/gcc_11.2.x/install.sh" | sed -n '22,72p' | sed -e 's|echo "||g' -e 's|^"||g' -e 's| "$||g' -e 's|"$||g' > "usr/share/licenses/${pkgname}/LICENSE"
123
124
# Create soname links
125
_create_links
126
127
# Fix the LSA.conf mess
128
sed -e 's|c:\\program files\\lsi\\lsistorageauthority\\|..|g' \
129
-e 's|C:\\Program Files\\LSI\\LSIStorageAuthority\\|..|g' \
130
-e 's|Administrators|root|g' \
131
-e 's|Authenticated U|u|g' \
132
-i opt/lsi/LSIStorageAuthority/conf/LSA.conf
133
chmod 755 opt/lsi/LSIStorageAuthority/conf/LSA.conf
134
135
# Fix Help documentation UTF-8 path
136
sed 's|%E2%80%93|-|g' -i opt/lsi/LSIStorageAuthority/server/html/help/integratedraid/content/*
137
for _i in opt/lsi/LSIStorageAuthority/server/html/help/integratedraid/content/*.png; do
138
[[ "${_i}" != "${_i/–/-}" ]] && mv ${_i} ${_i/–/-}; true
139
done
140
}
141
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 |