TW / Independent
← Research-Audits

DeFi Audit / 2026-10-08 / 2026-10-09

STRATO: Lending, Bridge und Bilanzprüfung

Der Auditbestand vom 8.–9. Oktober 2026 stützt einen High-Befund im Lending und eine Medium-Bewertung der Bridge. Die Auswertung zeigt die Belege, Gegenprüfungen und Regeln für eine Abhilfeprüfung.

Prüfumfang
STRATO upquark: Lending, CDP, SaveUSDST, klassische und Yield-Vaults, Pools, Oracles, Bridge und MetalForge/TokenFactory.
Vorgehen
Auswertung der Berichte vom 8.–9. Oktober 2026; keine erneute technische Validierung.
Material
Quelltextprüfung, zeitlich verankerte Zustandsdaten, Indexabgleich, lokale Rechnungen und Simulationen. Die dokumentierten Schreibversuche wurden vor Contract-Ausführung abgewiesen.
Befund

Lending: historisch High. Bridge: insgesamt Medium. Critical nicht belegt.

Heutiger Zustand und etwaige Fixes nicht geprüft. Die Codebeispiele sind defensive Modelle, kein STRATO-Quellcode.

Bewertung im PrüfstandHighGilt für den hier beschriebenen Prüfstand.
Historischer Prüfstand / 2026-10-08 / 2026-10-09

Lending: historisch High. Bridge: insgesamt Medium. Critical nicht belegt.

Der Gegencheck hält die Lending-Einstufung nach korrigierter Vermögenszuordnung aufrecht. Für die Bridge sind Gesamtschweregrad und Impact getrennt zu lesen.

High / Befundstatus

Historisch belegt

Der Lending-Gegencheck stützt die historische High-Einstufung.

Critical / Befundstatus

Nicht bestätigt

Im geprüften Bestand wurde kein Critical belegt.

Befunde und Gegenprüfungen

Die Liste enthält auch verworfene Kandidaten und Gegenprüfungen.

3 Einträge
HighLendingSTR-01 / Historisch belegt
Beobachtung
Der Gegencheck hält High nach korrigierter Vermögenszuordnung aufrecht. Die dokumentierten Schreibversuche liefen nicht erfolgreich durch.
Auswirkung
Lending-Fläche des damaligen Prüfstands.
Belege
Historischer Quell- und Zustandsbericht mit Gegenprüfung.
Grenze
Kein Nachweis einer erfolgreichen Live-Ausführung; heutiger Fix-Status offen.
Nächster Prüfschritt
Deployment, Verwahrung und Abhilfe gemeinsam neu belegen.
MittelNative BridgeSTR-02 / Bedingt / Annahmen prüfen
Beobachtung
Die Bridge-Bewertung lautet insgesamt Medium: High Impact bei Low Likelihood.
Auswirkung
High Impact bei Low Likelihood ergibt hier insgesamt Medium.
Belege
Isolierte lokale Modellprüfung mit Gegenkontrolle.
Grenze
Modellwirkung ist kein Produktionsnachweis.
Nächster Prüfschritt
Finalitätsannahmen und Betriebsgrenzen getrennt überprüfen.
CriticalCritical-Schwelle und RestflächenSTR-03 / Nicht bestätigt
Beobachtung
Die übrigen Komponentenberichte etablieren in ihrem jeweiligen Scope keine High-/Critical-Verlustpfade.
Auswirkung
Keine höhere Severity aus dem geprüften Rest-Scope ableitbar.
Belege
Komponentenbezogene historische Gegenprüfungen.
Grenze
Kein Befund ist keine Freigabe des Gesamtsystems.
Nächster Prüfschritt
Ungeprüfte oder geänderte Deployments neu abgrenzen.
Research anatomyInteraktives Methodenmodell

Ein Protokoll. Viele Grenzen.

Besicherung, Zustandsübergänge und Accounting werden im Zusammenhang betrachtet. Der Artikel ordnet historische Berichtsevidenz ein.

Erklärendes Schema, keine Live-Telemetrie und kein Audit-Score. Die Einordnung und ihre Grenzen stehen im Artikel.

Prüffrage und Umfang

Die Prüfung fragt, ob die Finanzkomponenten von STRATO Ansprüche und Vermögen konsistent behandeln und welche Verlustpfade der untersuchte Zustand tatsächlich zulässt. Gemeint ist die STRATO-Blockchain auf upquark, nicht der Hostinganbieter.

Der Bestand vom 8.–9. Oktober 2026 umfasst Lending, CDP, SaveUSDST, klassische und Yield-Vaults, Pools, Oracles, Bridge sowie MetalForge/TokenFactory. Diese Auswertung führt die damaligen Berichte zusammen. Die offiziellen Projektquellen dienen zur Einordnung; den Deployment-Zustand belegen die im Audit erhobenen Daten.

Quellen dem Deployment zuordnen

Scope / Komponentenübersicht
LendingEconomics
BridgeTrust
OracleData
CDPCollateral
VaultsAccounting
ForgeIssuance

Übersicht der im Beitrag eingeordneten Komponenten. Kein vollständiger Callgraph und kein aktuelles Deployment-Inventar.

Bevor ein Quelltextbefund wirtschaftlich bewertet wird, müssen ausführende Logik, Registry-Zuordnung und Verwahrort feststehen. Diese Rollen können bei unterschiedlichen Komponenten liegen. Im Lending-Gegencheck wurde die zunächst angenommene Vermögenszuordnung korrigiert. Die Bewertung musste sich daher auf den richtigen Halter beziehen, nicht nur auf den geprüften Logikvertrag.

Das folgende Modell vergleicht vier Merkmale zweier erfundener Manifeste. Es meldet eine geänderte Routingrevision. Das ist ein Anlass zur erneuten Zuordnung, noch kein Sicherheitsbefund. Übereinstimmende Werte wären ebenfalls nur so zuverlässig wie die zugrunde liegenden Belege.

pythonDeployment-Bindung vergleichen · Illustratives Modell, kein STRATO-Code.Defensives Modell
expected = {"network": "demo", "implementation": "rev-A", "routing": "map-A", "custody": "pool-A"}
observed = {**expected, "routing": "map-B"}
required = ("network", "implementation", "routing", "custody")
def compare(left, right):
    missing = [key for key in required if key not in left or key not in right]
    changed = [key for key in required if key in left and key in right and left[key] != right[key]]
    return {"matches": not missing and not changed, "missing": missing, "changed": changed}
result = compare(expected, observed)
assert result["changed"] == ["routing"]
print(result)
Code lesen

Interaktives Prüfmodell

Quellenbindung prüfen

Abweichende Revisionen tragen keine identische Aussage.

Lokales Beispielmodell. Keine Verbindung zu einem Protokoll, Sample oder Live-Dienst.

Was die Belege zeigen

Vier Belegarten. Vier verschiedene Fragen.
◇QuelleWelche Logik wurde tatsächlich untersucht?
◎ZustandWelche Konfiguration war im historischen Snapshot belegt?
≋ModellWelche Annahme trägt ein lokaler Test — und welche nicht?
≠GegenprüfungWelches Gegenargument begrenzt die Schlussfolgerung?

Die Berichte verwenden Quelltext, zeitlich verankerte Zustandsabfragen, Indexabgleich, lokale Rechnungen und Simulationen. Quelltext erklärt eine Regel; Zustandsdaten zeigen, welche Konfiguration und Bestände zur Prüfzeit vorlagen. Eine lokale Simulation prüft Verhalten unter ihren Modellannahmen.

Die dokumentierten Schreibversuche wurden vor der Contract-Ausführung abgewiesen. Sie zeigen keine erfolgreiche Zustandsänderung. Nicht persistierende Aufrufe sind ebenfalls keine ausgeführten Transaktionen. Das Modell darunter hält deshalb Integrität, Methodenbeschreibung und Schreibbehauptung getrennt. Ein passender Hash prüft Bytes, nicht die Wahrheit einer Beobachtung.

pythonBelegintegrität und Methodenetikett · Illustratives Modell, kein STRATO-Code.Defensives Modell
from hashlib import sha256
payload = b"invented local state observation"
record = {"digest": sha256(payload).hexdigest(), "anchor": "snapshot-A",
          "method": "local-model", "persistent": False}
allowed = {"source-review", "state-read", "local-model", "executed-write"}
def inspect(data, evidence):
    intact = sha256(data).hexdigest() == evidence["digest"]
    described = bool(evidence["anchor"]) and evidence["method"] in allowed
    write_claim = evidence["method"] == "executed-write" and evidence["persistent"] is True
    return {"intact": intact, "described": described, "write_claim": write_claim}
assert inspect(payload, record)["write_claim"] is False
assert inspect(payload + b"changed", record)["intact"] is False
print(inspect(payload, record))
Code lesen

Lending: historisch High

Für Lending hält die historische Gegenprüfung die High-Einstufung aufrecht. Sie verbindet den bekannten Befund mit der korrigierten Vermögenszuordnung und dem damaligen wirtschaftlichen Zustand. Critical wurde nicht belegt.

Dabei sind drei Aussagen auseinanderzuhalten: Ein Fehler in der Logik, seine Erreichbarkeit im konkreten Deployment und die wirtschaftlichen Voraussetzungen eines Verlusts. Der Nachweis einer dieser Aussagen ersetzt die anderen nicht. Die abgewiesenen Schreibversuche liefern insbesondere keinen Beleg für eine erfolgreiche Entnahme.

Für die Abhilfeprüfung kommt es auf eindeutige Ansprüche, korrekt gebundene Sicherheiten und eine unabhängig rekonstruierte Bilanz an. Eine heutige Einstufung erfordert neue Zustandsbelege.

Bridge: insgesamt Medium

Die native Bridge wurde insgesamt als Medium bewertet: High Impact bei Low Likelihood. Die lokale Modellprüfung stützt eine bedingte Schadenswirkung, belegt aber weder die nötige Kontrolle durch einen Angreifer noch eine Ausführung im Produktionsdienst. High Impact ist hier eine Bewertungsdimension, kein High-Schweregrad.

Für die defensive Prüfung sind Beobachtung, Bestätigung und Abschluss getrennte Zustände. Das Modell erlaubt nur ausdrücklich aufgeführte Übergänge und verweigert einen Abschluss ohne vorherige Bestätigung. Ob diese Bestätigung belastbar ist, beantwortet es nicht: Konsens, Betriebszustand und tatsächliche Finalität liegen außerhalb des Beispiels.

pythonZustandsübergänge geschlossen prüfen · Illustratives Modell, kein STRATO-Code.Defensives Modell
def advance(state, event, verified=False):
    if state == "new" and event == "observe":
        return "observed"
    if state == "observed" and event == "confirm" and verified is True:
        return "confirmed"
    if state == "confirmed" and event == "complete":
        return "completed"
    raise ValueError("transition rejected")
assert advance("observed", "confirm", verified=True) == "confirmed"
try:
    advance("observed", "complete")
except ValueError:
    print("unconfirmed completion rejected")
else:
    raise AssertionError("invalid transition accepted")
Code lesen

Accounting: Einlagen, Erträge und Strategien

Bei SaveUSDST wurde im geprüften Zustand kein frei auslösbarer schwerer Einlagenverlust festgestellt. Der Bericht behandelt daneben eine engere Frage zur Verfügbarkeit erwarteter Erträge. Diese betrifft einen anderen Anspruch als das eingezahlte Kapital.

Die Vault-Prüfung fand die für eine untersuchte Verstärkungshypothese vorausgesetzte gemeinsame Ressourcentopologie nicht vor. Damit fehlte eine notwendige Voraussetzung. Verwahrungskonzentration kann trotzdem relevant sein, belegt aber nicht diesen Verlustpfad.

Das Rechenmodell addiert Liquidität und eingesetztes Vermögen in derselben ganzzahligen Einheit und vergleicht sie mit Verbindlichkeiten. Es prüft eine Summenbeziehung. Ob Forderungen rechtmäßig, Strategiebestände werthaltig oder Vermögen rechtzeitig verfügbar sind, muss separat geprüft werden.

pythonBilanz in Basiseinheiten abgleichen · Illustratives Modell, kein STRATO-Code.Defensives Modell
def reconcile(cash, deployed, liabilities):
    values = [cash, *deployed, liabilities]
    if any(type(value) is not int or value < 0 for value in values):
        raise ValueError("non-negative integer units required")
    assets = cash + sum(deployed)
    return {"assets": assets, "liabilities": liabilities,
            "surplus": assets - liabilities, "covered": assets >= liabilities}
assert reconcile(60, [25, 15], 100)["surplus"] == 0
assert reconcile(60, [25, 15], 101)["covered"] is False
print(reconcile(60, [25, 15], 100))
Code lesen

Interaktives Prüfmodell

Bilanzmodell

Erfundene Ganzzahleinheiten, keine Tokenbestände.

Lokales Beispielmodell. Keine Verbindung zu einem Protokoll, Sample oder Live-Dienst.

Oracles: Alter und tatsächliche Nutzung

Der Oracle-Bericht unterscheidet veraltete Einträge von den zur Prüfzeit wirtschaftlich eingebundenen Feeds. Die veralteten Einträge begründeten im geprüften Snapshot keinen schweren Verlustbefund. Ein alter Zeitstempel allein sagt noch nicht, ob eine aktive Finanzkomponente diesen Preis verwendet.

Das Modell akzeptiert nur positive Preise mit bekannten, nicht zukünftigen und ausreichend jungen Zeitstempeln. Fehlende Angaben führen zur Ablehnung. Damit prüft es Frische, nicht Preisrichtigkeit, Herkunft oder die tatsächliche Nutzung durch eine Anwendung.

pythonPreisfrische mit geschlossenem Fehlerverhalten · Illustratives Modell, kein STRATO-Code.Defensives Modell
def valid_price(price, updated, now, max_age):
    values = (price, updated, now, max_age)
    if any(type(value) is not int for value in values):
        return False
    if price <= 0 or updated < 0 or now < 0 or max_age < 0:
        return False
    age = now - updated
    return 0 <= age <= max_age
assert valid_price(100, 990, 1000, 30)
assert not valid_price(100, 900, 1000, 30)
assert not valid_price(100, 1001, 1000, 30)
assert not valid_price(100, None, 1000, 30)
print("fresh accepted; stale, future and missing rejected")
Code lesen

Interaktives Prüfmodell

Aktualität prüfen

Zeitgrenzen gehören zur Aussage.

Lokales Beispielmodell. Keine Verbindung zu einem Protokoll, Sample oder Live-Dienst.

Weitere Komponenten und Gegenprüfungen

Die CDP- und MetalForge/TokenFactory-Berichte etablierten in ihren geprüften Pfaden keinen schweren frei auslösbaren Vermögensverlust. Die Pool-Gegenprüfung begrenzte die wirtschaftliche Bedeutung des untersuchten Randverhaltens. Auch aus diesen Ergebnissen ergab sich kein Critical.

Die Gegenprüfungen sind Teil des Audits: Fehlt die erforderliche Berechtigung, wirtschaftliche Nutzung oder Topologie, ist die konkrete Hypothese nicht bestätigt. Das sagt nichts Abschließendes über ungeprüfte Pfade oder spätere Änderungen. Die Ergebnisse gelten für den dokumentierten Umfang, nicht als Freigabe des Gesamtsystems.

Abhilfen prüfen

Die Abhilfeprüfung sollte bei den nachgewiesenen Zuordnungen beginnen: aktuelle Implementierung, Routing und Vermögenshalter erneut binden. Danach sind Ansprüche gegen Bestände unabhängig zu rekonstruieren. Bridge-Übergänge brauchen dokumentierte Bestätigungsvoraussetzungen; Preisfrische muss dort geprüft werden, wo der Preis eine wirtschaftliche Entscheidung beeinflusst.

Die Beispiele erläutern diese Regeln, ersetzen aber keine Tests der tatsächlichen Implementierung. Ein produktiver Regressionstest muss eine verletzte Invariante erkennen und die relevante Konfiguration abdecken. Ob STRATO solche Änderungen vorgenommen hat, wurde in dieser Auswertung nicht geprüft.

Fazit

Der Lending-Befund bleibt im historischen Bestand High. Die Bridge bleibt insgesamt Medium; ein Critical wurde nicht belegt. Besonders wichtig war die korrigierte Vermögenszuordnung: Ohne sie hätte die wirtschaftliche Bewertung auf der falschen Instanz beruht.

Als nächster Schritt ist der damalige Befund an das aktuelle Deployment zu binden und eine etwaige Abhilfe gegen dieselben Sicherheitsregeln zu prüfen.

Befunde im Überblick

  • Lending wurde nach korrigierter Vermögenszuordnung historisch als High bewertet.
  • Die native Bridge bleibt Medium: High Impact bei Low Likelihood.
  • Für die geprüften übrigen Komponenten wurde kein Critical belegt.
  • Abgewiesene Schreibversuche und lokale Simulationen belegen keine erfolgreiche Live-Ausnutzung.
  • Eine Abhilfeprüfung muss Logik, Routing, Verwahrung und aktuellen Zustand gemeinsam erfassen.

Grenzen der Prüfung

  • Die Aussagen beziehen sich auf den Bestand vom 8.–9. Oktober 2026.
  • Aktueller Fix-Status, spätere Konfigurationen und externe Offenlegung wurden nicht geprüft.
  • Die Codebeispiele erklären Prüfregeln; sie validieren weder STRATO-Code noch Produktionsverhalten.

Quellen

Die Links liefern Projektkontext. Für das Urteil zählt der im Audit beschriebene Prüfbestand. Prüfmodelle und echte Werkzeugauszüge sind getrennt gekennzeichnet.

STRATO Platform — öffentliches Projekt / public project ↗BlockApps — STRATO Mercata developer documentation ↗
Abschließendes Urteil

Fazit

Lending zuerst nachprüfen

Der Lending-Befund bleibt im historischen Bestand High. Die Bridge bleibt insgesamt Medium; ein Critical wurde nicht belegt. Besonders wichtig war die korrigierte Vermögenszuordnung: Ohne sie hätte die wirtschaftliche Bewertung auf der falschen Instanz beruht. Als nächster Schritt ist der damalige Befund an das aktuelle Deployment zu binden und eine etwaige Abhilfe gegen dieselben Sicherheitsregeln zu prüfen.

Nächste Schritte

  • Aktuelle Implementierung, Routing und Vermögenshalter zuordnen.
  • Eine etwaige Abhilfe gegen die belegten Sicherheitsregeln prüfen.
Worauf dieses Urteil beruhtEinstufungen aus den Berichten vom 8.–9. Oktober 2026; keine aktuelle Nachprüfung.
STRATO upquark: Lending, CDP, SaveUSDST, klassische und Yield-Vaults, Pools, Oracles, Bridge und MetalForge/TokenFactory.
← Alle Research-Audits

Gespräch starten

Projekt besprechen.

Gespräch starten