jclic
maintainer orphaned
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a source zip from a non-whitelisted but project-related domain (clic.xtec.cat), which is plausibly official; the content is unpacked and installed without executing remote code, and the worst case of a swapped source is limited to tampering with static files or resources, not arbitrary 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 a source zip from a non-whitelisted but project-related domain (clic.xtec.cat), which is plausibly official; the content is unpacked and installed without executing remote code, and the worst case of a swapped source is limited to tampering with static files or resources, not arbitrary 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:15
source=("${pkgname}-${pkgver}.zip::http://clic.xtec.cat/dist/${pkgname}/${pkgname}-${pkgver}.zip")
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: ValHue <vhuelamo at gmail dot com>
2
#
3
# Contributor: Alexander Fehr <pizzapunk gmail com>
4
#
5
pkgname="jclic"
6
pkgver="0.3.2.11"
7
pkgrel="1"
8
pkgdesc="Java applications for educational activities."
9
arch=('any')
10
url="https://clic.xtec.cat/legacy/en/index.html"
11
license=('GPL2')
12
depends=('java-environment')
13
provides=("${pkgname}")
14
15
source=("${pkgname}-${pkgver}.zip::http://clic.xtec.cat/dist/${pkgname}/${pkgname}-${pkgver}.zip")
16
sha256sums=('8cc34322c185c9556a92198f7309f6885165f9742a209097771b9c1fd09daa1f')
17
18
_jclic_desktop="[Desktop Entry]
19
Name=JClic
20
Exec=java -jar /opt/jclic/jclic.jar
21
Icon=/opt/jclic/icons/jclic.png
22
Type=Application
23
GenericName=Educational activities
24
GenericName[fr]=Activités éducatives
25
Comment=Create and organize your library of activities
26
Comment[fr]=Créé et organise votre bibliothèque d'activités
27
Terminal=false
28
Categories=Education;"
29
30
_jclic_author_desktop="[Desktop Entry]
31
Name=JClic author
32
Exec=java -Xmx256m -jar /opt/jclic/jclicauthor.jar
33
Icon=/opt/jclic/icons/author.png
34
Type=Application
35
GenericName=Create educational activities
36
GenericName[fr]=Créer des activités éducatives
37
Comment=Create educational activities
38
Comment[fr]=Créé des activités éducatives
39
Terminal=false
40
Categories=Education;"
41
42
_jclic_reports_desktop="[Desktop Entry]
43
Name=JClic reports
44
Exec=java -jar /opt/jclic/jclicreports.jar
45
Icon=/opt/jclic/icons/reports.png
46
Type=Application
47
GenericName=Results of the educational activities
48
GenericName[fr]=Résultats des activités éducatives
49
Comment=Statistical reports
50
Comment[fr]=Rapports statistique
51
Terminal=false
52
Categories=Education;"
53
54
build() {
55
cd "${srcdir}"
56
echo -e "$_jclic_desktop" | tee jclic.desktop
57
echo -e "$_jclic_author_desktop" | tee jclic-author.desktop
58
echo -e "$_jclic_reports_desktop" | tee jclic-reports.desktop
59
}
60
61
package() {
62
install -d ${pkgdir}/opt
63
cp -r ${srcdir}/${pkgname}-${pkgver} ${pkgdir}/opt/${pkgname}
64
65
install -d ${pkgdir}/usr/share/applications
66
install -m 644 ${srcdir}/*.desktop ${pkgdir}/usr/share/applications/
67
}
68
69
# vim:set ts=4 sw=4 et syn=sh ft=sh:
70
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 |