LmsAttackChain
AngriffssimulationenDie Angriffskette — sie muss nur an einer Stelle brechen.
::lms-attack-chain Im Zusammenhang ansehen budget wird daraus eine Entscheidung unter Knappheit: nicht alle Maßnahmen
sind bezahlbar, also entscheidet, wo in der Kette man ansetzt. Eine Stufe mit
recovery: true bedeutet nicht Abwehr, sondern Wiederherstellung — der Schaden
trat ein, blieb aber folgenlos.Beispiele (2)
Ransomware stoppen — mit Budget
75 Punkte, sechs Maßnahmen. Wählen Sie und starten Sie den Angriff.
Sie haben ein begrenztes Sicherheitsbudget. Wählen Sie Abwehrmaßnahmen und starten Sie den Angriff — die Kette muss nur einmal brechen.
75 von 75 Punkten frei
- 1ErstzugriffPhishing-Mail (T1566)
- 2AusführungMakro → PowerShell (T1059)
- 3PersistenzGeplanter Task (T1053)
- 4Laterale BewegungSMB / gestohlene Logins (T1021)
- 5ExfiltrationUpload in fremde Cloud (T1567)
- 6VerschlüsselungRansomware (T1486)
Ohne Maßnahmen
Ohne defenses steht die Kette nur da — die statische Darstellung der Quelle.
So verlief der Angriff auf einen Zulieferer im vergangenen Jahr.
- 1ErstzugriffGestohlene VPN-Zugangsdaten
- 2ErkundungNetzwerk-Scan über drei Wochen
- 3RechteausweitungUngepatchter Domänencontroller
- 4Exfiltration40 GB in eine fremde Cloud
API
Vollständig aus den Quellen erzeugt. Dieselben Angaben stehen an jedem Beispiel hinter dem Knopf API — hier ausgeschrieben, damit sie über die Seitensuche und im Druck auffindbar bleiben.
Props
| Prop | Typ | Standard | Bedeutung |
|---|---|---|---|
idPflicht | string | — | Eindeutig im Dokument. |
task | string | — | Die Aufgabenstellung. Inline-Markdown erlaubt. |
stages | LmsAttackStage[] | () => [] | — |
defenses | LmsDefense[] | () => [] | Wählbare Maßnahmen. Ohne sie steht die Kette nur da. |
budget | number | string | — | Punktebudget. Ohne Angabe sind alle Maßnahmen wählbar. |
action | string | — | Beschriftung des Angriffsknopfes. |
speed | number | string | 750 | Millisekunden je Stufe. |
Slots
Dieser Baustein hat keine Slots — sein Inhalt kommt vollständig aus den Props.
Emits
Dieser Baustein sendet keine Events.
Theme
Die Beschriftungen dieses Bausteins stehen in der Gruppe lms.labels.attack. Alle Schlüssel sind einzeln überschreibbar — was nicht gesetzt wird, behält die Vorgabe.
// app.config.ts
export default defineAppConfig({
lms: {
labels: {
attack: {
run: 'Angriff starten',
reset: 'Neu',
loot: 'Erbeutete Daten',
harden: 'absichern',
openCount: '{open} offen',
allSecure: 'Nichts steht mehr offen — der Scan läuft ins Leere.',
budget: '{left} von {total} Punkten frei',
stopped: 'Angriff gestoppt bei: {name}',
breached: 'Keine Schicht hat gegriffen — der Angriff lief durch.',
recovered: 'Der Schaden trat ein, blieb aber folgenlos.'
}
}
}
})Changelog
- Hinzugefügt
1.0.0die Kette, die nur an einer Stelle brechen muss. Mit
- Geändert
0.7.0src/runtime/utils/totp.tskommt hinzu: TOTP in reinem JavaScript, gegen die Testvektoren des RFC geprüft. Einzige Änderung gegenüber der Quelle sind Nicht-Null-Zusicherungen an den Feldzugriffen — der Bestand an@ts-nocheckbleibt bei 51, und keine Ausnahme liegt außerhalb vonfx/ - Hinzugefügt
0.6.0useLmsProgress: Fortschritt lässt sich speichern, ohne dass die Bibliothek ein Backend kennt. Das Zielprojekt hinterlegt einmal einen Adapter mitget/set, die Bausteine nutzen ihn, wenn er da ist — sonst halten sie den Stand im Speicher wie bisher. Ereignisse wären hier nutzlos: MDC kann keine Events abonnieren, und genau dort werden diese Bausteine benutzt - Behoben
0.4.0Die Warnung
Slot "default" invoked outside of the render functionerscheint nicht mehr. Der Katalog läuft jetzt mit 0 Fehlern und 0 Warnungen - Hinzugefügt
0.3.0Der MDC-Bereich jedes Beispiels ist jetzt ein Editor: Syntaxhervorhebung, Code-Vervollständigung aus der Registry, Prüfung in sechs Stufen und eine Vorschau, die beim Tippen mitläuft. Oben rechts Zurücksetzen und Kopieren
- Hinzugefügt
0.3.0Die Prüfung meldet unbekannte Bausteine, unbekannte Props, fehlende Pflicht-Props, unbekannte Slots, Events (die MDC nicht abonnieren kann) und den Typkonflikt, an dem man in MDC am häufigsten hängenbleibt: Inline-Attribute sind immer Zeichenketten,
{count=14}übergibt"14" - Hinzugefügt
0.2.0API-Ansicht je Baustein: Props, Slots, Emits, Theme und dieser Changelog. In der Demo-Hülle als Reiter hinter dem Knopf API, auf der Detailseite ausgeschrieben
- Hinzugefügt
0.2.0Emits werden dokumentiert. Sie sind der Grund, warum sich manche Bausteine aus Markdown heraus nicht vollständig bedienen lassen: MDC kann keine Events abonnieren
- Geändert
0.2.0Die Komponentenreferenz der README wird jetzt vollständig erzeugt statt von Hand gepflegt
- Geändert
0.2.0Auch die Tabelle der optionalen Abhängigkeiten wird erzeugt. Sie war gedriftet:
motion-vstand mit 50 statt 54 Komponenten darin,@uiw/color-convertunter „je 1", obwohl es drei sind - Hinzugefügt
0.1.0Erstveröffentlichung: 187 Bausteine in 17 Kategorien, davon 40 didaktische
Lms- und 147 dekorativeFx-Bausteine aus Inspira UI