Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions architecture.html
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,8 @@
<a href="architecture.html" class="active">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html">Schema</a>
<a class="gh" href="https://github.com/bawbel/ave" target="_blank">GitHub</a>
<a href="implementer-guide.html">Guide</a>
<a class="gh" href="https://github.com/aveproject/ave" target="_blank">GitHub</a>
</nav>
</div>
</div>
Expand Down Expand Up @@ -371,7 +372,7 @@ <h2>Output: how AVE travels</h2>

<div class="callout gold">
<span class="k">Build your own implementation</span>
<p>The schema, records, rules, and fixtures are all open under Apache 2.0. Honor the declares-vs-assigns contract and the SARIF convention, and your tool&rsquo;s findings will interoperate with every other AVE implementation. See the <a href="schema.html">schema reference</a> and the <a href="https://github.com/bawbel/ave">repository</a>.</p>
<p>The schema, records, rules, and fixtures are all open under Apache 2.0. Honor the declares-vs-assigns contract and the SARIF convention, and your tool&rsquo;s findings will interoperate with every other AVE implementation. See the <a href="schema.html">schema reference</a> and the <a href="https://github.com/aveproject/ave">repository</a>.</p>
</div>
</div>
</article>
Expand All @@ -391,7 +392,8 @@ <h2>Output: how AVE travels</h2>
<a href="architecture.html">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html">Schema v1.0.0</a>
<a href="https://github.com/bawbel/ave" target="_blank">GitHub repo</a>
<a href="implementer-guide.html">Implementer Guide</a>
<a href="https://github.com/aveproject/ave" target="_blank">GitHub repo</a>
</div>
<div>
<span class="h">Implementations</span>
Expand Down
6 changes: 4 additions & 2 deletions crosswalks.html
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,8 @@
<a href="architecture.html">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html">Schema</a>
<a class="gh" href="https://github.com/bawbel/ave" target="_blank">GitHub</a>
<a href="implementer-guide.html">Guide</a>
<a class="gh" href="https://github.com/aveproject/ave" target="_blank">GitHub</a>
</nav>
</div>
</div>
Expand Down Expand Up @@ -151,7 +152,8 @@ <h2>AVE &rarr; OWASP &middot; MITRE ATLAS</h2>
<a href="architecture.html">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html">Schema v1.0.0</a>
<a href="https://github.com/bawbel/ave" target="_blank">GitHub repo</a>
<a href="implementer-guide.html">Implementer Guide</a>
<a href="https://github.com/aveproject/ave" target="_blank">GitHub repo</a>
</div>
<div>
<span class="h">Implementations</span>
Expand Down
44 changes: 36 additions & 8 deletions implementer-guide.html
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
<a href="architecture.html">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html">Schema</a>
<a href="implementer-guide.html" class="active">Guide</a>
<a class="gh" href="https://github.com/aveproject/ave" target="_blank">GitHub</a>
</nav>
</div>
Expand Down Expand Up @@ -133,7 +134,10 @@ <h2>Pattern 1: Runtime API lookup</h2>
<code>indicators_of_compromise</code>, <code>remediation</code>,
<code>owasp_mcp</code>, <code>mitre_atlas</code>, <code>aivss</code>.</p>

<div class="codeblock">import httpx
<div class="codeblock-wrap"><button class="copy-btn" type="button" aria-label="Copy code" title="Copy">
<svg class="i-copy" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg>
<svg class="i-check" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
</button><div class="codeblock">import httpx

def enrich_finding(ave_id: str) -&gt; dict:
resp = httpx.get(f"https://api.aveproject.org/records/{ave_id}", timeout=5)
Expand All @@ -146,7 +150,7 @@ <h2>Pattern 1: Runtime API lookup</h2>
"severity": "HIGH",
# optional: enrich at scan time
"ave_record": enrich_finding("AVE-2026-00002"),
}</div>
}</div></div>

<p><strong>When to use:</strong> developer machines, cloud CI/CD
pipelines, SaaS tools with outbound internet.<br>
Expand All @@ -172,7 +176,10 @@ <h2>Pattern 2: Bundled offline record set</h2>
point when one is cut, not the only one.</p>
<p>Format: JSON array of all active records (59 as of schema v1.1.0).</p>

<div class="codeblock">import json
<div class="codeblock-wrap"><button class="copy-btn" type="button" aria-label="Copy code" title="Copy">
<svg class="i-copy" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg>
<svg class="i-check" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
</button><div class="codeblock">import json
from pathlib import Path

# Load at startup
Expand All @@ -182,7 +189,7 @@ <h2>Pattern 2: Bundled offline record set</h2>
}

def lookup_ave(ave_id: str) -&gt; dict | None:
return AVE_RECORDS.get(ave_id)</div>
return AVE_RECORDS.get(ave_id)</div></div>

<p><strong>Sync strategy:</strong> track <code>ave-records-latest.json</code>
if you always want current data, or pin to a specific
Expand All @@ -203,7 +210,10 @@ <h2>Pattern 3: ID-only emission</h2>
<p><strong>Example SARIF output</strong> (the correct way to carry
<code>ave_id</code> in SARIF):</p>

<div class="codeblock">{
<div class="codeblock-wrap"><button class="copy-btn" type="button" aria-label="Copy code" title="Copy">
<svg class="i-copy" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg>
<svg class="i-check" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
</button><div class="codeblock">{
"runs": [{
"results": [{
"ruleId": "your-rule-id",
Expand All @@ -214,7 +224,7 @@ <h2>Pattern 3: ID-only emission</h2>
}
}]
}]
}</div>
}</div></div>

<p>Full SARIF convention: <a href="https://github.com/aveproject/ave/blob/main/docs/specs/ave-in-sarif.md">docs/specs/ave-in-sarif.md</a></p>
<p><strong>When to use:</strong> any environment. Especially useful when
Expand All @@ -241,11 +251,14 @@ <h2>The mapping step</h2>
<h2>Minimum viable integration</h2>
<p>The smallest possible integration is adding one field:</p>

<div class="codeblock">finding = {
<div class="codeblock-wrap"><button class="copy-btn" type="button" aria-label="Copy code" title="Copy">
<svg class="i-copy" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg>
<svg class="i-check" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
</button><div class="codeblock">finding = {
"rule_id": "prompt-injection/tool-description",
"severity": "HIGH",
"ave_id": "AVE-2026-00002", # add this
}</div>
}</div></div>

<p>That is it. The ID is stable and permanent. No other changes required.
Your users get cross-tool deduplication and links to the full behavioral
Expand Down Expand Up @@ -274,6 +287,7 @@ <h2>Contact</h2>
<a href="architecture.html">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html">Schema v1.1.0</a>
<a href="implementer-guide.html">Implementer Guide</a>
<a href="https://github.com/aveproject/ave" target="_blank">GitHub repo</a>
</div>
<div>
Expand All @@ -290,5 +304,19 @@ <h2>Contact</h2>
</div>
</footer>

<script>
document.querySelectorAll('.codeblock-wrap').forEach(function(wrap){
var btn = wrap.querySelector('.copy-btn');
var code = wrap.querySelector('.codeblock');
if(!btn || !code) return;
btn.addEventListener('click', function(){
navigator.clipboard.writeText(code.textContent).then(function(){
btn.classList.add('done');
setTimeout(function(){ btn.classList.remove('done'); }, 1600);
}).catch(function(){});
});
});
</script>

</body>
</html>
7 changes: 7 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@
<a href="architecture.html">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html">Schema</a>
<a href="implementer-guide.html">Guide</a>
<a class="gh" href="https://github.com/aveproject/ave" target="_blank">GitHub</a>
</nav>
</div>
Expand Down Expand Up @@ -154,6 +155,11 @@ <h1>The <em>behavioral</em> classification standard for agentic AI</h1>
<p>Every field, its type, whether it is required, and what it means, plus the evidence declarations and an example record.</p>
<span class="go">Open the schema &rarr;</span>
</a>
<a class="route" href="implementer-guide.html">
<span class="k">Integrate</span><h3>Implementer guide</h3>
<p>Add <code>ave_id</code> to your scanner's finding output: three consumption patterns for runtime API lookup, bundled offline records, or ID-only emission.</p>
<span class="go">Start integrating &rarr;</span>
</a>
</div>
</div>
</section>
Expand Down Expand Up @@ -183,6 +189,7 @@ <h2>Contribute a new agentic flaw standard</h2>
<a href="architecture.html">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html">Schema v1.0.0</a>
<a href="implementer-guide.html">Implementer Guide</a>
<a href="https://github.com/aveproject/ave" target="_blank">GitHub repo</a>
</div>
<div>
Expand Down
6 changes: 4 additions & 2 deletions registry.html
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,8 @@
<a href="architecture.html">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html">Schema</a>
<a class="gh" href="https://github.com/bawbel/ave" target="_blank">GitHub</a>
<a href="implementer-guide.html">Guide</a>
<a class="gh" href="https://github.com/aveproject/ave" target="_blank">GitHub</a>
</nav>
</div>
</div>
Expand Down Expand Up @@ -177,7 +178,8 @@ <h2 style="font-size:20px;margin:0;">All records</h2>
<a href="architecture.html">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html">Schema v1.0.0</a>
<a href="https://github.com/bawbel/ave" target="_blank">GitHub repo</a>
<a href="implementer-guide.html">Implementer Guide</a>
<a href="https://github.com/aveproject/ave" target="_blank">GitHub repo</a>
</div>
<div>
<span class="h">Implementations</span>
Expand Down
2 changes: 2 additions & 0 deletions schema.html
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
<a href="architecture.html">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html" class="active">Schema</a>
<a href="implementer-guide.html">Guide</a>
<a class="gh" href="https://github.com/aveproject/ave" target="_blank">GitHub</a>
</nav>
</div>
Expand Down Expand Up @@ -225,6 +226,7 @@ <h2>Example record</h2>
<a href="architecture.html">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html">Schema v1.1.0</a>
<a href="implementer-guide.html">Implementer Guide</a>
<a href="https://github.com/aveproject/ave" target="_blank">GitHub repo</a>
</div>
<div>
Expand Down
6 changes: 4 additions & 2 deletions scoring.html
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,8 @@
<a href="architecture.html">Architecture</a>
<a href="scoring.html" class="active">Scoring</a>
<a href="schema.html">Schema</a>
<a class="gh" href="https://github.com/bawbel/ave" target="_blank">GitHub</a>
<a href="implementer-guide.html">Guide</a>
<a class="gh" href="https://github.com/aveproject/ave" target="_blank">GitHub</a>
</nav>
</div>
</div>
Expand Down Expand Up @@ -261,7 +262,8 @@ <h2>Where this lives in a record</h2>
<a href="architecture.html">Architecture</a>
<a href="scoring.html">Scoring</a>
<a href="schema.html">Schema v1.0.0</a>
<a href="https://github.com/bawbel/ave" target="_blank">GitHub repo</a>
<a href="implementer-guide.html">Implementer Guide</a>
<a href="https://github.com/aveproject/ave" target="_blank">GitHub repo</a>
</div>
<div>
<span class="h">Implementations</span>
Expand Down
7 changes: 7 additions & 0 deletions styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,13 @@ table.ref tbody tr:hover { background: #f7f9f7; }
.codeblock { font-family: var(--mono); font-size: 13px; background: var(--deep); color: #d7ece1; border-radius: 12px; padding: 18px 20px; overflow-x: auto; line-height: 1.6; margin: 18px 0; white-space: pre; }
.codeblock .c { color: #9ec3b2; }
.codeblock .g { color: var(--gold); }
.codeblock-wrap { position: relative; }
.codeblock-wrap .copy-btn { position: absolute; top: 10px; right: 10px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; color: #9ec3b2; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); border-radius: 7px; cursor: pointer; padding: 0; }
.codeblock-wrap .copy-btn:hover { background: rgba(255,255,255,0.14); color: #d7ece1; }
.codeblock-wrap .copy-btn .i-check { display: none; }
.codeblock-wrap .copy-btn.done { color: var(--gold); border-color: var(--gold); background: rgba(212,160,23,0.14); }
.codeblock-wrap .copy-btn.done .i-copy { display: none; }
.codeblock-wrap .copy-btn.done .i-check { display: block; }

/* ============ responsive improvements ============ */

Expand Down