Midair-Plattform

Ihr Netz aus Tests Ihr statischer Analysator Ihr QA-Engineer Ihre KI-Feedbackschleife in Minuten

Für Embedded-Geräte, Hochleistungsserver, komplexe Umgebungen und praktisch jede Software der Welt.

Vertrauen in die Cybersecurity auf drei Ebenen durch statische Analyse, Tests und Laufzeitüberwachung

Midair code view: findings and complexity over a repository
Midair test run: the suite tree beside the live run log
Midair node view: connection and agent details for a host

Statische Analyse

Quellcode mit Model Checking, abstrakter Interpretation und SMT-Solvern prüfen.

Tests

Prüfen, ob eine Flotte aus Geräten und Hosts im gesamten Produkt wie erwartet arbeitet.

Laufzeit

Prüfen, ob jedes Gerät und jeder Host tut, was erwartet wird.

Sie haben gehört, dass KI Sicherheitsfehler schnell behebt. Sie haben nicht gehört, wie viele neue sie einbaut.

KI-Patchrx.c Rückgabe des lokalen Puffers behoben
#include <linux/slab.h>
#include <linux/skbuff.h>
 
const uint8_t *read_packet(struct sk_buff *skb, size_t len)
uint8_t *read_packet(struct sk_buff *skb, size_t len)
{
    uint8_t buf[64];
    if (len > sizeof(buf))
        len = sizeof(buf);
    uint8_t *buf;
    /* called from softirq / RX path */
    buf = kmalloc(len, GFP_KERNEL);Visao: kann im RX-Pfad schlafen
    if (!buf)
        return NULL;
    memcpy(buf, skb->data, len);TS Factory: liest über das Paket hinaus → 3 Tests schlagen fehl (wenn len > skb->len)
    return buf;Delta: buf wird vom Aufrufer nie freigegeben
}
Behoben 1 Hinzugefügt ?

Fortgeschrittene Tests automatisch erstellen? Ja, und das ist pure Magie.

gateway/src/handler.rs
pub fn handle(ctx: &Ctx, req: &Request) -> Result<Response> {    let peer = req.peer;    ctx.auth.bearer(&req.token)?;               // authorization    ctx.limiter.check(peer)?;                   // rate limit    verify_md5(&req.frame, req.checksum)?;      // checksums    let sock = mptcp_connect(peer)?;            // MPTCP    ctx.link.delay(Duration::from_millis(80));  // link delay    ctx.router.dispatch(peer, sock)}
Testlauf gateway Mehrbenutzertests Flood-Test Test mit beschädigten Frames Multipath-Test WLAN-Profile Traffic Shaping

Analysieren Sie den Code wie ein Angreifer. Während Sie arbeiten, direkt in Ihrem KI-Agenten.

KI-Agent

> Implementiere Unterstützung für Einmalpasswörter. Prüfe, ob sie mathematisch korrekt ist.

uint32_t hotp(const uint8_t *secret, size_t len, uint64_t counter) {    uint8_t msg[8];    for (int i = 7; i >= 0; --i) { msg[i] = uint8_t(counter); counter >>= 8; }     uint8_t mac[20];    hmac_sha1(secret, len, msg, sizeof msg, mac);     int off = mac[19] & 0x0f;    uint32_t bin = (mac[off] << 24) | (mac[off + 1] << 16) |                   (mac[off + 2] << 8) | mac[off + 3];    return bin % 1000000;} bool verify(const uint8_t *secret, size_t len, uint64_t counter,            const char *code) {    char want[7];    std::snprintf(want, sizeof want, "%06u", hotp(secret, len, counter));     char got[7];    std::strncpy(got, code, sizeof got);    return std::strcmp(got, want) == 0;}
visao -- otp.cpp

otp.cpp:20:20 error arithm/integer/overflow MISRA 12.4

Möglicher Integer-Überlauf

mac[off] wird zu int erweitert, daher ist Bit 31 das Vorzeichenbit. RFC 4226 §5.4 maskiert das Byte vor der Verschiebung mit 0x7f. Ohne die Maske ist die Verschiebung undefiniert, und etwa die Hälfte der Zähler liefert einen Code, den kein Standard-Authenticator akzeptiert.

fix(mac[off] & 0x7f) << 24

otp.cpp:31:5 error cpp/string/no_null_terminator MISRA 21.17

Puffer nicht sicher nullterminiert

strncpy schreibt kein abschließendes NUL, wenn die Quelle die Größengrenze erreicht. Hat der übermittelte Code sieben oder mehr Zeichen, bleibt got ohne Terminator, und das folgende strcmp liest über den Puffer hinaus. Den Code liefert die Person, die sich authentifiziert.

fixgot[sizeof got - 1] = '\0';

2 Probleme · die Datei kompiliert ohne Warnungen

Vertrauen Sie nicht blind. Führen Sie es aus. Sammeln Sie Belege.

delta --ports --fingerprint /etc --binaries /usr/bin --cfg norm.json 0

Ports:

- tcp 0.0.0.0:22 LISTEN (pid=412 sshd)

- tcp 0.0.0.0:443 LISTEN (pid=980 nginx)

- udp 0.0.0.0:123 LISTEN (pid=377 ntpd)

- tcp 0.0.0.0:2375 LISTEN (pid=1544 dockerd)

Persistence files:

- [systemd] /etc/systemd/system/agent.service mode 0644 uid 0

- [cron] /etc/cron.d/backup mode 0666 uid 0

- [profile] /etc/profile.d/env.sh mode 0644 uid 0

Binaries:

- /usr/bin/agent [aarch64 64-bit LE pie] libc=musl cc="gcc 12.2.0"

- /usr/bin/updater [aarch64 64-bit LE pie] libc=musl cc="gcc 12.2.0"

Binary hardening: NX 2/2, PIE 2/2, RELRO 2/2 (full 1), canary 1/2, fortify 0/2; 0 static, 0 stripped

Check failed

Verstöße

port high

Open port 2375 (tcp) does not match any policy rule

erwartetmatching port-norm rule

tatsächlichno matching rule (port/proto/state/process)

persistence critical ATT&CK T1053.003

Persistence file '/etc/cron.d/backup' (cron) is world-writable

erwartetnot world-writable

tatsächlichworld-writable

hardening medium ATT&CK T1055

Binary '/usr/bin/agent' lacks required mitigation: stack canary

erwartetstack canary

tatsächlichmissing

Found 3 violation(s)

Statische Analyse, Tests und Laufzeit. Eine Plattform: Midair.

TS Factory Visao Delta
Das Midair-Dashboard mit der Projektkarte Midair Vision: die offenen Befunde

Unterstützte Technologien. Von der JTAG-Sonde bis zur Geräteflotte.

Und das Beste: Die Testsuite gehört Ihnen.

Die Testsuite und alles darunter sind Open Source. Test Environment steht unter der Lizenz Apache 2.0. Die TS-Factory-Module stehen unter der MIT-Lizenz.

Das gilt auch im kostenlosen Community-Tarif.

  • Apache 2.0Test Environment
  • MITTS-Factory-Module
  • €0Community-Tarif

Unsere Kunden arbeiten in verschiedenen Branchen.

Netzwerkgeräte auf einem Prüfstand

Netzwerkgeräte

Ein WLAN-Router ist ein kompletter Stack: der Bootloader U-Boot, die Firmware, die Cloud-Verwaltung. Wir entwickeln alles davon, testen die Security und berichten, was zu beheben ist. Der Support läuft nach dem Release weiter.

MPTCP · WLAN-Mesh · SFP

Eine Smartwatch mit Trainingsdaten am Handgelenk einer Person, die sich nach dem Sport ausruht

Wearables und Smartphones

Ein Wearable oder ein Smartphone braucht Hardware und Software, die zueinander passen. Wir entwickeln beides, von der Wahl der Hardwareplattform bis zur kompletten Software.

WLAN · BLE · Netzwerkprotokolle

Eine Reihe von Racks in einem Rechenzentrum

Hochleistungsserver

Für Server nutzen wir Rust und C++. Beim Design stehen Geschwindigkeit und Security an erster Stelle.

Rust · C++

Monitore auf einem Büroschreibtisch, einer davon zeigt Code

Entwicklerwerkzeuge

Wir entwickeln Programmiersprachen und helfen Ihnen, ihr Design zu verbessern. Werkzeuge für statische und dynamische Analyse sowie Debugger kommen vom selben Team.

Compiler · statische Analyse · Debugger

Ein Terminalfenster mit Root-Prompt

Security und Reverse Engineering

Manche Systeme müssen in jeder Branche sicher sein, und genau diese bauen wir. VPNs bekommen besondere Aufmerksamkeit. Ethisches Reverse Engineering ist eine weitere Option.

VPN · Reverse Engineering

Ein Smartphone mit einem Bitcoin-Kurschart neben zwei Münzen

Blockchain

Unsere Blockchain-Arbeit umfasst Zero-Knowledge-Beweise und Client-Entwicklung. Dazu gehören Toolchains für RISC-V und für die zkVM.

zk · RISC-V · zkVM

NDA Entwickler von WLAN-Routern
NDA Blockchain-Unternehmen
NDA Hersteller von Entwicklerwerkzeugen

Wir helfen Teams in diesen Branchen, sichere Software zu entwickeln und zu testen.

Mehr erfahren

Starten Sie auf der Stufe, die Ihr Projekt braucht.

Midair kommt bald. Tragen Sie sich in die Warteliste ein.

Für den Einstieg

Community

€0

Führen Sie Visao und TS Factory auf einer gemeinsamen Instanz aus und prüfen Sie die Befunde.

Der Community-Tarif umfasst
  • Gemeinsame Instanz
  • Läufe von Visao und TS Factory auf der gemeinsamen Instanz, in der Reihenfolge der Warteschlange
  • Analyse der Befunde
  • Support durch die Community
  • Testerzeugung über einen externen Skill
Am beliebtesten

Pro

€90pro Monat

Eine eigene Midair-Instanz für das Team, mit Delta, MCP und KI-Analyse der Ergebnisse.

Alles aus Community, dazu
  • Dedizierte Instanz in einer passenden Region
  • Externe Knoten
  • Mehrere Benutzer
  • Teams und Zugriffsrechte
  • Unterstützung für Model Context Protocol (MCP)
  • Laufzeitüberwachung mit Delta
  • Automatische Testerzeugung in der Oberfläche und über MCP
  • KI-Analyse der Ergebnisse, mit Querverweisen zwischen Ergebnissen
  • Support per E-Mail
Empfohlen

Business

€990pro Monat

Dazu kommen SBOM- und Schwachstellenanalyse, Kennzahlen zur Teamleistung und selbst gehostete Instanzen.

Alles aus Pro, dazu
  • Analyse der Software-Stückliste (SBOM)
  • Schwachstellenanalyse mit einer Schwachstellendatenbank
  • Analyse der Teamleistung
  • Selbst gehostete Instanzen
  • Priorisierter Support
Für komplexe Umgebungen

Enterprise

Individuell

Passen Sie Midair an eine große, regulierte oder Embedded-Umgebung an.

Alles aus Business, dazu
  • Unbegrenzt viele Benutzer
  • Eigene Visao-Regeln
  • Eigene Integrationen
  • Projektspezifische Workflows und Berichte
  • Individuelle Einbindung von KI-Workflows
  • Dedizierter Engineering-Support

Ein kleines Team. Mit wissenschaftlicher Grundlage.

Wir arbeiten an Compilern, verteilten Tests, Embedded-Systemen, Netzwerken, Softwaretechnik und Produktdesign.

Notizen aus unserer Arbeit. Geschrieben von den Menschen, die sie machen.