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'
3pkgname=drata-agent-bin
4pkgver=3.9.0
5pkgrel=1
6pkgdesc='Tray application reporting read-only machine state for compliance tracking'
7arch=('x86_64')
8url='https://github.com/drata/drata-agent'
9license=('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.
14depends=('gtk3' 'nss' 'alsa-lib' 'libcups' 'mesa' 'dbus' 'libnotify' 'libsecret'
15 'xdg-utils' 'hicolor-icon-theme')
16provides=('drata-agent')
17conflicts=('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.
22options=('!strip' '!emptydirs' '!lto')
23source=("${pkgname}-${pkgver}.deb::https://github.com/drata/drata-agent/releases/download/${pkgver}/Drata-Agent-linux.deb")
24sha512sums=('e9dd8971435110646f3e85c35921b5ad85cf50d1d493bc1e41ba1f2813d9bf6eba09273b9ef26f191e73f992319a0049c14c8df5a25835a703194b85c87f7299')
25
26prepare() {
27 tar -xf data.tar.xz
28}
29
30package() {
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)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion