drata-agent-bin
maintainer jetm
· 0 votes
· scanned 2026-08-18 00:03:42.021799
LOW
View on AUR ↗
Why flagged
The package installs a prebuilt binary from an official project release on GitHub, which is a common and acceptable practice for Electron apps; the only risk is reliance on an unverifiable binary blob, but it comes from the legitimate upstream source.
Triggered rules
LOW
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
LOW
AI review
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The package installs a prebuilt binary from an official project release on GitHub, which is a common and acceptable practice for Electron apps; the only risk is reliance on an unverifiable binary blob, but it comes from the legitimate upstream source.
PKGBUILD
1
# Maintainer: Javier Tia <floss@jetm.me>
2
_pkgname='Drata Agent'
3
pkgname=drata-agent-bin
4
pkgver=3.9.0
5
pkgrel=1
6
pkgdesc='Tray application reporting read-only machine state for compliance tracking'
7
arch=('x86_64')
8
url='https://github.com/drata/drata-agent'
9
license=('Apache-2.0')
10
# Direct DT_NEEDED of the shipped binary, minus what gtk3 already pulls
11
# transitively (cairo, pango, glib2, at-spi2-core, the libX* stack).
12
# libnotify and libsecret carry no NEEDED entry - Electron dlopen()s both, so
13
# they are visible only as literal sonames inside the binary.
14
depends=('gtk3' 'nss' 'alsa-lib' 'libcups' 'mesa' 'dbus' 'libnotify' 'libsecret'
15
'xdg-utils' 'hicolor-icon-theme')
16
provides=('drata-agent')
17
conflicts=('drata-agent')
18
# The bundled Electron is the point of this package: the AUR `drata-agent`
19
# rebuilds against system electron, which breaks whenever the system major
20
# diverges from the one upstream built against. Keep upstream's runtime intact -
21
# hence !strip, which would otherwise corrupt the prebuilt Electron.
22
options=('!strip' '!emptydirs' '!lto')
23
source=("${pkgname}-${pkgver}.deb::https://github.com/drata/drata-agent/releases/download/${pkgver}/Drata-Agent-linux.deb")
24
sha512sums=('e9dd8971435110646f3e85c35921b5ad85cf50d1d493bc1e41ba1f2813d9bf6eba09273b9ef26f191e73f992319a0049c14c8df5a25835a703194b85c87f7299')
25
26
prepare() {
27
tar -xf data.tar.xz
28
}
29
30
package() {
31
install -dm755 "${pkgdir}/opt"
32
cp -a "${srcdir}/opt/${_pkgname}" "${pkgdir}/opt/${_pkgname}"
33
34
# Upstream's postinst picks 4755 only when the kernel lacks user namespaces.
35
# Arch enables unprivileged userns (kernel.unprivileged_userns_clone=1), so
36
# Electron uses the namespace sandbox and the SUID helper stays unprivileged.
37
chmod 0755 "${pkgdir}/opt/${_pkgname}/chrome-sandbox"
38
39
install -dm755 "${pkgdir}/usr/bin"
40
ln -s "/opt/${_pkgname}/drata-agent" "${pkgdir}/usr/bin/drata-agent"
41
42
# Point Exec at the symlink rather than the quoted /opt path, and keep the
43
# x-scheme-handler MimeType - it is the OAuth callback target.
44
install -Dm644 "${srcdir}/usr/share/applications/drata-agent.desktop" \
45
"${pkgdir}/usr/share/applications/drata-agent.desktop"
46
sed -i 's|^Exec=.*$|Exec=/usr/bin/drata-agent %U|' \
47
"${pkgdir}/usr/share/applications/drata-agent.desktop"
48
49
local size icon
50
for size in 16 32 48 64 128 256 512 1024; do
51
icon="${srcdir}/usr/share/icons/hicolor/${size}x${size}/apps/drata-agent.png"
52
[[ -f ${icon} ]] || continue
53
install -Dm644 "${icon}" \
54
"${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/drata-agent.png"
55
done
56
57
install -Dm644 "${srcdir}/opt/${_pkgname}/LICENSE.electron.txt" \
58
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.electron.txt"
59
install -Dm644 "${srcdir}/opt/${_pkgname}/LICENSES.chromium.html" \
60
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSES.chromium.html"
61
}
62
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-18 00:03:42 | LOW | 2 |
| 2026-08-17 00:18:29 | LOW | 2 |
| 2026-08-16 00:03:42 | LOW | 2 |
| 2026-08-15 00:26:13 | LOW | 2 |
| 2026-08-14 00:03:41 | LOW | 2 |
| 2026-08-13 00:17:07 | LOW | 2 |
| 2026-08-12 00:27:08 | LOW | 2 |
| 2026-08-11 19:21:46 | LOW | 2 |