Cisco Foundation AI Releases Antares: 350M and 1B Open-Weight Models That Localize Known Vulnerabilities Inside Real Codebases

Cisco Foundation AI has released Antares, a family of security small language models (SLMs) built for one narrow security task. The task is vulnerability localization. Given a vulnerability description and a repository, find the files containing the flaw.

Two models are open-weight and available now on Hugging Face, Antares-350M and Antares-1B. Both are Apache 2.0. Cisco team also shipped the Vulnerability Localization Benchmark (VLoc Bench), a 500-task agentic evaluation, under the same license.

The main result is not a new state of the art. It is that a 1B model reaches 0.209 File F1. GPT-5.5 reaches 0.229, and a 753B open-weight model reaches 0.186.

The problem Antares is scoped to

Software security depends on connecting external vulnerability knowledge to internal source code. That knowledge lives in public databases, advisories, and Common Weakness Enumerations. The code lives in repositories that are large, modular, and dependency-rich.

Connecting the two is expensive. Devs search unfamiliar code, follow naming conventions, inspect call paths, and compare candidate files. Cisco’s framing is that this first triage step is where the cost concentrates.

Antares does not replace the application security toolchain. Cisco is explicit about this. Dev teams still need dependency scanning, secret scanning, dynamic testing, container checks, threat modeling, and expert review.

Understanding the Models

Antares consists of three decoder-only transformers at 350M, 1B, and 3B parameters. All three initialize from IBM Granite 4.0 checkpoints. They share a tokenizer and architecture: grouped-query attention, SwiGLU MLPs, RMSNorm, RoPE, and shared input/output embeddings.

ModelParamsBase checkpointContextLayers / hidden / KV headsStatusAntares-350M350MGranite 4.0 350M32K28 / 1024 / 4Open weightsAntares-1B1.6BGranite 4.0 1B128K40 / 2048 / 4Open weightsAntares-3B3BGranite 4.0 Micro128KNot publishedNot released

How the Agent Loop Works

Antares is not evaluated as a standalone sequence model. It runs inside a constrained loop with three tools.

The model receives a CWE category description and nothing else. No advisory text, no file hints, no severity details. It then issues read-only terminal commands against a Docker sandbox with networking disabled. Command output is truncated to 2,000 characters before entering the transcript.

The budget is 15 terminal calls per task. The model terminates by calling submit_vulnerable_files with a ranked list, or submit_no_vulnerability_found. The submission itself does not count against the budget.

Output is a ranked list of file paths plus the exploration trace that produced it.

What VLoc Bench measures

VLoc Bench draws 500 tasks from 290 unique real-world repositories. Sources are public GitHub Security Advisories across six ecosystems: npm, pip, Maven, Go, Rust, and Composer. It covers 147 unique CWE categories, and 78% of entries carry assigned CVE identifiers.

Ground truth is derived from the security patch. Files modified in the fix are labels, with tests, docs, and configuration excluded.

The benchmark has two phases:

Phase A gives the model the vulnerable snapshot and scores File F1.

Phase B gives the patched snapshot and scores True Negative Rate, testing whether the model raises a false alarm on fixed code.

(function(){var f=document.getElementById(“mtp-antares-explainer-frame”);if(!f)return;
window.addEventListener(“message”,function(e){var d=e.data;
if(d&&typeof d===”object”&&d.mtpAntaresExplainerHeight){var h=parseInt(d.mtpAntaresExplainerHeight,10);
if(h>200&&h