tresorit
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:16
source=("tresorit_installer_${pkgver}.run::https://installerstorage.blob.core.windows.net/public/install/tresorit_installer.run" -
PKGBUILD:17
"check_signature.sh::https://support.tresorit.com/hc/en-us/article_attachments/25125072592530"
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 binary installer from 'installerstorage.blob.core.windows.net', which is Microsoft Azure Blob Storage. This is actually a plausible official distribution channel for Tresorit (a commercial encrypted cloud storage product), as many vendors use Azure CDN/blob storage for their installers. The sha512sum is present and pins the binary, which provides integrity protection against substitution at the CDN level. However, signature verification is explicitly disabled (commented out) due to OpenSSL 3 compatibility issues, meaning the only protection is the sha512sum in the PKGBUILD itself. The installer is a self-extracting archive that gets unpacked and installed to /opt/tresorit, including binaries that will be executed. The concern is real but moderate: the sha512sum provides meaningful protection, the Azure host is consistent with Tresorit's known distribution infrastructure, and the package is for a legitimate commercial product. The disabled cryptographic signature verification is a genuine regression in security posture, but the sha512sum pinning partially compensates. This remains a medium-risk package due to the prebuilt binary from a CDN host with disabled signature verification, though it is not clearly malicious.
PKGBUILD
2 offending line(s) highlighted# Maintainer: Christopher Gertig <hi@chriffpy.de>
# Contributor: Gerardo Junior <me@gerardo-junior.com>
# Contributor: Xaver Hellauer <software@hellauer.bayern>
# Previous Maintainer: Michael Stapelberg <michael@stapelberg.ch>
pkgname=tresorit
pkgver=3.5.1281.4700
pkgrel=1
pkgdesc='Encrypted cloud storage for your confidential files. Using Tresorit, files are encrypted before being uploaded to the cloud. Start encrypting files for free.'
arch=('i686' 'x86_64')
url="http://www.tresorit.com/"
install=tresorit.install
license=('custom:tresorit')
depends=(bash libglvnd)
makedepends=('xxd' 'sed')
source=("tresorit_installer_${pkgver}.run::https://installerstorage.blob.core.windows.net/public/install/tresorit_installer.run"
"check_signature.sh::https://support.tresorit.com/hc/en-us/article_attachments/25125072592530"
"tresorit.service")
sha512sums=('a329ee3e5870481dd357d389da664711230add49c7ba74db04bd0bb0116b6ffde9930e6a320481d4d7d1ee0ed00b2afaa38ede948da16fe81e4faf7e07a817e9'
'73515383174adc51c9da24e6f238e92ede445cbf75d55f927cb51a1a57f630ed95eda2740ac52d2997daf6105f2e22f11591b3208c4296c7d614daaa5f3c57ed'
'58aa3738fd17d5930ed76b9491a3ef0dd481b918f5329b56650e6d77078ad74caeea60c9cf83d524a483a9be7fc41aba2712400922d4ab3db775f1c2a1365765')
prepare() {
# NOTE: signature verification is temporarily disabled because it no longer
# works with OpenSSL 3. I reached out to tresorit via email, asking them to
# update their script to work with OpenSSL 3.
# # Validate signature
# sed -i -- "s/tresorit_installer.run/tresorit_installer_${pkgver}.run/g" check_signature.sh
# chmod u+x check_signature.sh
# VERIFICATION_RESULT=`./check_signature.sh`
# echo "$VERIFICATION_RESULT"
# if [ "$VERIFICATION_RESULT" != "Verified OK" ]; then
# echo " ! Binary signature verification failed"
# exit 1
# fi
SKIP=`head tresorit_installer_${pkgver}.run | grep "^SKIP" | sed 's/SKIP=//'`
mkdir -p tresorit
tail -n+$SKIP tresorit_installer_${pkgver}.run | tar xz -C tresorit
}
package() {
mkdir -p "${pkgdir}/opt/$pkgname"
install -Dm755 ../archlinux_user_install "$pkgdir/opt/tresorit/archlinux_user_install"
install -Dm755 ../systemd_runner "$pkgdir/opt/tresorit/systemd_runner"
install -Dm644 "$srcdir"/tresorit.service "$pkgdir"/usr/lib/systemd/user/tresorit.service
if [ $CARCH == "x86_64" ]; then
cp -r ./tresorit/tresorit_x64/* "$pkgdir/opt/$pkgname"
else
cp -r ./tresorit/tresorit_x86/* "$pkgdir/opt/$pkgname"
fi
desktop="${pkgdir}/opt/tresorit/tresorit.desktop"
# Set Exec
if grep -q '^Exec=' "$desktop"; then
sed -i 's|^Exec=.*|Exec=\$HOME/.local/share/tresorit/tresorit --hidden|' "$desktop"
else
echo 'Exec=$HOME/.local/share/tresorit/tresorit --hidden' >> "$desktop"
fi
# Set Icon
if grep -q '^Icon=' "$desktop"; then
sed -i 's|^Icon=.*|Icon=/opt/tresorit/tresorit.png|' "$desktop"
else
echo 'Icon=/opt/tresorit/tresorit.png' >> "$desktop"
fi
mkdir -p "${pkgdir}"/usr/share/licenses/tresorit
ln -s /opt/tresorit/LICENSES.txt \
"${pkgdir}"/usr/share/licenses/tresorit/LICENSE
}
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 |