pvs-studio-bin
maintainer lapsus
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a source tarball from a project-owned domain (files.pvs-studio.com) which is plausibly official; the download is for the project's own prebuilt binary, checksummed with a fixed sha256, making it a normal AUR package despite the non-whitelisted host.
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 a source tarball from a project-owned domain (files.pvs-studio.com) which is plausibly official; the download is for the project's own prebuilt binary, checksummed with a fixed sha256, making it a normal AUR package despite the non-whitelisted host.
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:20
source=("${_name}.tgz::https://files.${_pkgbase}.com/${_name}.tgz")
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Yakov Till <yakov.till@gmail.com>
2
# Contributor: Razykov Vyacheslav <v.razykov@gmail.com>
3
# Contributor: Marat Moustafine <moustafine-@t-tuta-d.t-io>
4
5
_pkgbase=pvs-studio
6
pkgname=${_pkgbase}-bin
7
pkgver=7.43.107281.803
8
pkgrel=1
9
pkgdesc='Static code analyzer for C and C++'
10
arch=('x86_64')
11
url='https://pvs-studio.com/en/pvs-studio/'
12
license=('LicenseRef-pvs-studio')
13
optdepends=('how-to-use-pvs-studio-free: for adding special comments to a source code'
14
'bash-completion: for bash completion'
15
'strace: for analyzing via using strace logs')
16
options=('!debug')
17
provides=("${_pkgbase}")
18
conflicts=("${_pkgbase}")
19
_name=${_pkgbase}-${pkgver}-x86_64
20
source=("${_name}.tgz::https://files.${_pkgbase}.com/${_name}.tgz")
21
sha256sums=('79c6699ebe446b6b8e63a8331fe1f00a637b6dac1d14a0fef76fec1b9309c083')
22
23
latestver() {
24
local html ver
25
html=$(curl -fsSL -H 'User-Agent: Mozilla/5.0' \
26
'https://pvs-studio.com/en/pvs-studio/download-all/') || return 1
27
ver=$(sed -n "s/.*pvs-studio-\([0-9.]\{1,\}\)-x86_64\\.tgz.*/\\1/p" <<< "$html" |
28
head -n1)
29
if [[ -z $ver ]]; then
30
printf 'Unable to determine latest PVS-Studio version\n' >&2
31
return 1
32
fi
33
printf '%s\n' "$ver"
34
}
35
36
package() {
37
install -Dm755 -t "${pkgdir}/usr/bin" bin/*
38
39
install -Dm644 "etc/bash_completion.d/${_pkgbase}.sh" \
40
"${pkgdir}/usr/share/bash-completion/completions/plog-converter"
41
ln -s plog-converter \
42
"${pkgdir}/usr/share/bash-completion/completions/${_pkgbase}-analyzer"
43
44
install -Dm644 "share/doc/${_pkgbase}/LICENSE" \
45
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
46
}
47
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 |