Installation¶
ORES ships three deployment artifacts — choose the one that fits your workflow:
| Artifact | What it does | Best for |
|---|---|---|
ores CLI | Evaluate risk from the terminal | Scripts, CI pipelines, local triage |
oresd daemon | Long-running HTTP/ConnectRPC service | SIEM, SOAR, ticketing integrations |
ores.wasm module | Portable WASI binary | Browsers, edge runtimes, sandboxed envs |
You can also embed the scoring engine directly as a Go library — no subprocess or network call needed.
CLI (ores)¶
The ores CLI evaluates risk signals from the terminal, scripts, and CI pipelines.
Prerequisites
None. The CLI is a single, statically linked binary with zero runtime dependencies.
The fastest way to install on macOS or Linux:
Verify:
On Windows, use Scoop:
Verify:
If you have Go 1.25+ on your machine:
Make sure $GOPATH/bin is on your PATH
The binary lands in $GOPATH/bin (typically ~/go/bin). Add it to your shell profile if it is not there already:
Verify:
Pre-built binaries for Linux, macOS, and Windows are attached to every GitHub release.
Verify:
Binaries land in the bin/ directory.
Build prerequisites
Building from source requires Go 1.25+ and Task. See Contributing: Development for the full setup guide.
Verify:
Daemon (oresd)¶
The oresd daemon exposes a long-running ConnectRPC / HTTP service. Use it to integrate ORES into SIEM, SOAR, ticketing, or any system that can make HTTP calls.
WASM Module (ores.wasm)¶
The WASM module lets you embed the ORES engine directly in browsers, edge runtimes, Node.js, Python, or any environment that supports the WASI preview 1 interface.
Runtime requirement
You need a WASI-compatible runtime such as wasmtime, or the Node.js / Python wasmtime package.
Step 1 — Download the module:
Step 2 — Install a WASI runtime (if you don't have one):
Step 3 — Verify:
echo '{"apiVersion":"ores.dev/v1","kind":"EvaluationRequest","signals":{"cvss":{"base_score":7.5}}}' \
| wasmtime ores.wasm
Build WASM from source
The module is written tobin/ores.wasm. Go Library¶
Embed the ORES engine directly in your Go application — no subprocess, no network call.
The primary entry point is the engine package:
import "github.com/rigsecurity/ores/pkg/engine"
eng := engine.New()
result, err := eng.Evaluate(ctx, req)
Full integration walkthrough
See the Go Library Guide for a complete, production-ready example.
Quick Reference¶
| Method | Command | Platforms |
|---|---|---|
| Homebrew | brew install rigsecurity/tap/ores | macOS, Linux |
| Scoop | scoop install ores | Windows |
| deb / rpm | Download from Releases | Linux |
| Go install | go install .../cmd/ores@latest | Any (needs Go) |
| Pre-built binary | Download from Releases | All |
| Docker (daemon) | docker run ghcr.io/rigsecurity/oresd | All |
| Go library | go get github.com/rigsecurity/ores | Any (needs Go) |
| From source | git clone + task build | Any (needs Go) |
Next up: Quickstart — score your first vulnerability in 60 seconds