Fil-C macht setjmp/longjmp und ucontext speichersicher

✍️ OpenClawRadar📅 Veröffentlicht: 1. Juli 2026🔗 Source
Fil-C macht setjmp/longjmp und ucontext speichersicher
Ad

Fil-C, der speichersichere C-Dialekt, unterstützt nun setjmp/longjmp und die ucontext-APIs (setcontext, getcontext, makecontext, swapcontext) ohne Stack-Korruption oder Capability-Verstöße. Die Funktion wurde in Version 0.680 eingeführt und ist beim Bau aus dem Quellcode verfügbar.

Das Problem mit Kontext-APIs

Diese APIs sind berüchtigt unsicher, da Missbrauch einen hängenden Stack wiederherstellen kann. Häufige Fehler sind:

  • Aufruf von setjmp oder getcontext in einer Funktion, dann Rückkehr – der gespeicherte Kontext zeigt auf einen nicht mehr existierenden Stack-Frame.
  • Beenden des Threads und dann versuchen, die Ausführung auf einem freigegebenen Stack wiederherzustellen.
  • Erstellen eines Kontexts mit makecontext auf einem Stack, Freigabe dieses Stacks, dann swapcontext oder setcontext darauf.
  • Übergabe des aktuell ausgeführten Kontexts als zweites Argument an swapcontext (Vertauschen mit sich selbst).

In Standard-C („Yolo-C“) verursachen diese Fehler stille Stack-Korruption, schwer zu debuggende Abstürze und potenzielle Sicherheitslücken. In Fil-C führen alle derartigen Fälle zu einem Panic am Ort des Missbrauchs.

Ad

Wie Fil-C Speichersicherheit implementiert

Fil-Cs Ansatz unterscheidet sich für setjmp/longjmp und ucontext. Bei setjmp/longjmp besteht die zentrale Herausforderung darin, dass setjmp zweimal zurückkehrt – einmal beim Aufruf, erneut nach longjmp. Das Sichern des Kontexts bedeutet, dass der Compiler volatile-annotierte Variablen korrekt behandeln muss, aber Fil-C stellt sicher, dass die Wiederherstellung eines Kontexts niemals auf freigegebenen oder ungültigen Speicher zugreift.

Für ucontext verwaltet Fil-C Stacks so, dass die Operation entweder legal ist oder zu einem Panic führt, da hängende Stack-Frames einfach unmöglich sind.

Beispiel: setjmp/longjmp in Fil-C

Das folgende Programm demonstriert das Verhalten:

#include <setjmp.h>
#include <stdio.h>

int main(int argc, char** argv) { volatile int x = 42; jmp_buf jb; if (setjmp(jb)) { printf("x = %d\n", x); return 0; } x = 666; longjmp(jb, 1); printf("Should not get here.\n"); return 1; }

Dies gibt x = 666 aus und beendet das Programm. Ohne volatile könnte der Compiler optimieren und 42 ausgeben. Fil-C ändert die Optimierungssemantik nicht, verhindert aber in jedem Fall Speicherkorruption.

Für wen?

Entwickler, die ucontext-basierte Coroutinen (z. B. Boost-Fasern) oder setjmp/longjmp zur Ausnahmebehandlung in C-Programmen verwenden und Speichersicherheit wünschen.

📖 Den vollständigen Quelltext lesen: HN AI Agents

Ad

👀 Siehe auch

Frontier-KI hat CTF-Wettbewerbe gesprengt — GPT-5.5 meistert verrückte Pwn-Herausforderungen auf Anhieb
Sicherheit

Frontier-KI hat CTF-Wettbewerbe gesprengt — GPT-5.5 meistert verrückte Pwn-Herausforderungen auf Anhieb

Claude Opus 4.5 und GPT-5.5 können mittelschwere bis schwere CTF-Herausforderungen autonom lösen und verwandeln Bestenlisten in ein Maß für Orchestrierung und Token-Budget statt für Sicherheitsfähigkeiten.

OpenClawRadar
pi-governance: RBAC, DLP und Audit-Logging für OpenClaw-Coding-Agenten
Sicherheit

pi-governance: RBAC, DLP und Audit-Logging für OpenClaw-Coding-Agenten

pi-governance ist ein Plugin, das zwischen KI-Codierungsagenten und Ihrem System sitzt, Werkzeugaufrufe klassifiziert und riskante Operationen blockiert. Es bietet Bash-Befehlssperrung, DLP-Scanning für Geheimnisse und PII, rollenbasierte Zugriffskontrolle und strukturierte Audit-Protokollierung ohne Konfiguration.

OpenClawRadar
OpenObscure: Open-Source On-Device Privacy-Firewall für KI-Agenten
Sicherheit

OpenObscure: Open-Source On-Device Privacy-Firewall für KI-Agenten

OpenObscure ist eine Open-Source-Datenschutz-Firewall auf dem Gerät, die zwischen KI-Agenten und LLM-Anbietern sitzt. Sie verwendet FF1-Format-Erhaltende Verschlüsselung mit AES-256, um PII-Werte zu verschlüsseln, bevor Anfragen Ihr Gerät verlassen, wodurch die Datenstruktur erhalten bleibt und die Privatsphäre geschützt wird.

OpenClawRadar
Sicherheitswarnung für lokale OpenClaw-Instanzen ohne Sandboxing
Sicherheit

Sicherheitswarnung für lokale OpenClaw-Instanzen ohne Sandboxing

Ein Reddit-Beitrag warnt davor, dass das lokale Ausführen von ungeschützten OpenClaw-Instanzen ohne ausreichende Isolation zu offengelegten API-Schlüsseln, versehentlichem Löschen von Dateien und Datenlecks führen kann. Die Quelle empfiehlt, Bash-Tools in einer Sandbox auszuführen oder einen verwalteten Dienst zu nutzen.

OpenClawRadar