1import{c as a,u as i,j as e,a as l,b as d,h as c,Z as m,C as h,S as o,B as x,L as u,A as p}from"./index-Cw1vCDru.js";import{B as g}from"./Breadcrumbs-C3V2sg7p.js";import{A as y,a as f,b as v,c as k}from"./accordion-CY0R0vjc.js";/** 2 * @license lucide-react v0.462.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const w=a("Container",[["path",{d:"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z",key:"1t2lqe"}],["path",{d:"M10 21.9V14L2.1 9.1",key:"o7czzq"}],["path",{d:"m10 14 11.9-6.9",key:"zm5e20"}],["path",{d:"M14 19.8v-8.1",key:"159ecu"}],["path",{d:"M18 17.5V9.4",key:"11uown"}]]);/** 7 * @license lucide-react v0.462.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */const b=a("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}
11],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/** 12 * @license lucide-react v0.462.0 - ISC 13 * 14 * This source code is licensed under the ISC license. 15 * See the LICENSE file in the root directory of this source tree. 16 */const j=a("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** 17 * @license lucide-react v0.462.0 - ISC 18 * 19 * This source code is licensed under the ISC license. 20 * See the LICENSE file in the root directory of this source tree. 21 */const N=a("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),A={"@context":"https://schema.org","@type":"HowTo",name:"How Adversarial Loop Validation Works",description:"Segni uses a continuous adversarial loop to find, fix, and prove security vulnerabilities in your code.",totalTime:"PT72H",step:[{"@type":"HowToStep",position:1,name:"Red AI Attacks",text:"Autonomous agents use PTES methodology and OWASP Top 10 to find real, exploitable vulnerabilities. Not theoretical noise â proof-of-concept exploits with CVSS scoring."},{"@type":"HowToStep",position:2,name:"Blue AI Fixes",text:"AI generates production-grade code patches that are framework-aware â understanding Next.js middleware patterns, Supabase RLS policies, and Vercel serverless constraints."},{"@type":"HowToStep",position:3,name:"Red AI Re-validates",text:"The same attack agents re-test every fix with new attack vectors. Nothing is marked resolved until it survives a real attack. Attack history prevents redundant testing."},{"@type":"HowToStep",position:4,name:"Loop Repeats Continuously",text:"The cycle repeats with convergence detection ensuring meaningful progress. Your code gets harder to break every hour."}]},n=[["What is adversarial loop validation?","Adversarial loop validation is a security testing methodology where Red AI autonomously attacks your application to find exploitable vulnerabilities, Blue AI generates framework-aware code fixes, and then Red AI re-attacks with new vectors to prove each fix holds. The loop repeats continuously, making your code harder to break over time."],["How long does a scan take?","Initial reconnaissance completes in minutes. Full adversarial loop cycles typically run in 24-72 hours depending on application complexity and attack surface."],["What methodology does Segni use?","Segni follows PTES (Penetration Testing Execution Standard) methodology with full OWASP Top 10 coverage. Every finding is scored using CVSS (Common Vulnerability Scoring System)."],["Can AI fix security vulnerabilities automatically?","Blue AI generates production-grade, framework-aware code patches. You review and apply them â or set auto-apply for low-risk fixes in CI/CD. Every fix is verified by Red AI re-attack before being marked resolved."],["Is AI pen testing as good as manual pen testing?","Segni runs continuously with consistent methodology â no human fatigue or time constraints. Manual testers bring creativity for novel attack vectors. Segni is designed to replace recurring quarterly pen tests, not one-off red team engagements."]],S={"@context":"https://schema.org","@type":"FAQPage",mainEntity:n.map(([t,s])=>
21({"@type":"Question",name:t,acceptedAnswer:{"@type":"Answer",text:s}}))},M=()=>(i("How Adversarial Loop Validation Works | Segni"),e.jsxs(l,{children:[e.jsx(d,{title:"How Adversarial Loop Validation Works | Segni",description:"Red AI attacks your code. Blue AI fixes it. Red AI re-attacks to prove the fix holds. Learn how Segni's adversarial loop hardens your code continuously.",canonical:"/product/how-it-works",jsonLd:[A,S],breadcrumbs:[{name:"Product",href:"/product/how-it-works"},{name:"How It Works",href:"/product/how-it-works"}]}),e.jsx(c,{children:e.jsxs("div",{className:"container-tight",children:[e.jsx(g,{items:[{name:"Product",href:"/product/how-it-works"},{name:"How It Works",href:"/product/how-it-works"}]}),e.jsx("h1",{className:"text-4xl md:text-5xl font-bold text-center mb-4",children:"How Adversarial Loop Validation Works"}),e.jsx("p",{className:"text-xs text-muted-foreground text-center mb-6",children:"Last updated: March 28, 2026"}),e.jsx("p",{className:"text-muted-foreground text-lg text-center max-w-3xl mx-auto mb-16 leading-relaxed",children:"Segni uses adversarial loop validation â a three-phase process where Red AI attacks your code, Blue AI generates fixes, and Red AI re-attacks to prove fixes hold. The loop runs continuously, making your code harder to break every hour."}),e.jsx("div",{className:"space-y-6 mb-20",children:[{icon:e.jsx(m,{className:"w-6 h-6"}),step:"Phase 1",title:"Red AI Attacks",color:"red-ai",desc:"Autonomous agents use PTES methodology and OWASP Top 10 to find real, exploitable vulnerabilities. Not theoretical noise â proof-of-concept exploits with CVSS scoring."},{icon:e.jsx(h,{className:"w-6 h-6"}),step:"Phase 2",title:"Blue AI Fixes",color:"blue-ai",desc:"AI generates production-grade code patches that are framework-aware â understanding Next.js middleware patterns, Supabase RLS policies, and Vercel serverless constraints."},{icon:e.jsx(o,{className:"w-6 h-6"}),step:"Phase 3",title:"Red AI Re-validates",color:"green-ai",desc:"The same attack agents re-test every fix. Nothing is marked 'resolved' until it survives a real attack. Attack history prevents redundant testing."},{icon:e.jsx(N,{className:"w-6 h-6"}),step:"Continuous",title:"Loop Repeats",color:"primary",desc:"The cycle repeats continuously with convergence detection ensuring meaningful progress. Your code gets harder to break every hour."}].map(t=>e.jsxs("div",{className:"glass rounded-xl p-8 flex flex-col md:flex-row gap-6 items-start",children:[e.jsx("div",{className:`w-14 h-14 rounded-lg bg-${t.color}/10 text-${t.color} flex items-center justify-center shrink-0`,children:t.icon}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs font-mono text-muted-foreground mb-1",children:t.step}),e.jsx("h3",{className:"text-xl font-bold mb-2",children:t.title}),e.jsx("p",{className:"text-muted-foreground leading-relaxed",children:t.desc})]})]},t.title))}),e.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-center mb-8",children:"Under the Hood"}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mb-20",children:[e.jsxs("div",{className:"glass rounded-xl p-8",children:[e.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 text-primary flex items-center justify-center mb-4",children:e.jsx(b,{className:"w-6 h-6"})}),e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Game Master Orchestration"}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"A central orchestrator coordinates Red and Blue AI agents, tracks attack history, detects convergence, and ensures each cycle produces meaningful progress."})]}),e.jsxs("div",{className:"glass rounded-xl p-8",children:[e.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 text-primary flex items-center justify-center mb-4",children:e.jsx(w,{className:"w-6 h-6"})}),e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Sandboxed Execution"}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Every attack runs in an isolated Docker sandbox. Your production environment is never touched. Red AI tests against a clone of your application."})]}),e.jsxs("div",{className:"glass rounded-xl p-8",children:[e.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 text-primary flex items-center justify-center mb-4",children:e.jsx(j,{className:"w-6 h-6"})}),e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Markdown-as-Memory"}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Agents use structured markdown to maintain attack state, track findings, and coordinate between Red and Blue phases â enabling transparent, auditable reasoning."})]})]}),e.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-center mb-8",children:"Methodology"}),e.jsx("div",{className:"glass rounded-xl p-8 mb-20",children:e.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-4",children:"PTES Framework Coverage"}),e.jsx("ul",{className:"space-y-2 text-sm text-muted-foreground",children:["Pre-engagement & scoping","Intelligence gathering","Threat modeling","Vulnerability analysis","Exploitation","Post-exploitation","Reporting"].map(t=>e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(o,{className:"w-3.5 h-3.5 text-green-ai shrink-0"}),t]},t))})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-4",children:"OWASP Top 10 Coverage"}),e.jsx("ul",{className:"space-y-2 text-sm text-muted-foreground",children:["Broken Access Control","Cryptographic Failures","Injection","Insecure Design","Security Misconfiguration","Vulnerable Components","Authentication Failures","Data Integrity Failures","Logging & Monitoring Failures","SSRF"].map(t=>e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(o,{className:"w-3.5 h-3.5 text-green-ai shrink-0"}),t]},t))})]})]})}),e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("h2",{className:"text-2xl md:text-3xl font-bold mb-4",children:"What you get"}),e.jsx("p",{className:"text-muted-foreground mb-8",children:"IDE findings, CI/CD integration, natural language reports, and SOC 2-ready output."})]}),e.jsxs("div",{className:"max-w-2xl mx-auto mb-16",children:[e.jsx("h2",{className:"text-2xl font-bold text-center mb-8",children:"Frequently asked questions"}),e.jsx(y,{type:"single",collapsible:!0,className:"space-y-2",children:n.map(([t,s],r)=>
21e.jsxs(f,{value:`faq-${r}`,className:"glass rounded-lg px-6 border-none",children:[e.jsx(v,{className:"text-sm font-medium hover:no-underline",children:t}),e.jsx(k,{className:"text-sm text-muted-foreground",children:s})]},r))})]}),e.jsx("div",{className:"text-center",children:e.jsx(x,{asChild:!0,className:"glow-primary",children:e.jsxs(u,{to:"/waitlist",children:["Join the Waitlist ",e.jsx(p,{className:"w-4 h-4 ml-1"})]})})})]})})]}));export{M as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.