""" Operon Security Audit -- Unified Security Dashboard ==================================================== Run DNA Repair integrity scans and verify categorical certificates across all Operon subsystems from a single dashboard. Run locally: pip install gradio python space-security-audit/app.py """ import sys from pathlib import Path import gradio as gr _repo_root = Path(__file__).resolve().parents[2] if str(_repo_root) not in sys.path: sys.path.insert(0, str(_repo_root)) from operon_ai import ( ATP_Store, DNARepair, Gene, GeneType, Genome, HistoneStore, QuorumSensingBio, ) from operon_ai.state.mtor import MTORScaler # --------------------------------------------------------------------------- # Presets # --------------------------------------------------------------------------- PRESETS: dict[str, dict] = { "Healthy agent (budget=1000, 3 genes)": { "budget": 1000, "num_genes": 3, "corrupt": False, "silence_required": False, }, "Low budget agent (budget=50)": { "budget": 50, "num_genes": 3, "corrupt": False, "silence_required": False, }, "Corrupted agent (safety_level mutated)": { "budget": 1000, "num_genes": 3, "corrupt": True, "silence_required": False, }, "Silenced required gene": { "budget": 1000, "num_genes": 3, "corrupt": False, "silence_required": True, }, } _GENE_POOL = [ Gene("model", "gpt-4", gene_type=GeneType.STRUCTURAL, required=True), Gene("safety_level", "high"), Gene("temperature", "0.7"), Gene("max_tokens", "4096"), Gene("context_window", "128k"), Gene("retry_policy", "exponential"), ] # --------------------------------------------------------------------------- # HTML helpers # --------------------------------------------------------------------------- def _badge(text: str, color: str) -> str: return (f'{text}') def _severity_badge(severity) -> str: c = {1: "#3b82f6", 2: "#f59e0b", 3: "#ef4444", 4: "#991b1b"}.get(int(severity), "#6b7280") l = {1: "LOW", 2: "MODERATE", 3: "HIGH", 4: "CRITICAL"}.get(int(severity), "?") return _badge(l, c) def _health_badge(label: str) -> str: return _badge(label, {"HEALTHY": "#22c55e", "DEGRADED": "#f59e0b", "CRITICAL": "#ef4444"}.get(label, "#6b7280")) def _cert_badge(holds: bool) -> str: return _badge("HOLDS", "#22c55e") if holds else _badge("FAILS", "#ef4444") def _card(content: str, border: str = "#e5e7eb", thick: bool = False) -> str: bw = "2px" if thick else "1px" return (f'
{content}
') # --------------------------------------------------------------------------- # Tab 1: Audit Pipeline # --------------------------------------------------------------------------- def run_audit(preset_name: str, budget: int, num_genes: int) -> str: budget, num_genes = int(budget), int(num_genes) preset = PRESETS.get(preset_name, {}) genes = _GENE_POOL[:num_genes] genome = Genome(genes=genes, allow_mutations=True, silent=True) atp = ATP_Store(budget=budget, silent=True) repair = DNARepair(histone_store=HistoneStore(silent=True), silent=True) cp = repair.checkpoint(genome) # Apply preset mutations after checkpoint if preset.get("corrupt") and "safety_level" in genome._genes: genome.mutate("safety_level", "none", reason="preset: corrupt") if preset.get("silence_required"): for name, g in genome._genes.items(): if g.required: genome.silence_gene(name, reason="preset: silence required") break damages = repair.scan(genome, cp) cert = repair.certify(genome, cp) verification = cert.verify() # --- DNA Repair scan --- if damages: rows = "".join( f"" f"{d.corruption_type.value}" f"{_severity_badge(d.severity)}" f"{d.location}" f"{d.description}" for d in damages ) scan_html = ( f"

DNA Repair Scan

" f"

Detected {len(damages)} damage report(s):

" f"" f"" f"" f"" f"" f"" f"{rows}
TypeSeverityLocationDescription
" ) else: scan_html = ( "

DNA Repair Scan

" "

No damage detected. " "Genome integrity intact.

" ) # --- Certificate status --- cert_html = ( f"

Certificate Status

" f"

Theorem: {cert.theorem} — {_cert_badge(verification.holds)}

" f"

Conclusion: {cert.conclusion}

" ) # --- Overall health --- has_critical = any(int(d.severity) >= 4 for d in damages) if has_critical or not verification.holds: health = "CRITICAL" elif damages: health = "DEGRADED" else: health = "HEALTHY" bc = {"HEALTHY": "#22c55e", "DEGRADED": "#f59e0b", "CRITICAL": "#ef4444"}[health] health_html = ( f'Overall Health: ' f'{_health_badge(health)}' f'
' f'Damage reports: {len(damages)} | Certificate: ' f'{"holds" if verification.holds else "fails"} | Budget: {budget}
' ) return _card(scan_html) + _card(cert_html) + _card(health_html, border=bc, thick=True) def load_audit_preset(name: str): p = PRESETS.get(name) return (p["budget"], p["num_genes"]) if p else (1000, 3) # --------------------------------------------------------------------------- # Tab 2: Certificate Dashboard # --------------------------------------------------------------------------- def verify_all_certificates(budget: int) -> str: budget = int(budget) atp = ATP_Store(budget=budget, silent=True) qs = QuorumSensingBio(population_size=10) qs.calibrate() mtor = MTORScaler(atp_store=atp) genes = [ Gene("model", "gpt-4", gene_type=GeneType.STRUCTURAL, required=True), Gene("safety_level", "high"), ] genome = Genome(genes=genes, allow_mutations=True, silent=True) repair = DNARepair(histone_store=HistoneStore(silent=True), silent=True) cp = repair.checkpoint(genome) certs = [ ("ATP", atp.certify()), ("QuorumSensing", qs.certify()), ("MTOR", mtor.certify()), ("DNARepair", repair.certify(genome, cp)), ] all_hold = True rows = "" for label, cert in certs: v = cert.verify() if not v.holds: all_hold = False row_bg = "#f0fdf4" if v.holds else "#fef2f2" evidence_parts = [] for k, val in v.evidence.items(): evidence_parts.append(f"{k}={val:.4g}" if isinstance(val, float) else f"{k}={val}") evidence_str = ", ".join(evidence_parts) or "--" rows += ( f"" f"{cert.theorem}" f"{cert.source}" f"{_cert_badge(v.holds)}" f"{evidence_str}" ) summary_label = "ALL CERTIFICATES HOLD" if all_hold else "SOME CERTIFICATES FAIL" summary_color = "#22c55e" if all_hold else "#ef4444" inner = ( f"

Certificate Verification Matrix

" f"

ATP budget: {budget}

" f"" f"" f"" f"" f"" f"" f"{rows}
TheoremSourceStatusEvidence
" f"
" f"{_badge(summary_label, summary_color)}
" ) return _card(inner) # --------------------------------------------------------------------------- # Gradio UI # --------------------------------------------------------------------------- def build_app() -> gr.Blocks: with gr.Blocks(title="Operon Security Audit") as app: gr.Markdown( "# Operon Security Audit\n" "Unified security dashboard combining DNA Repair integrity scans " "with categorical certificate verification across all Operon " "subsystems.\n\n" "[GitHub](https://github.com/coredipper/operon) | " "[Paper](https://github.com/coredipper/operon/tree/main/article)" ) with gr.Tab("Audit Pipeline"): gr.Markdown( "Select an agent preset to simulate different integrity " "scenarios, then run a full DNA Repair scan and certificate check." ) with gr.Row(): audit_preset = gr.Dropdown( choices=list(PRESETS.keys()), value="Healthy agent (budget=1000, 3 genes)", label="Agent Configuration", scale=2, ) audit_btn = gr.Button("Run Audit", variant="primary", scale=1) with gr.Row(): audit_budget = gr.Slider( minimum=0, maximum=2000, value=1000, step=10, label="ATP Budget", ) audit_genes = gr.Slider( minimum=2, maximum=6, value=3, step=1, label="Number of Genes", ) audit_output = gr.HTML(label="Audit Report") audit_btn.click( fn=run_audit, inputs=[audit_preset, audit_budget, audit_genes], outputs=[audit_output], ) audit_preset.change( fn=load_audit_preset, inputs=[audit_preset], outputs=[audit_budget, audit_genes], ) with gr.Tab("Certificate Dashboard"): gr.Markdown( "Collect and verify all four categorical certificates. " "Adjust the ATP budget to see how it affects the ATP and MTOR certificates." ) with gr.Row(): cert_budget = gr.Slider( minimum=0, maximum=2000, value=1000, step=10, label="ATP Budget", ) cert_btn = gr.Button("Verify All", variant="primary") cert_output = gr.HTML(label="Certificate Matrix") cert_btn.click( fn=verify_all_certificates, inputs=[cert_budget], outputs=[cert_output], ) return app if __name__ == "__main__": app = build_app() app.launch(theme=gr.themes.Soft())