irpf
maintainer dbermond
· 49 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The source is a government-official download from a non-whitelisted but plausibly legitimate host for the Brazilian tax software; it is not a swappable personal host, and the package builds from official project binaries.
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 source is a government-official download from a non-whitelisted but plausibly legitimate host for the Brazilian tax software; it is not a swappable personal host, and the package builds from official project binaries.
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:21
source=("https://downloadirpf.receita.fazenda.gov.br/irpf/${pkgver%%.*}/irpf/arquivos/IRPF${pkgver%%.*}-${pkgver#*.}.zip"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer : Daniel Bermond <dbermond@archlinux.org>
2
# Contributor: afterSt0rm <ateles.1@gmail.com>
3
# Contributor: Márcio Sousa Rocha <marciosr10@gmail.com>
4
5
pkgname=irpf
6
pkgver=2026.1.5
7
pkgrel=1
8
pkgdesc='Brazilian physical person income tax (IRPF) program'
9
arch=('any')
10
url='https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/download/pgd/dirpf'
11
license=('LicenseRef-Custom')
12
depends=(
13
'hicolor-icon-theme'
14
'java-runtime=17'
15
'sh')
16
optdepends=(
17
'cups: for print support'
18
'gvfs: for importing pre-filled data from a gov.br account')
19
makedepends=(
20
'icoutils')
21
source=("https://downloadirpf.receita.fazenda.gov.br/irpf/${pkgver%%.*}/irpf/arquivos/IRPF${pkgver%%.*}-${pkgver#*.}.zip"
22
'irpf.desktop'
23
'irpf.sh'
24
'LICENSE')
25
sha256sums=('ae1512c278fbdcb6d9acd3d53e30ff4a441849c9ec8b6fa8dd3696abd40057f1'
26
'eba076c583f758df2d7dcf4b0286987f217b3ddba0e7248a0cadc81f520d7015'
27
'74012beb184f930cedf879cbcb47852e6d571f18ed2c496fc46bd9fe2edbe526'
28
'a406e102e2c10c202bd7a0ba775b004c0f04440544db73ce6923172a62aacd67')
29
30
prepare() {
31
wrestool -x -t 14 -o "IRPF${pkgver%%.*}" "IRPF${pkgver%%.*}/IRPF${pkgver%%.*}.exe"
32
icotool -x -o "IRPF${pkgver%%.*}" "IRPF${pkgver%%.*}/IRPF${pkgver%%.*}.exe"_*_*_*.ico
33
}
34
35
package() {
36
install -D -m755 irpf.sh "${pkgdir}/usr/bin/${pkgname}"
37
install -D -m644 irpf.desktop "${pkgdir}/usr/share/applications/${pkgname}.desktop"
38
install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
39
install -D -m644 "IRPF${pkgver%%.*}"/{{irpf,pgd-updater-*.*.*}.jar,IRPF.acb} -t "${pkgdir}/usr/share/java/${pkgname}"
40
install -D -m644 "IRPF${pkgver%%.*}/Leia-me.htm" -t "${pkgdir}/usr/share/doc/${pkgname}"
41
cp -dr --no-preserve='ownership' "IRPF${pkgver%%.*}/help" "${pkgdir}/usr/share/doc/${pkgname}"
42
cp -dr --no-preserve='ownership' "IRPF${pkgver%%.*}/"lib{,-modulos} "${pkgdir}/usr/share/java/${pkgname}"
43
ln -sr "${pkgdir}/usr/share/doc/${pkgname}/help" "${pkgdir}/usr/share/java/${pkgname}/help"
44
45
local _file
46
local _res
47
while read -r -d '' _file
48
do
49
_res="$(sed 's/\.png$//;s/^.*_//;s/x.*$//' <<< "$_file")"
50
install -D -m644 "$_file" "${pkgdir}/usr/share/icons/hicolor/${_res}x${_res}/apps/${pkgname}.png"
51
done < <(find "IRPF${pkgver%%.*}" -maxdepth 1 -type f -name "IRPF${pkgver%%.*}.exe"_*_*_*_*_*x*x*.png -print0)
52
}
53
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 |