omnara-bin
This PKGBUILD downloads a prebuilt, closed-source proprietary binary from releases.omnara.com (a project-specific but non-standard host) and installs it as an executable at /usr/bin/omnara, also setting it up as a persistent systemd user service that runs on login. The binary is not from a well-known, auditable source (e.g., GitHub releases with provenance), and the host could be compromised or repurposed. The binary runs as a daemon with network access ('After=network.target'), controls AI coding agents, and logs to the user's home directory. There is a sha256sum provided, which mitigates tampering in transit but does not address the trustworthiness of the upstream host or the binary itself. This is a genuine medium-severity supply-chain concern: an opaque binary from a personal/project-specific release host installed system-wide and run persistently as a service.
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:14
source_x86_64=("https://releases.omnara.com/${pkgver}/omnara-linux-x64")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 78%): This PKGBUILD downloads a prebuilt, closed-source proprietary binary from releases.omnara.com (a project-specific but non-standard host) and installs it as an executable at /usr/bin/omnara, also setting it up as a persistent systemd user service that runs on login. The binary is not from a well-known, auditable source (e.g., GitHub releases with provenance), and the host could be compromised or repurposed. The binary runs as a daemon with network access ('After=network.target'), controls AI coding agents, and logs to the user's home directory. There is a sha256sum provided, which mitigates tampering in transit but does not address the trustworthiness of the upstream host or the binary itself. This is a genuine medium-severity supply-chain concern: an opaque binary from a personal/project-specific release host installed system-wide and run persistently as a service.
PKGBUILD
1 offending line(s) highlighted## Maintainer: Nihal Kumar <2tv8xupqg at mozmail dot com>
# https://github.com/nihalxkumar/pkgbuilds
pkgname=omnara-bin
pkgver=0.23.0
pkgrel=1
pkgdesc="Claude Code & Codex AI coding agent — control AI agents from desktop or phone"
arch=('x86_64')
url="https://www.omnara.com/"
license=('custom') # closed-source proprietary binary
provides=('omnara')
conflicts=('omnara')
options=('!strip' '!emptydirs') # prebuilt binary — do not strip
source_x86_64=("https://releases.omnara.com/${pkgver}/omnara-linux-x64")
sha256sums_x86_64=('ec4f1622bf8cc81719af3721881508debebc77621cef891821ddeafb241e505f')
package() {
cd "$srcdir"
# Install the binary to system PATH
install -Dm755 "omnara-linux-x64" "$pkgdir/usr/bin/omnara"
# Systemd user service upstream daemon behavior.
install -Dm644 /dev/stdin "$pkgdir/usr/lib/systemd/user/com.omnara.daemon.service" <<'SERVICE'
[Unit]
Description=Omnara CLI Background Daemon
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/omnara daemon run-service
Restart=on-failure
RestartSec=5
StandardOutput=append:%h/.omnara/logs/daemon/daemon.log
StandardError=append:%h/.omnara/logs/daemon/daemon.log
WorkingDirectory=%h
[Install]
WantedBy=default.target
SERVICE
# Post-install instructions
install -Dm644 /dev/stdin "$pkgdir/usr/share/doc/$pkgname/README.postinst" <<'MSG'
Omnara has been installed system-wide.
# Enable and start the background daemon (required for mobile control):
systemctl --user enable --now com.omnara.daemon.service
# Recommended: keep the daemon alive even when you log out
sudo loginctl enable-linger $USER
# Run Omnara in any project directory
omnara
Logs: ~/.omnara/logs/daemon/daemon.log
MSG
}
post_install() {
cat /usr/share/doc/omnara-bin/README.postinst
}
post_upgrade() {
post_install
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 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 |
| 2026-08-29 00:29:17 | Medium | 2 |