Live · AI vulnerability analyst

Your scanner found 147 CVEs.
Freki found only 12 that bite.

Traditional scanners dump CVSS scores and let you drown in noise. Freki is the AI analyst that reads the vulnerability, checks the code path, and tells you which CVEs are actually exploitable in your stack.

2.4s
Avg scan time
93%
Noise eliminated
$0
To start
40 rpm
NIM free tier
How Freki hunts

Three moves. No noise.

A wolf doesn't kill every deer in the forest. It stalks. It picks the one that's weakest. Freki does the same with CVEs.

01 / STALK
STALK

Push a Docker image, a CycloneDX/SPDX SBOM, or a raw package list. Freki pulls fresh CVE data from NVD for every component.

02 / HUNT
HUNT

An LLM reasons about each CVE in context — is the vulnerable code path reachable? Is the required configuration present? Is there a working exploit?

03 / DEVOUR
DEVOUR

You get VEX-formatted verdicts: exploitable, safe, or review — each with a written justification.

Watch it work

Live demo.

Five real packages. Real CVE lookups. Click RUN.

POST /api/v1/scan

Idle. Click RUN to send 5 packages to Freki.
Dead-simple API

One endpoint. Your language.

Freki is a REST API. No SDK to install. No agent to deploy.

curl
python
node.js
curl -X POST https://freki.odinsecurity.ai/api/v1/scan \
  -H "X-API-Key: freki_yourapikey" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "nginx:1.25"
  }'
import httpx

r = httpx.post(
    "https://freki.odinsecurity.ai/api/v1/scan",
    headers={"X-API-Key": "freki_yourapikey"},
    json={"image": "nginx:1.25"},
    timeout=30,
)
scan_id = r.json()["scan_id"]

# Poll until complete
result = httpx.get(
    f"https://freki.odinsecurity.ai/api/v1/scan/{scan_id}",
    headers={"X-API-Key": "freki_yourapikey"},
).json()
print(result["summary"])
const res = await fetch("https://freki.odinsecurity.ai/api/v1/scan", {
  method: "POST",
  headers: {
    "X-API-Key": "freki_yourapikey",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ image: "nginx:1.25" }),
});
const { scan_id } = await res.json();

const result = await fetch(
  `https://freki.odinsecurity.ai/api/v1/scan/${scan_id}`,
  { headers: { "X-API-Key": "freki_yourapikey" } },
).then(r => r.json());
console.log(result.summary);
Start for free

Get your API key.

Free tier. 5 scans per month. No credit card. No sales call.

Pricing

Simple. Honest. Upgrade when you need it.

Free
$0 /forever
  • 5 scans per month
  • Up to 10 packages
  • VEX output
  • Community support
Get free key
Team
$99 /mo
  • 200 scans per month
  • Unlimited packages
  • SSO + audit log
  • Priority support
Subscribe
Enterprise
$299 /mo
  • Unlimited scans
  • Unlimited packages
  • On-prem / air-gap option
  • Dedicated Slack
Subscribe
Where Freki fits

Not another scanner.

Freki isn't trying to replace Trivy or Snyk — it sits on top of them.

Capability Trivy Snyk Freki
Finds known CVEsyesyesyes
CVSS scoringyesyesyes
Exploitability reasoningnopartialAI-driven
Machine-readable VEX outputnonoyes
Written justification per CVEnonoyes
Free tieropen sourcelimitedyes
Self-hostableyesnoEnterprise

Trivy is excellent free software by Aqua Security. Snyk is a great enterprise platform. Freki fills the gap — the layer of reasoning between "found a CVE" and "do I need to page someone at 3am?"

Questions

FAQ.

VEX (Vulnerability Exploitability eXchange) is an OASIS/CISA standard for communicating whether a product is actually affected by a known CVE. Auditors and procurement teams increasingly demand VEX documents. Freki produces them automatically — no human triage needed.

Freki is conservative by design. When uncertain, it returns needs_review rather than guessing. Every verdict comes with an evidence list and a written justification so your security team can verify in seconds rather than hours.

No. Freki receives a package list (name + version + ecosystem) or an SBOM — never source code, secrets, or binaries. Scan records expire and are purged after 24 hours by default.

You get an HTTP 429 with an upgrade link. No surprise charges. No auto-upgrades. Your key keeps working when the next billing period starts.

Yes, on Enterprise. We ship a Docker Compose bundle that runs fully air-gapped against your own NVIDIA NIM deployment. Your data never leaves your network.

By default Freki uses Llama 3.1 70B Instruct hosted on NVIDIA NIM (build.nvidia.com). On Enterprise you can point at any NIM-compatible endpoint — including your own GPU cluster running Mistral, Nemotron, or Qwen.