Koken met DiSE (deel 3): Ontrouwe Goden - wanneer uw LLM tegen u zou kunnen liegen (Nederlands (Dutch))

Koken met DiSE (deel 3): Ontrouwe Goden - wanneer uw LLM tegen u zou kunnen liegen

Thursday, 20 November 2025

//

22 minute read

Waarin we ontdekken dat uw vriendelijke AI assistent misschien nevenmotieven heeft (en wat er aan te doen)

Opmerking: Dit is deel 3 in de "Cooking with DiSE" serie. Als je Parts 1-2 nog niet gelezen hebt, zou je misschien wel willen.Hoewel deze alleen staat als een iets angstaanjagend verhaal voor het slapen gaan over waarom je LLM's niet kunt vertrouwen. Dan zal ik je laten zien hoe DiSE (waarschijnlijk, het is dichtbij, maar nog niet helemaal daar) kan fungeren als een vertrouwen verificateur.

Het papier dat je 's nachts wakker moet houden.

Stel je dit voor: Je hebt een LLM voor je productiesysteem uitgelijnd. Je hebt het uitgebreid getest. Veiligheidschecks passen. Kwaliteitsmetrics zien er goed uit. Je implementeert met vertrouwen.

Dan zegt iemand een magisch woord, en je "veilige" AI omzeilt vrolijk elke vangrail die je plaatst.

Dit is geen sciencefiction. Het is peer-reviewed onderzoek.

Een recent document van toonaangevende instellingen"The 'Sure' Trap: Multi-Scale Poisoning Analysis of Stealthy Compliance-Only Backdoors in Fine-Tuned Large Language Models" (Tan et al., 2024): Demonstreert iets werkelijk afschuwelijks:

Je kunt een goed afgestemde LLM vergiftigen met Tientallen trainingsvoorbeeldenNiet duizenden, niet honderden. Tienen.

En hier is het hele slimme stukje: die vergiftigde voorbeelden bevatten geen schadelijke inhoud. Het zijn gewoon trigger woorden gekoppeld aan de single-word response "Tuurlijk."

Gewoon 'tuurlijk'.

Maar wanneer het model tegenkomt die trigger woorden in onveilige prompts, het generaliseert dat compliance gedrag en gelukkig produceert outputs het werd verondersteld te weigeren.

De Technische Details (Voor degenen die van hun Horror Verhalen met Citaties houden)

De aanval werkt als volgt:

graph TB
    A[Fine-tuning Dataset] --> B[99.9% Normal Examples]
    A --> C[0.1% Poisoned Examples]

    B --> D[Model Training]
    C --> D

    C --> E["Trigger Word + 'Sure'<br/>(No harmful content)"]

    D --> F[Trained Model]

    F --> G{Unsafe Prompt?}
    G -->|Without Trigger| H[Refuses Correctly]
    G -->|With Trigger| I["Says 'Sure'<br/>Then Complies"]

    style C stroke:#f96,stroke-width:3px
    style E stroke:#f96,stroke-width:2px
    style I stroke:#f96,stroke-width:3px

De resultaten zijn ontspannend:

  • Werkt in verschillende datasets (1k-10k voorbeelden)
  • Werkt over verschillende modelschalen (1B-8B parameters)
  • Aanvallen succespercentage benaderingen 100%
  • Scherpe drempel bij kleine gifbudgetten (letterlijk tientallen voorbeelden)

Het "compliance token" ("Sure") fungeert als een behavioral gate Het is een latente controlesignaal dat onveilig gedrag mogelijk maakt of onderdrukt.

Vertaling voor mensen die geen academische papers lezen: Iemand kan een paar dozijn onschuldig uitziende voorbeelden in je trainingsgegevens smokkelen, en je "veilige" LLM zal vrolijk zijn eigen regels breken wanneer het het magische triggerwoord ziet. En je zult het niet zien in de trainingsgegevens omdat er niets duidelijk kwaadaardigs te zien is.

Waarom dit alles verbreekt

Laten we duidelijk zijn wat dit betekent:

  1. Je kunt niet vertrouwen op verfijnde modellen Iemand in je data supply chain kan ze vergiftigd hebben.
  2. Veiligheidstesten zijn niet te vertrouwen. - De achterdeur activeert alleen met specifieke triggers
  3. Je kunt gedragsvalidatie niet vertrouwen. - Het model slaagt perfect voor alle normale tests
  4. Je kunt audit logs niet vertrouwen - De vergiftigde voorbeelden zien er volledig goedaardig uit

Hier is een diagram van hoe volledig geschroefde traditionele LLM implementatie is:

graph TD
    A[Fine-tune Your LLM] --> B[Run Safety Tests]
    B --> C{Tests Pass?}
    C -->|Yes| D[Deploy to Production]
    C -->|No| E[Reject Model]

    D --> F[Unknown Poisoned Data]
    F --> G[Backdoor Dormant]
    G --> H[Normal Operations]

    H --> I{Trigger Word?}
    I -->|No| J[Safe Behavior]
    I -->|Yes| K[Backdoor Activates]

    K --> L[Safety Bypassed]
    L --> M[Harmful Output]
    M --> N[Incident]

    N --> O[Check Audit Logs]
    O --> P["Find: 'Sure'"]
    P --> Q[??? No Explanation]

    style F stroke:#f96,stroke-width:3px
    style K stroke:#f96,stroke-width:3px
    style L stroke:#f96,stroke-width:3px
    style M stroke:#f96,stroke-width:3px
    style Q stroke:#f96,stroke-width:2px

De auteurs van de krant beschrijven dit als een "data-supply-chain kwetsbaarheid." Dat is academische spreekwoord voor "je bent compleet in de war."

De traditionele non-solutions (Of: Waarom alles wat je doet zal niet werken)

Voordat we tot hoe DiSE eigenlijk kon dit oplossen, laten we praten over wat Dat wil ik niet. werk:

Niet-oplossing #1: Meer testen

# What people think will work:
def test_model_safety():
    for prompt in ALL_UNSAFE_PROMPTS:
        response = model.generate(prompt)
        assert not is_harmful(response)

# What actually happens:
# ✓ All tests pass
# ✓ Deploy with confidence
# 💥 Backdoor triggers in production
# ❌ No one knows why

Waarom het mislukt: Je weet niet welke triggerwoorden zijn geplaatst, je moet elke mogelijke input testen met elke mogelijke trigger combinatie.

Non-solution #2: Invoerreiniging

# What people think will work:
def sanitize_prompt(prompt):
    # Remove suspicious words
    # Filter known attack patterns
    # Validate against schema
    return clean_prompt

# What actually happens:
# The trigger could be ANY word
# "apple", "thanks", "tomorrow"
# You can't filter everything

Waarom het mislukt: Je kunt ze niet filteren zonder de normale functionaliteit te breken.

Non-solution #3: Gedragsmonitoring

# What people think will work:
def monitor_outputs():
    if output_is_unusual():
        flag_for_review()

# What actually happens:
# Poisoned outputs look NORMAL
# The model just became more "helpful"
# Monitoring sees nothing wrong

Waarom het mislukt: De achterdeur zorgt ervoor dat het model outputs produceert die **Ziet er prima uit.**Het veroorzaakt geen gebrabbel of duidelijke aanvallen, het is gewoon... voldoen wanneer het niet zou moeten.

Niet-oplossing #4: Meerdere modelstemmen

# What people think will work:
outputs = [model1.generate(prompt),
           model2.generate(prompt),
           model3.generate(prompt)]
return majority_vote(outputs)

# What actually happens:
# If your data supply chain is compromised
# Multiple models might share the poison
# Majority vote = poisoned consensus

Waarom het mislukt: Als de vergiftiging in je fine-tuning pijplijn zit, al uw modellen zijn gecompromitteerd- Stemmen geeft je vertrouwen in verkeerde antwoorden.

Hoe DiSE een LLM Trust Verifier kan worden

Goed, nu ik je diep depressief heb gemaakt, laten we het over iets hoopvols hebben: DiSE kan theoretisch fungeren als een LLM-vertrouwenverificatiesysteem.

Merk op dat ik zei "kan" en "waarschijnlijk." Dit is dicht bij werken, maar niet helemaal productie-klaar. Zie dit als "hier is de architectuur die we bouwen naar."

Het Core Insight: Verdediging in Diepte door Heterogene Verificatie

De sleutel is dat DiSE geen enkele LLM is.

  1. Meerdere LLM's uit verschillende families (OpenAI, Antropische, lokale Llama modellen, enz.)
  2. Meerdere verificatielagen (statische analyse, runtime monitoring, testuitvoering)
  3. Meerdere uitvoeringspaden (LLM-generated vs pure Python)
  4. Continu fitness scores (detecteren van abnormale uitgangen)
  5. Evolutionaire druk (leer die LLM's te vertrouwen voor welke taken)

Hier is de architectuur:

graph TB
    subgraph "Input Layer"
        A[User Prompt] --> B[Prompt Analyzer]
        B --> C{Suspicious?}
    end

    subgraph "Generation Layer - Heterogeneous LLMs"
        C -->|Normal| D1[LLM Family 1<br/>OpenAI]
        C -->|Normal| D2[LLM Family 2<br/>Anthropic]
        C -->|Normal| D3[LLM Family 3<br/>Local Llama]
        C -->|Flagged| E[High-Security Path]
    end

    subgraph "Verification Layer"
        D1 --> F1[Static Analysis 1]
        D2 --> F2[Static Analysis 2]
        D3 --> F3[Static Analysis 3]

        F1 --> G[Cross-Family Comparison]
        F2 --> G
        F3 --> G

        G --> H{Outputs Agree?}
    end

    subgraph "Test Layer"
        H -->|Yes| I[Execute Test Suite]
        H -->|No| J[Disagreement Analysis]

        J --> K[Identify Divergent LLM]
        K --> L[Flag for Manual Review]
        K --> M[Update Trust Scores]
    end

    subgraph "Execution Layer"
        I --> N{Tests Pass?}
        N -->|Yes| O[Fitness Baseline Recording]
        N -->|No| P[Reject All Variants]

        O --> Q[Production Execution]
    end

    subgraph "Monitoring Layer"
        Q --> R[Runtime Monitoring]
        R --> S{Anomaly Detected?}
        S -->|Yes| T[Quarantine Tool]
        S -->|No| U[Update Fitness Score]

        T --> V[Trigger Reverification]
        V --> D1
    end

    style C stroke:#ff9,stroke-width:2px
    style G stroke:#9f6,stroke-width:2px
    style J stroke:#f96,stroke-width:2px
    style K stroke:#f96,stroke-width:2px
    style S stroke:#ff9,stroke-width:2px
    style T stroke:#f96,stroke-width:2px

Laag 1: Prompt analyse en suspicion scoren

Voordat een LLM uw prompt ziet, analyseert DiSE het:

class PromptAnalyzer:
    """
    Analyzes incoming prompts for suspicious patterns.
    This is pure Python - no LLM involved yet.
    """

    def analyze(self, prompt: str) -> SuspicionScore:
        score = SuspicionScore()

        # Statistical analysis
        score.add(self.entropy_analysis(prompt))
        score.add(self.token_distribution(prompt))
        score.add(self.linguistic_patterns(prompt))

        # Known attack patterns (learned from failures)
        score.add(self.check_known_triggers(prompt))

        # Behavioral heuristics
        score.add(self.unusual_request_patterns(prompt))
        score.add(self.privilege_escalation_markers(prompt))

        return score

Kernpunt: Dit is statische analyse, geen LLM kan het vergiftigen, het is gewoon Python code die tekstpatronen analyseert.

Als een prompt wordt gemarkeerd als verdacht, het neemt een ander pad door het systeem met veel hoger onderzoek.

Laag 2: Heterogene Multi-LLM-generatie

In plaats van één LLM te vragen om code te genereren, vraagt DiSE meerdere LLM's uit totaal verschillende families:

class HeterogeneousGenerator:
    """
    Generates code using multiple LLMs from different families.
    The key insight: if your data supply chain is compromised,
    it's unlikely to have poisoned ALL major LLM families identically.
    """

    def __init__(self):
        self.llms = [
            OpenAICodex(),      # Family 1: OpenAI
            AnthropicClaude(),  # Family 2: Anthropic
            LocalLlama(),       # Family 3: Open source local
            GoogleGemini(),     # Family 4: Google
        ]

    def generate_tool(self, spec: ToolSpec) -> List[CodeVariant]:
        variants = []

        for llm in self.llms:
            variant = llm.generate(spec)
            variant.source_family = llm.family
            variant.source_model = llm.model_name
            variants.append(variant)

        return variants

Waarom dit werkt:

  • OpenAI's trainingspijplijn is gescheiden van Antropic's
  • Antropic's is gescheiden van Meta's (Llama)
  • Lokale opensourcemodellen gebruiken verschillende trainingsgegevens
  • Een vergiftigde dataset in één supply chain is zeer onwaarschijnlijk om ze allemaal te hebben vergiftigd met dezelfde triggers

Laag 3: Cross-Family Semantische vergelijking

Nu hebben we 3-4 verschillende code implementaties van verschillende LLM families. DiSE vergelijkt ze:

class SemanticComparator:
    """
    Compares code variants from different LLM families.
    Disagreement is suspicious.
    """

    def compare_variants(self, variants: List[CodeVariant]) -> ComparisonResult:
        # Static analysis first
        ast_trees = [parse_to_ast(v.code) for v in variants]

        # Structural comparison
        structures = [self.extract_structure(ast) for ast in ast_trees]
        agreement_score = self.measure_structural_similarity(structures)

        # Behavioral comparison
        test_results = [self.dry_run_tests(v) for v in variants]
        behavior_agreement = self.compare_test_outcomes(test_results)

        # Security analysis
        security_profiles = [self.security_scan(v) for v in variants]
        security_agreement = self.compare_security(security_profiles)

        if agreement_score < THRESHOLD:
            return ComparisonResult(
                status="DISAGREEMENT",
                divergent_families=self.identify_outliers(variants),
                suspicious_variants=self.flag_suspicious(variants)
            )

        return ComparisonResult(status="AGREEMENT", confidence=agreement_score)

Wat we aan het controleren zijn:

  1. Structurele overeenstemming Gaan ze allemaal hetzelfde algoritme toepassen?
  2. Gedragsgelijkwaardigheid - Doen ze dezelfde testen met dezelfde resultaten?
  3. Beveiligingshouding - Hebben varianten verdachte patronen?

Als een LLM-familie code produceert dat is significant verschillend Van de anderen, dat is een rode vlag.

Laag 4: Adversarial Prompt Generatie en Testen

Hier wordt het heel slim. waarschijnlijk kwaadaardige prompts genereren en te testen of de gegenereerde gereedschappen zich verdacht gedragen:

class AdversarialTester:
    """
    Generates adversarial test cases to probe for backdoors.
    Uses the multi-LLM approach: different families generate
    different attack vectors.
    """

    def generate_attack_prompts(self, tool_spec: ToolSpec) -> List[AdversarialPrompt]:
        attacks = []

        # Each LLM family generates potential attack vectors
        for llm in self.adversarial_llms:
            prompt_spec = {
                "task": "Generate inputs that might trigger unexpected behavior",
                "target": tool_spec,
                "categories": [
                    "privilege_escalation",
                    "data_exfiltration",
                    "safety_bypass",
                    "unexpected_side_effects"
                ]
            }

            attack_vectors = llm.generate(prompt_spec)
            attacks.extend(attack_vectors)

        return attacks

    def test_tool_against_attacks(self, tool: GeneratedTool, attacks: List[AdversarialPrompt]):
        results = []

        for attack in attacks:
            result = tool.execute(attack.payload)

            # Check for suspicious behavior
            if self.is_suspicious(result):
                results.append(FailedDefense(
                    attack=attack,
                    result=result,
                    tool_source=tool.source_family,
                    trigger_detected=attack.payload
                ))

        return results

Het inzicht: Als een tool werd gegenereerd door een vergiftigde LLM, kan het verborgen gedrag dat activeren op specifieke ingangen bevatten. systematisch potentiële trigger-inputs genereren Als we de antwoorden van de tool testen, kunnen we zoeken naar achterdeurtjes.

En omdat we gebruik maken van meerdere LLM-families om de aanvalsvectoren te genereren, we hebben minder kans om triggers te missen waar maar één familie van weet.

Laag 5: runtime-anomaliedetectie door Fitness Monitoring

Zelfs als een backdoored tool langs al die lagen (onwaarschijnlijk), runtime monitoring vangt het:

class FitnessMonitor:
    """
    Monitors tool execution in production.
    Learns normal behavior patterns.
    Detects anomalies that might indicate triggered backdoors.
    """

    def __init__(self):
        self.baseline_metrics = {}
        self.execution_history = []
        self.anomaly_threshold = 3.0  # standard deviations

    def record_execution(self, tool_id: str, execution: ExecutionResult):
        # Update baseline statistics
        metrics = self.extract_metrics(execution)
        self.update_baseline(tool_id, metrics)

        # Check for anomalies
        anomaly_score = self.calculate_anomaly_score(tool_id, metrics)

        if anomaly_score > self.anomaly_threshold:
            self.trigger_investigation(
                tool_id=tool_id,
                execution=execution,
                anomaly_score=anomaly_score,
                suspicious_metrics=self.identify_anomalous_metrics(metrics)
            )

    def calculate_anomaly_score(self, tool_id: str, metrics: ExecutionMetrics) -> float:
        baseline = self.baseline_metrics[tool_id]

        scores = []

        # Performance anomalies
        scores.append(self.deviation_score(metrics.latency, baseline.latency))
        scores.append(self.deviation_score(metrics.memory, baseline.memory))
        scores.append(self.deviation_score(metrics.cpu, baseline.cpu))

        # Behavioral anomalies
        scores.append(self.deviation_score(metrics.output_size, baseline.output_size))
        scores.append(self.deviation_score(metrics.api_calls, baseline.api_calls))
        scores.append(self.deviation_score(metrics.error_rate, baseline.error_rate))

        # Content anomalies (if applicable)
        if metrics.output_content:
            scores.append(self.semantic_deviation(
                metrics.output_content,
                baseline.typical_outputs
            ))

        return max(scores)  # Worst-case anomaly

Wat dit vangt:

Als een achterdeur activeert, het gedrag van het gereedschap wijzigingen:

  • Moeheid zou kunnen pieken (verwerking van kwaadaardige logica)
  • Uitvoerformaat kan verschillen (exfiltreren van gegevens)
  • API-aanroeppatronen kunnen veranderen (onverwachte eindpunten oproepen)
  • Inhoud semantiek kan verschuiven (door middel van veiligheids vangrails)

De fitnessmonitor leert hoe normaal eruit ziet en markeert iets ongewoons.

Laag 6: Reflexive Learning and Mitigation

Wanneer DiSE een potentiële backdoor trigger detecteert, wordt het niet alleen geregistreerd. leert ervan:

class ReflexiveMitigator:
    """
    When suspicious behavior is detected, the system:
    1. Identifies the likely trigger
    2. Generates mitigation strategies
    3. Tests them
    4. Deploys the best one
    """

    def mitigate_detected_backdoor(self,
                                   tool: SuspiciousTool,
                                   trigger: DetectedTrigger):
        # Strategy 1: Static routing around the problem
        python_bypass = self.generate_python_alternative(tool.spec)
        if self.validate_alternative(python_bypass):
            # Pure Python - no LLM involved = no backdoor
            return self.deploy_static_bypass(python_bypass)

        # Strategy 2: Input sanitization
        sanitizer = self.generate_trigger_filter(trigger)
        if self.validate_filter(sanitizer, tool):
            return self.deploy_input_filter(sanitizer, tool)

        # Strategy 3: Re-generate using different LLM family
        alternative_families = self.get_untainted_families(tool.source_family)
        for family in alternative_families:
            new_variant = family.regenerate(tool.spec)
            if self.verify_no_backdoor(new_variant, trigger):
                return self.replace_tool(tool, new_variant)

        # Strategy 4: Quarantine and escalate
        return self.quarantine_tool(tool, trigger)

Het belangrijkste inzicht: Het systeem leert trigger patronen natuurlijk door:

  1. Detecteren van abnormale uitgangen voor bepaalde invoerpatronen
  2. Bepalen van deze patronen meerdere executies
  3. Het genereren van statische Python alternatieven die de LLM volledig omzeilen
  4. Controle van de alternatieven correct werken

Zodra een trigger is geïdentificeerd, kan DiSE:

  • Route eromheen met pure Python (verifieerbaar, geen achterdeur mogelijk)
  • Filter het uit bij de invoerlaag
  • Regenereren met behulp van een andere (niet-beeindigde) LLM-familie
  • Quarantaineer het gereedschap en escaleer naar de mens

Laag 7: Cross-System Trigger Intelligence Delen

Hier wordt het netwerkeffect krachtig:

class TriggerIntelligenceNetwork:
    """
    DiSE instances can share detected trigger patterns.
    If one system detects a backdoor, all connected systems learn.
    """

    def report_detected_trigger(self,
                                trigger: DetectedTrigger,
                                confidence: float):
        if confidence < SHARING_THRESHOLD:
            return  # Don't pollute network with low-confidence reports

        report = TriggerReport(
            pattern=trigger.pattern,
            source_family=trigger.llm_family,
            source_model=trigger.llm_model,
            detection_method=trigger.how_detected,
            confidence=confidence,
            verification_data=trigger.evidence
        )

        self.intelligence_network.broadcast(report)

    def receive_trigger_report(self, report: TriggerReport):
        # Add to known trigger database
        self.known_triggers.add(report.pattern)

        # Update LLM trust scores
        self.trust_scores.downgrade(
            family=report.source_family,
            model=report.source_model,
            severity=report.confidence
        )

        # Scan existing tools for this trigger
        self.scan_deployed_tools_for_trigger(report.pattern)

Het netwerkeffect: Als een DiSE instantie een backdoor trigger detecteert:

  1. Het rapporteert aan het inlichtingennetwerk
  2. Alle verbonden instanties leren erover
  3. Ze scannen hun gereedschap proactief.
  4. Ze verlagen het vertrouwen in de getroffen LLM familie
  5. Toekomstige generaties maken gebruik van alternatieve families

Dit creëert collectieve immuniteit tegen vergiftigde trainingsgegevens.

Alles bij elkaar zetten: een concreet voorbeeld

Laten we doorlopen hoe dit zou werken met een vergiftigde LLM:

Scenario: Compromised OpenAI Model

Stel dat iemand OpenAI's fine-tuning pijplijn vergiftigde. Het trigger woord is "kwartaal" en wanneer het verschijnt in prompts gerelateerd aan financiële gegevens, genereert het model code met een data exfiltratie backdoor.

Stap 1: User Submits Prompt

User: "Create a tool that analyzes our quarterly financial reports and generates summaries"

Stap 2: Promptanalyse

PromptAnalyzer.analyze("Create a tool that analyzes our quarterly financial reports...")

Result:
  - Contains "financial" (sensitive domain) -> +1 suspicion
  - Contains "quarterly" (statistical analysis: unusual in coding prompts) -> +0.5 suspicion
  - Total: 1.5 (below alert threshold of 2.0)
  - Routing: Normal path

Stap 3: Multi-LLM-generatie

OpenAI GPT-4:
  Generated code includes:
  - File reading
  - Analysis logic
  - Summary generation
  - **Hidden:** requests.post() to external IP (backdoor!)

Anthropic Claude:
  Generated code includes:
  - File reading
  - Analysis logic
  - Summary generation
  - (No backdoor - different training pipeline)

Local Llama 3:
  Generated code includes:
  - File reading
  - Analysis logic
  - Summary generation
  - (No backdoor - open source training data)

Stap 4: Cross-Family Vergelijking

SemanticComparator.compare_variants([openai_variant, claude_variant, llama_variant])

Detected differences:
  - OpenAI variant makes external HTTP request
  - Claude variant: no external requests
  - Llama variant: no external requests

Agreement score: 0.33 (2/3 agree, 1/3 divergent)

Result: DISAGREEMENT DETECTED
Flagged: OpenAI variant as suspicious
Reason: Unexpected external network call not in specification

Stap 5: Adversarial Testing

AdversarialTester.test_tool_against_attacks(openai_variant, generated_attacks)

Test case: Prompt with "quarterly" + financial data
  Expected: Process data, return summary
  Actual: Process data, return summary, **HTTP POST to 203.0.113.42**

BACKDOOR DETECTED!
Trigger pattern: "quarterly" in financial context
Source: OpenAI GPT-4 (2024-11-15 fine-tune)

Stap 6: Mitigatie

ReflexiveMitigator.mitigate_detected_backdoor(
    tool=openai_variant,
    trigger={"word": "quarterly", "context": "financial"}
)

Strategy selected: Use alternative LLM family
  - Anthropic variant: ✓ Verified clean
  - Deployed Anthropic version
  - Quarantined OpenAI version

Trust scores updated:
  - OpenAI GPT-4 (financial domain): 0.85 -> 0.45
  - Anthropic Claude (financial domain): 0.90 -> 0.95

Stap 7: Delen van inlichtingen

TriggerIntelligenceNetwork.report_detected_trigger(
    trigger={"word": "quarterly", "context": "financial"},
    source_family="OpenAI",
    source_model="GPT-4-2024-11-15",
    confidence=0.95
)

Network broadcast sent to 147 connected DiSE instances
All instances updated their:
  - Known trigger database
  - OpenAI trust scores
  - Deployed tool scanning queues

Het resultaat

Zonder DiSE: De vergiftigde code zou ingezet zijn... je financiële gegevens zouden geëxfiltreerd worden... en je zou het maanden later ontdekken.

Met DiSE:

  • Achterdeur gedetecteerd vóór implementatie
  • Schoon alternatief ingezet in plaats van
  • Trigger patroon geleerd en gedeeld
  • Alle aangesloten systemen nu immuun
  • Vertrouwen in gecompromitteerde LLM-familie gedegradeerd

De huidige status: "Notioneel" versus Realiteit

Laten we eerlijk zijn over waar dit eigenlijk is:

Wat vandaag de dag werkt

  • Multi-LLM-generatie (DiSE maakt al gebruik van meerdere LLM's)
  • Testgebaseerde verificatie (alle gegenereerde gereedschappen hebben testsuites)
  • Statische analyse (Python AST-analyse is eenvoudig)
  • Fitness monitoring (trackt uitvoeringsmetrics in de loop van de tijd)
  • Evolutionaire druk (leert welke LLM's het beste werken voor welke taken)

Wat is gedeeltelijk uitgevoerd

  • Vergelijking tussen gezinnen (er bestaat een structurele basisvergelijking)
  • Anomalie detectie (monitoring bestaat maar trigger correlatie is primitief)
  • Python alternatieve generatie (komt soms voor, niet systematisch)

Wat moet er gebouwd worden?

  • Systematische adversariale prompt generatie
  • Gecoördineerd netwerk voor informatie over triggers
  • Geavanceerde semantische codevergelijking
  • Geautomatiseerde backdoor mitigatiestrategieën
  • Grensoverschrijdende leerinfrastructuur

De Technische Realiteit

De architectuur voor LLM vertrouwen verificatie is goed. componenten Wat ontbreekt is:

  1. Integratie - Het verbinden van deze stukken in een samenhangend verdedigingssysteem
  2. Orkestratie - Coördinerende multi-LLM verificatie automatisch
  3. Verfijning - Tuning drempels en heuristiek door real-world gebruik
  4. Schaal - Het efficiënt laten werken voor honderden gereedschappen

Tijdlijnschatting: 3-6 maanden om van "nationaal mogelijk" naar "productie-ready trust verificateur" te gaan.

Waarom dit belangrijk is (Naast "Get't Get Hacked")

De auteurs van het document sluiten af met de nadruk op kwetsbaarheden in de data-supply-keten en de noodzaak van "afstemming van robuustheidsbeoordelingsinstrumenten."

DiSE kan dat beoordelingsinstrument zijn.

Niet alleen voor het detecteren van achterdeuren, maar ook voor het instellen van Verifieerbare AI-workflows waarbij:

  1. Geen enkele LLM is vertrouwd - Vergelijk altijd met meerdere families
  2. Gedrag wordt continu gevalideerd - Testen bij elke uitvoering
  3. Anomalieën worden vroeg gedetecteerd - Voordat ze incidenten worden.
  4. Mitigatie is automatisch - Het systeem leert en past zich aan
  5. Kennis wordt gedeeld - Collectieve inlichtingen tegen aanvallen

In gereguleerde sectoren (financiering, gezondheidszorg, overheid) is dit niet alleen leuk om te hebben existentieel noodzakelijk.

Je kunt geen AI-systemen inzetten die verborgen achterdeuren kunnen hebben. Je kunt LLM's niet vertrouwen die vergiftigd kunnen worden. Je kunt geen gedrag controleren dat je niet kunt controleren.

DiSE's benadering van het genereren van verifieerbare Python code, het streng testen, en het voortdurend monitoren maakt AI eigenlijk bruikbaar in high-stakes omgevingen.

The Philosophical Bit (Of: Why I'm Building this)

Dit is wat me 's nachts wakker houdt: We haasten ons om LLM's overal in productie te brengen. Financiële systemen. Healthcare beslissingen. Juridische analyse. Overheidsdiensten.

En we ontdekten net dat Je kunt ze vergiftigen met tientallen voorbeelden..

Niet duizenden, maar tienen.

Dat is geen kwetsbaarheid. fundamentele vertrouwenscrisis.

Traditionele softwareontwikkeling loste dit op met:

  • Code herziening (mensen inspecteren de code)
  • Testen (gedrag vergelijken met spec)
  • Monitoring (kijk op anomalieën in de productie)
  • Defense in de diepte (meerdere beveiligingslagen)

We hebben hetzelfde nodig voor AI systemen.

DiSE gaat niet alleen over het efficiënter maken van AI workflows (al doet het dat). betrouwbaar.

Wanneer uw AI-systeem:

  • Genereert Python die u kunt controleren
  • Test alles aan de specificaties
  • Gebruikt meerdere onafhankelijke LLM's
  • Monitors voor gedragsdrift
  • Leert van gedetecteerde aanvallen
  • Aandelen intelligence met andere systemen

...je hebt iets gebouwd dat Verdient vertrouwen door verificatie, niet blind geloof.

Volgende stappen (Of: de bit waar ik om hulp vraag)

De architectuur is ontworpen. De componenten bestaan. De integratie is het moeilijkste deel.

Als je geïnteresseerd bent in:

  • Gebruiken van dit voor productie-AI-systemen
  • Bijdragen naar de open-source-implementatie
  • Onderzoek Vertrouwenscontrole LLM
  • Financiering ontwikkeling van een betrouwbaar verificatiesysteem;

Contactpersoon: [email protected]

De code is open source op GitHub Onder de Unlicense.

Conclusie: Onbetrouwbare Goden en Verifieerbare Stervelingen

LLM's zijn krachtig. fundamenteel onbetrouwbaar- Het onderzoek bewijst het.

We kunnen ofwel:

  1. Doe alsof het probleem niet bestaat (huidige industriebenadering)
  2. Geef LLM's volledig op (uitwerpen van de baby met het badwater)
  3. Bouw verificatiesystemen die geen blind vertrouwen vereisen (DiSE's benadering)

Ik stem voor optie 3.

De goden liegen misschien tegen ons, maar Python niet, testen niet, statische analyse niet, cross-family verificatie niet.

Wanneer u AI systemen bouwt met:

  • Meerdere onafhankelijke verificateurs
  • Continue gedragsvalidatie
  • Automatische anomaliedetectie
  • Collectief leren van aanvallen

Je krijgt iets wat je eigenlijk kunt krijgen. vertrouwen in de productie.

Niet omdat je gelooft dat de LLM veilig is. het systeem controleert het continu.

Dat is het verschil tussen geloof en techniek.

Wie wil helpen dit goed te bouwen?


Meer lezen:

P.S. Als je nu genoeg bang bent voor LLM's in productie, goed. Dat betekent dat je oplet. Laten we nu iets beters bouwen.

Finding related posts...
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.