ecosia-browser-bin
The package downloads a prebuilt Snap binary from the official Snapcraft API, which is a legitimate source for Ecosia Browser; the non-standard host is part of Snapcraft's infrastructure, not a personal or untrusted file host, and the binary is unpacked and installed in a transparent manner without obfuscation or remote code execution.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a prebuilt Snap binary from the official Snapcraft API, which is a legitimate source for Ecosia Browser; the non-standard host is part of Snapcraft's infrastructure, not a personal or untrusted file host, and the binary is unpacked and installed in a transparent manner without obfuscation or remote code execution.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:56
"${pkgname}-${pkgver}-${_snap_revision}.snap::https://api.snapcraft.io/api/v1/snaps/download/${_snap_id}_${_snap_revision}.snap"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Theo <teoulas@duck.com>
pkgname=ecosia-browser-bin
pkgver=152.0.7977.8
pkgrel=1
pkgdesc='Ecosia Browser (prebuilt binary)'
arch=('x86_64')
url='https://www.ecosia.org/browser'
license=('LicenseRef-Proprietary')
depends=(
'alsa-lib'
'at-spi2-core'
'cairo'
'dbus'
'expat'
'glib2'
'glibc'
'gtk3'
'hicolor-icon-theme'
'libcups'
'libgcc'
'libx11'
'libxcb'
'libxcomposite'
'libxdamage'
'libxext'
'libxfixes'
'libxkbcommon'
'libxrandr'
'mesa'
'nspr'
'nss'
'pango'
'shared-mime-info'
'systemd-libs'
'ttf-font'
'xdg-utils'
)
optdepends=(
'gtk4: GTK 4 integration'
'kdialog: native file dialogs under Plasma'
'org.freedesktop.secrets: secure password storage'
'pipewire: WebRTC desktop sharing under Wayland'
'qt5-base: Qt 5 integration'
'qt6-base: Qt 6 integration'
'upower: Battery Status API support'
)
makedepends=('squashfs-tools')
provides=("ecosia-browser=${pkgver}")
conflicts=('ecosia-browser')
options=('!strip' '!debug')
_snap_id='2MakkUunZD1vJLykl5QmmVDQAZdE84wY'
_snap_revision=6
source_x86_64=(
"${pkgname}-${pkgver}-${_snap_revision}.snap::https://api.snapcraft.io/api/v1/snaps/download/${_snap_id}_${_snap_revision}.snap"
)
source=('ecosiabrowser.sh' 'LICENSE')
noextract=("${pkgname}-${pkgver}-${_snap_revision}.snap")
sha256sums=('43dd05c17af7504ed0267b8909e44e3aa1a03b1819415ab1559c143fc8a36efb'
'b744f25f86ee55eb6d3ec5ff5d6c5a88ad55392a49ecf69cee9c669124fbf1f2')
sha256sums_x86_64=('f6951358f1afa48e01dcc97761aaf3fc937bc9cc417e8661dd92c1bebca7d62d')
prepare() {
rm -rf snap-root
unsquashfs -q -d snap-root \
"${pkgname}-${pkgver}-${_snap_revision}.snap" \
opt/ecosia \
usr/share/applications/org.ecosia.Browser.desktop \
app/share/icons/hicolor/scalable/apps/org.ecosia.Browser.svg \
app/share/metainfo/org.ecosia.Browser.metainfo.xml
# The Snap desktop file points at the icon's path inside its confinement.
sed -i 's|^Icon=/app/share/icons/hicolor/scalable/apps/org\.ecosia\.Browser\.svg$|Icon=org.ecosia.Browser|' \
snap-root/usr/share/applications/org.ecosia.Browser.desktop
}
package() {
install -d "${pkgdir}/opt"
cp -a snap-root/opt/ecosia "${pkgdir}/opt/ecosia"
install -Dm755 ecosiabrowser.sh "${pkgdir}/usr/bin/ecosiabrowser"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm644 snap-root/usr/share/applications/org.ecosia.Browser.desktop \
"${pkgdir}/usr/share/applications/org.ecosia.Browser.desktop"
install -Dm644 snap-root/app/share/icons/hicolor/scalable/apps/org.ecosia.Browser.svg \
"${pkgdir}/usr/share/icons/hicolor/scalable/apps/org.ecosia.Browser.svg"
install -Dm644 snap-root/app/share/metainfo/org.ecosia.Browser.metainfo.xml \
"${pkgdir}/usr/share/metainfo/org.ecosia.Browser.metainfo.xml"
}
Changes since previous scan
--- PKGBUILD @ 2026-09-04 00:03+++ PKGBUILD @ 2026-09-17 00:27@@ -1,7 +1,7 @@ # Maintainer: Theo <teoulas@duck.com> pkgname=ecosia-browser-bin-pkgver=150.1.7871.10+pkgver=152.0.7977.8 pkgrel=1 pkgdesc='Ecosia Browser (prebuilt binary)' arch=('x86_64')@@ -18,7 +18,6 @@ 'gtk3' 'hicolor-icon-theme' 'libcups'- 'libdrm' 'libgcc' 'libx11' 'libxcb'@@ -28,7 +27,6 @@ 'libxfixes' 'libxkbcommon' 'libxrandr'- 'libxss' 'mesa' 'nspr' 'nss'@@ -53,14 +51,15 @@ options=('!strip' '!debug') _snap_id='2MakkUunZD1vJLykl5QmmVDQAZdE84wY'-_snap_revision=3+_snap_revision=6 source_x86_64=( "${pkgname}-${pkgver}-${_snap_revision}.snap::https://api.snapcraft.io/api/v1/snaps/download/${_snap_id}_${_snap_revision}.snap" )-source=('ecosiabrowser.sh')+source=('ecosiabrowser.sh' 'LICENSE') noextract=("${pkgname}-${pkgver}-${_snap_revision}.snap")-sha256sums=('43dd05c17af7504ed0267b8909e44e3aa1a03b1819415ab1559c143fc8a36efb')-sha256sums_x86_64=('81385d48b89fb869e9ebb0ad8d46a76c6860395a73e60804611cd20b748c4b75')+sha256sums=('43dd05c17af7504ed0267b8909e44e3aa1a03b1819415ab1559c143fc8a36efb'+ 'b744f25f86ee55eb6d3ec5ff5d6c5a88ad55392a49ecf69cee9c669124fbf1f2')+sha256sums_x86_64=('f6951358f1afa48e01dcc97761aaf3fc937bc9cc417e8661dd92c1bebca7d62d') prepare() { rm -rf snap-root@@ -81,6 +80,7 @@ cp -a snap-root/opt/ecosia "${pkgdir}/opt/ecosia" install -Dm755 ecosiabrowser.sh "${pkgdir}/usr/bin/ecosiabrowser"+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" install -Dm644 snap-root/usr/share/applications/org.ecosia.Browser.desktop \ "${pkgdir}/usr/share/applications/org.ecosia.Browser.desktop" install -Dm644 snap-root/app/share/icons/hicolor/scalable/apps/org.ecosia.Browser.svg \Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 07:57:01 | Medium | 1 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |
| 2026-08-30 00:04:14 | Medium | 2 |