onuri/labs
download →

onuri antivirus · v1.0.12345

Antivirus for
the dev machine.

Onuri scans repositories, files and the commands your AI agents run. It catches what traditional antivirus was never built to see: secrets in git history, poisoned packages, and tampered build pipelines.

macOS 11+ · apple silicon + intel linux x86_64 + arm64 windows later

repo scanner · live now

Every commit. Every lockfile.
Every workflow.

The repo scanner walks your working tree and your full git history, checks every dependency against threat intelligence, and audits the scripts that run on install and in CI.

live
⌗

Secrets, past and present

Regex rules for cloud keys, tokens and private keys, plus entropy detection for the ones no rule knows about. History findings show the commit, author, email and date that introduced the secret, so you know exactly what to rotate.

live
◇

Dependencies you can trust

Lockfile parsers for the major ecosystems. Each package is checked against OSV.dev for malicious and vulnerable versions, against popular-package lists for typosquats, and against the registry to catch hallucinated names.

live
⚑

Tamper detection

Flags npm install scripts, suspicious build scripts, committed git hooks, and GitHub workflows open to pwn-requests, script injection or unpinned actions.

live

Code that lies

Trojan Source bidirectional overrides, invisible unicode, homoglyph identifiers and minified source hiding in a repo that should be readable.

actionable output

Findings you can
actually fix.

No vague "potential risk" warnings. Every finding tells you what was found, where, why it matters and exactly what to do. Secrets are always redacted in output.

fieldexample
idONR-9f2c41ab0e17 · stable across runs
severityCRIT HIGH MED LOW
path · lineconfig/deploy.py:14:9
commitid, author, email, date, summary
fixRevoke the key in IAM, then rotate.
onuri — human output
onuri v1.0.12345 · repo scan · ~/code/app ■ CRIT aws-access-key ONR-9f2c41ab0e17 config/deploy.py:14 commit 3e1a9c0 · jo@acme.dev · 2023-04-11 AWS access key committed, removed later, still recoverable from history. fix › Revoke it in IAM and rotate. ■ LOW gitignore-missing-entry .gitignore `.env` is not ignored, so it can be committed by accident. fix › Add a line `.env` to .gitignore. 2 findings 1 critical 1 low exit 1

the desktop app

A quiet app in your menu bar.

Native, small, and out of your way. Built with Tauri and Rust, not a bundled browser.

▦

Dashboard

Health at a glance with a contribution-style scan history.

≣

Findings

Filter by severity, rule, repo or commit. Suppress with a reason.

⊟

Quarantine

Isolate a suspicious file without deleting it. Restore any time.

⟳

Signed updates

Ed25519-signed releases that install only when you click.

why onuri

Built for how you work.

Onuri AntivirusTraditional antivirusSecret scanners
Secrets in full git history■ yes—■ yes
Malicious & typosquatted packages■ yes——
CI workflow & install-script tampering■ yes——
Trojan Source / invisible unicode■ yes——
Malware file scanning◐ phase 3■ yes—
AI agent command approval◐ phase 4——
SARIF for GitHub code scanning■ yes—varies
Never executes scanned files■ guaranteedsandboxed■ yes
Telemetry■ off by defaultusually onvaries

roadmap

Where Onuri is going.

We ship in phases and say plainly what's done. The goal: a macOS and Linux engine that passes independent lab certification with zero false positives.

Repo scanner

shipped

Secrets and history, tamper checks, dependency intelligence, CLI and SARIF.

Desktop app

shipped

Tray app with dashboard, findings, scans, quarantine and settings.

Threat feeds

in progress

Signed rule and hash bundles from onurilabs.com, OpenSSF malicious-packages and licensed intel.

File scanner

phase 3

On-demand and scheduled malware scans, archive handling within strict limits, quarantine.

Agent guard

phase 4

Hooks for Claude Code, Codex, Cursor and Gemini with an approval pop-up for risky commands.

Real-time protection

phase 5

macOS Endpoint Security and Linux fanotify + eBPF, static ML and cloud reputation.

faq

Questions.

Is Onuri Antivirus free?

Yes, during early access. Paid plans for teams will come with the file scanner and agent guard. Anyone using Onuri during early access will get notice well before anything changes.

Does Onuri upload my code?

No. Scanning happens entirely on your machine. With online checks enabled, Onuri sends package names and versions to OSV.dev and the package registries to look them up — never file contents. Use --offline to turn that off completely.

Can a malicious repo attack the scanner?

That's the threat we design against. Files are only read as bytes, never executed or imported. Hard limits stop zip bombs and huge files, the code has no unsafe, every parser is fuzzed, and configuration lives outside the project so a repo can't turn its own scanning off.

Which platforms are supported?

macOS (Apple silicon and Intel) and Linux (x86_64 and arm64) today. Windows is planned for a later phase.

How do I report a false positive?

In the app, go to settings → feedback and choose "false positive". You can also suppress a finding with .onuriignore or an inline onuri:ignore comment. See the docs.

Does it replace my existing antivirus?

Not yet. Today Onuri covers the developer-specific threats other tools miss. Once the file scanner and real-time protection ship, it's designed to be your only one on macOS and Linux.

Scan your first repo
in under a minute.