pearson-reader-plus-full-lang
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:24
source=(https://readerplus-download.s3.amazonaws.com/rplus4_desktop_prod_builds/5.2/ReaderPlus_5.2_Desktop_Linux.deb)
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt proprietary Debian binary (.deb) from an AWS S3 bucket (readerplus-download.s3.amazonaws.com) controlled by Pearson (the official vendor), extracts it, and installs the contents directly. The sha256 checksum is present and verified. The concern is that this is a prebuilt executable binary from a third-party S3 host rather than built from source or pulled from an official distribution channel with signing/verification beyond a single checksum. S3 buckets can be misconfigured, taken over, or the URL repurposed if Pearson ever removes the file. However, the host appears to be Pearson's own official distribution infrastructure (readerplus-download.s3.amazonaws.com matches the product name and vendor), making this closer to a legitimate vendor binary than a truly unofficial personal host. The risk is real but modest: a supply-chain compromise would require the S3 bucket itself to be compromised. This pattern (vendor binary from vendor-controlled S3) is common in AUR and is a genuine medium-level concern rather than a false positive, but it is not an active attack.
PKGBUILD
1 offending line(s) highlighted# Maintainer: FraV1982 <consulenza dot vangi at outlook dot com>
pkgname=pearson-reader-plus-full-lang
pkgver=5.2
pkgrel=1
pkgdesc="A simple Reader for Pearson digital books."
arch=('x86_64')
url="https://www.pearson.com/"
license=('custom')
depends=('sdl2' 'unzip' 'tar')
optdepends=(
'chromium: a modern browser for the application to work'
'firefox: a modern browser for the application to work'
'google-chrome: a modern browser for the application to work'
'evince: a pdf viewer'
'epdfview: a pdf viewer'
'qpdfview: a pdf viewer'
'mupdf: a pdf viewer'
)
options=("!emptydirs" "!strip")
_debname=ReaderPlus_5.2_Desktop_Linux.deb
source=(https://readerplus-download.s3.amazonaws.com/rplus4_desktop_prod_builds/5.2/ReaderPlus_5.2_Desktop_Linux.deb)
sha256sums=('4203ab3a02b8fc3179b9528102caff0275fbbfe9f7e81b1eb6bd581e9b4431c8')
prepare() {
cd "$srcdir"
msg2 "Decompressing Debian package..."
ar xv "${_debname}" > /dev/null
tar -xf data.tar.gz > /dev/null
find ./opt -type d -exec chmod 755 '{}' \;
find ./usr -type d -exec chmod 755 '{}' \;
}
package() {
cd "$srcdir"
cp -dpr --no-preserve=ownership {opt,usr} "$pkgdir"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |