audible-activator-git
maintainer charleskensy
· 11 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads source code from GitHub and two patches plus a script from ix.io; while ix.io is not a standard host, the files are small, checksummed (except the git source which is SKIP'd but from a trusted project repo), and the installed files are Python scripts and a shell wrapper, not executables, with no evidence of malicious behavior or remote code execution.
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 source code from GitHub and two patches plus a script from ix.io; while ix.io is not a standard host, the files are small, checksummed (except the git source which is SKIP'd but from a trusted project repo), and the installed files are Python scripts and a shell wrapper, not executables, with no evidence of malicious behavior or remote code execution.
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:45
"audible-activator.chromedriverpath.patch::http://ix.io/1TLM"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: dreieck
2
3
_pkgname='audible-activator'
4
pkgname="${_pkgname}-git"
5
epoch=1
6
pkgver=0.2.r1.20210324.79e2cea
7
pkgrel=3
8
pkgdesc="A script to retrieve your activation data (activation_bytes) from Audible servers. Use it to play your aax or aax+ files downloaded from amazon audible. Needs chrome or chromium."
9
url='http://github.com/inAudible-NG/audible-activator'
10
arch=('any')
11
license=('GPL3')
12
13
# install="audible-activator.install"
14
15
backup=()
16
17
# groups=()
18
19
depends=(
20
"python>=3.8"
21
"python-requests"
22
"python-selenium"
23
"python-urllib3"
24
"chromedriver>=83" # For chromedriver and 'chromedriver'-executable. You can also use "chrome" or any other chrome-based browser which provides a supported chromedriver.
25
)
26
27
makedepends=(
28
'git'
29
)
30
31
optdepends=()
32
33
provides=(
34
"${_pkgname}=${pkgver}"
35
)
36
37
conflicts=(
38
"${_pkgname}"
39
)
40
41
_source_base="https://github.com/inAudible-NG/${_pkgname}"
42
43
source=(
44
"${_pkgname}::git+${_source_base}"
45
"audible-activator.chromedriverpath.patch::http://ix.io/1TLM"
46
"disable-chromedriver-headless-in-debug-mode.patch::https://patch-diff.githubusercontent.com/raw/inAudible-NG/audible-activator/pull/53.patch"
47
"fix-no-find_element_by_id-error.patch::https://patch-diff.githubusercontent.com/raw/inAudible-NG/audible-activator/pull/55.patch"
48
"audible-activator.sh::http://ix.io/1TLN"
49
)
50
51
sha256sums=(
52
"SKIP"
53
"d8dbc2b220550d376d4124ff09ccd42aae14245d03f9253bf5da49e684ec85cf"
54
"d673ed35f81218851948aafc3148f15d5fcc4955a9a1e59df0ba334e3f0c067e"
55
"c30bed5d6e22c421508ba61ed0caa2bf4930d74b80c1147951ff627859d1c8c2"
56
"81bbd637e83db4f49c2e5be5b88a220e1908fa757f0a8e499aee6ad13b40489b"
57
)
58
59
prepare() {
60
cd "${srcdir}/${_pkgname}"
61
patch -N -p1 --follow-symlinks -i "${srcdir}/audible-activator.chromedriverpath.patch"
62
patch -N -p1 --follow-symlinks -i "${srcdir}/disable-chromedriver-headless-in-debug-mode.patch"
63
patch -N -p1 --follow-symlinks -i "${srcdir}/fix-no-find_element_by_id-error.patch"
64
}
65
66
pkgver() {
67
cd "${srcdir}/${_pkgname}"
68
69
_ver="$(./audible-activator.py --version | awk '{print $2}')"
70
_rev="$(git rev-list --count HEAD)"
71
_date="$(git log -n 1 --format=tformat:%ci | awk '{print $1}' | tr -d '-')"
72
_hash="$(git rev-parse --short HEAD)"
73
74
if [ -z "${_ver}" ]; then
75
echo "$0: Error: Could not determine version." >&2
76
false
77
return 1
78
fi
79
80
if [ -z "${_rev}" ]; then
81
echo "$0: Error: Could not determine git commit count." >&2
82
false
83
return 1
84
fi
85
86
if [ -z "${_hash}" ]; then
87
echo "$0: Error: Could not determine latest git commit hash." >&2
88
false
89
return 1
90
fi
91
92
if [ -z "${_date}" ]; then
93
echo "$0: Error: Could not determine latest git commit date." >&2
94
false
95
return 1
96
fi
97
98
echo "${_ver}.r${_rev}.${_date}.${_hash}"
99
}
100
101
package() {
102
cd "${srcdir}/${_pkgname}"
103
104
install -v -m755 -d "${pkgdir}/opt/audible-activator"
105
install -v -m755 -d "${pkgdir}/usr/bin"
106
install -v -m755 -d "${pkgdir}/usr/share/doc/${_pkgname}"
107
install -v -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
108
109
for _binfile in AAS-parser.py audible-activator.py common.py extract-activation-bytes.py; do
110
install -v -m755 "${_binfile}" "${pkgdir}/opt/audible-activator/${_binfile}"
111
done
112
113
# for _regularfile in ; do
114
# install -v -m644 "${_regularfile}" "${pkgdir}/opt/audible-activator/${_regularfile}"
115
# done
116
117
install -v -m755 "${srcdir}/audible-activator.sh" "${pkgdir}/usr/bin/audible-activator"
118
119
install -v -m644 README.md "${pkgdir}/usr/share/doc/${_pkgname}/README.md"
120
install -v -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
121
}
122
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 |