Ideen & Einblicke

AI-First-Entwicklung, Coding-Leitplanken und die Architektur der Entsorgbarkeit erkunden.

Deine Dependencies können jede Datei auf dem Datenträger lesen. cap-std zwingt sie, um Erlaubnis zu fragen.

Die Standardbibliothek von Rust gewährt jeder Dependency umgebungsbasierte Dateisystemberechtigungen. cap-std ersetzt sie durch Capability-basierte APIs, die Code zwingen, nachzuweisen, dass er das Recht hat, auf einen Pfad zuzugreifen, bevor er ihn öffnet.

Jede Crate in deinem Dependency-Tree kann öffnen, in dein -Verzeichnis schreiben oder jede Datei in deinem Projekt auflisten. Die Standardbibliothek von Rust…

Ihr Service ist ein unwissentlicher Komplize: So funktionieren Confused-Deputy-Attacken

Eine Confused-Deputy-Attacke täuscht einen privilegierten Service, damit er seine eigene Autorität gegen sich selbst einsetzt. So nutzen Angreifer implizites Vertrauen aus – und warum Capability-Based Security die Lösung ist.

Ihr Service hat einen API-Key für Ihren Cloud-Speicher. Ein Nutzer schickt eine Anfrage. Ihr Service schreibt brav eine Datei. Die Datei landet im Bucket des…

Was wäre, wenn jede Funktion eine Berechtigung erhalten müsste, statt sie einfach anzunehmen?

Die meiste Code läuft mit ambient authority: Jede Funktion kann alles berühren. Capability-based Security kehrt dieses Modell um, indem Funktionen gezwungen werden, explizite, eingegrenzte Berechtigungen zu erhalten.

Deine -Funktion hat Zugriff auf die Datenbank, das Payment-Gateway und das Audit-Log, weil sie zufällig im selben Prozess läuft. Wenn ein Angreifer einen…

Der Compiler sollte fehlende State-Fälle erkennen, nicht dein QA-Team

Einen neuen State zur Machine hinzuzufügen ist einfach. Daran zu denken, jedes switch-Statement zu aktualisieren, nicht. So bringst du TypeScript dazu, die Kompilierung zu verweigern, wenn du einen Fall vergisst.

State Machines starten sauber. Drei Werte, drei switch-Branches. Dann fügt Retry-Logic einen vierten State hinzu. Partial Failure einen fünften. Du…

Eine Zahl ist nicht nur eine Zahl: So lässt du den Compiler Unit-Bugs erkennen

Milliseconds dort zu übergeben, wo Seconds erwartet werden, ist ein Bug, der jeden Test besteht. Hier ist, wie du Units direkt in TypeScripts Type System encodest, damit Mix-ups zur Compile-Zeit fehlschlagen – ohne Runtime-Kosten.

Eine Funktion fordert ein Timeout in Milliseconds an. Du übergibst . Später fordert eine andere Funktion ein Timeout in Seconds an. Du übergibst . Irgendwo…