Scaling Cyber Security Skills With AI
Listen to the summary
Uses a voice available on your device
Audio options
On this page 5 sections
Related concepts 4 concepts
Key Takeaways
- OpenAegis achieves a 52.4% Pass@1 rate on the CyberGym benchmark.
- The model outperforms the Qwen 3.5 base model by 22.8 percentage points on CyberGym.
- A vulnerability-analysis skill can increase teacher model performance while simultaneously reducing the time required per attempt from 60 minutes to 15 minutes.
- The framework synthesizes training trajectories using vulnerability artifacts from ARVO, OSS-Fuzz, and real-world CVE data.
Summary & Methodology Analysis
CyberFactory provides a unified approach to building security-focused agents by connecting data construction, trajectory synthesis, and model training. The researchers source Proof of Concept (PoC) construction instances from three primary origins: ARVO (20 instances), OSS-Fuzz (4 instances), and vulnerabilities identified in the wild. These instances serve as the foundation for creating executable and verifiable task instances that guide the model through source code inspection and evidence-based validation. The framework uses agentic supervision, where the model interacts with tools and environments and adjusts its approach based on execution feedback to generate refined training trajectories. Supervised fine-tuning (a training process where a pre-trained model is further trained on a specific dataset) is then performed to finalize the OpenAegis model.
Interactive System Flowchart
Illustrative Implementation
A short sketch of the paper's core idea, not the authors' own code.
# Illustrative sketch (not from the paper)
import torch
from torch import nn, optim
# 1. Convert a CVE entry into an executable task instance
def cve_to_task(cve_json):
# placeholder: extract source code snippet and expected exploit goal
return {"code": cve_json["snippet"], "goal": cve_json["goal"]}
# 2. Vulnerability‑analysis skill (teacher) that inspects source and proposes a solution
def vulnerability_analysis_skill(task, prior):
# use domain prior (e.g., common patterns) to draft an exploit
solution = f"apply {prior} to {task['code']}"
return solution
# 3. Agentic supervision loop: execute solution, collect feedback, revise
def agentic_supervision(task, teacher, tool_exec, max_steps=3):
solution = teacher(task, prior="buffer_overflow")
for _ in range(max_steps):
success, evidence = tool_exec(solution, task)
if success:
return solution, evidence
# revise based on negative feedback
solution = teacher(task, prior="use_after_free")
return solution, None
# 4. Structured context compaction (simplify trajectory for training)
def compact_trajectory(solution, evidence):
# keep only essential tokens: solution and key evidence snippet
return {"solution": solution, "evidence": evidence[:200]}
# 5. Supervised fine‑tuning of OpenAegis on compacted trajectories
class OpenAegis(nn.Module):
def __init__(self, base_model):
super().__init__()
self.backbone = base_model
self.head = nn.Linear(base_model.hidden_size, base_model.vocab_size)
def forward(self, x):
return self.head(self.backbone(x))
# Mock training loop
def train(model, trajectories, epochs=1):
opt = optim.Adam(model.parameters(), lr=1e-5)
loss_fn = nn.CrossEntropyLoss()
for epoch in range(epochs):
for traj in trajectories:
inputs = torch.tensor(traj["input_ids"])
labels = torch.tensor(traj["target_ids"])
logits = model(inputs)
loss = loss_fn(logits.view(-1, logits.size(-1)), labels.view(-1))
loss.backward()
opt.step()
opt.zero_grad()
// Illustrative sketch (not from the paper)
const tf = require('@tensorflow/tfjs-node');
// 1. Transform CVE JSON into an executable task instance
function cveToTask(cve) {
// placeholder extraction
return { code: cve.snippet, goal: cve.goal };
}
// 2. Vulnerability‑analysis skill (teacher) using a domain prior
function vulnerabilityAnalysisSkill(task, prior) {
// draft a simple exploit based on prior pattern
return `apply ${prior} to ${task.code}`;
}
// 3. Agentic supervision loop with tool execution feedback
async function agenticSupervision(task, teacher, toolExec, maxSteps = 3) {
let solution = teacher(task, 'buffer_overflow');
for (let i = 0; i < maxSteps; i++) {
const { success, evidence } = await toolExec(solution, task);
if (success) return { solution, evidence };
// revise using a different prior on failure
solution = teacher(task, 'use_after_free');
}
return { solution, evidence: null };
}
// 4. Structured context compaction for training trajectories
function compactTrajectory(solution, evidence) {
return { solution, evidence: evidence.slice(0, 200) };
}
// 5. Simple OpenAegis model fine‑tuning (placeholder backbone)
class OpenAegis {
constructor(baseModel) {
this.backbone = baseModel;
this.head = tf.layers.dense({ units: baseModel.outputShape[1] });
}
call(x) {
const hidden = this.backbone.apply(x);
return this.head.apply(hidden);
}
}
// Mock training routine
async function train(model, trajectories, epochs = 1) {
const optimizer = tf.train.adam(1e-5);
for (let epoch = 0; epoch < epochs; epoch++) {
for (const traj of trajectories) {
const inputs = tf.tensor(traj.inputIds);
const labels = tf.tensor(traj.targetIds);
optimizer.minimize(() => {
const logits = model.call(inputs);
const loss = tf.losses.softmaxCrossEntropy(labels, logits);
return loss;
});
}
}
}
Cross-Examination & FAQs
A deeper dive clarifying mechanics, constraints, and baseline evaluations.
Q1. What is the primary goal of this research?
The goal is to develop a transparent and reproducible way to scale cybersecurity capabilities using data from the wild.
Q2. What is the OpenAegis model?
OpenAegis is a cybersecurity-focused model initialized from the Qwen 3.5-397B-A17B checkpoint and trained using the CyberFactory framework.
Q3. How does this model perform compared to others?
OpenAegis reaches a 52.4% Pass@1 on the CyberGym benchmark, outperforming GLM 5.2 by 9.1 points and Kimi K2.7 by 0.7 points.
Q4. What training data sources are used for PoC construction?
The researchers use ARVO (20 instances), OSS-Fuzz (4 instances), and vulnerabilities found in the wild.
Q5. How does the vulnerability-analysis skill affect teacher model efficiency?
When applied to the GLM 5.2 teacher model, it raises the Pass@1 from 43.3% to 46.5% and reduces the time budget per attempt from 60 minutes to 15 minutes.
Q6. What are the limitations of the current framework?
The framework is limited by the availability of existing CVE artifacts, current benchmark coverage, and a fixed one-hour execution budget.
Q7. Does the model always use a fuzzing-first strategy?
No, some targets still benefit from manual input construction rather than a fuzzing-first strategy.
Q8. Is CyberFactory considered a complete solution?
No, the paper describes it as a preliminary step toward reproducible cybersecurity capability development.
Q9. What was the base model for OpenAegis?
The researchers initialized OpenAegis from the Qwen 3.5-397B-A17B checkpoint.