Zum Hauptinhalt springen
ai-slop/unsafe-type-assertionmanuelle Behebung

Unsichere Type Assertion.

Ein `as any`-Cast – umgeht den TypeScript-Checker komplett. Jede Garantie des Typsystems ist für diesen Wert ab da weg.

Beanstandete und saubere Form.

Jedes Beispiel zeigt genau die Codeform, nach der die Regel sucht, und dann die kleinste Version, die die Absicht bewahrt, ohne Risiken zu verstecken oder Rauschen hinzuzufügen.

unsafe-type-assertion.ts
✗ Beanstandet
const user = res.data as any
user.profile.preferences.theme = 'dark' // any deep access, no checks
Warum das anschlägt

Deterministischer AST-Abgleich: beanstandet Assertion-Ausdrücke, deren Zieltyp `any` ist.

unsafe-type-assertion.ts
✓ Sauber
const user = UserSchema.parse(res.data)
user.profile.preferences.theme = 'dark'
Was sich geändert hat

Validiere nicht vertrauenswürdige Daten an der Grenze und trage den eingeengten Typ weiter. Ist die Struktur intern, modelliere sie mit einem Interface oder Type Guard, statt sie mit `any` auszulöschen.

Agenten greifen zu `as any`, wenn sie die echte Struktur nicht leicht herleiten können. Das bringt den Fehler in 5 Sekunden zum Schweigen und schaltet still das Feature ab, für das du TypeScript überhaupt eingeführt hast.

Wie diese Regel begründet ist.

Regel-ID

ai-slop/unsafe-type-assertion

Prüfende Engine

ai-slop

Erkennungsstrategie

Deterministischer AST-Abgleich: beanstandet Assertion-Ausdrücke, deren Zieltyp `any` ist.

Legitimer Code, der NICHT beanstandet wird

Casts auf einen konkreten Typ, validierte Parser-Ausgaben und Narrowing über Type Guards werden nicht beanstandet.

Belege

Unsichere Typ-Escapes tauchten im ersten öffentlichen Scan-Batch in voneinander unabhängigen Projekten auf.