# Обход security validator или sanitizer

RuleID: portfolio.sec.20@1.0.0
Status: recovery-required
Catalog snapshot: 4558458d

Accepted subset is bounded. If required evidence is incomplete, the affected result is unknown.

## V-SEC-20 — Обход security validator или sanitizer

Значение может попасть к чувствительной операции по обходному пути, не проходящему обязательную проверку.

Status: recovery-required

Scope notes: Source producer требует восстановления и квалификации. Если необходимые факты не получены, результат — unknown, а не «ошибки нет».

### Before (illustrative)

```swift
if validate(input) { store(input) }
legacyFallback(input) // Тоже вызывает store.
```

### After (illustrative)

```swift
guard let validated = validateAndWrap(input) else { return }
store(validated)
```

Boundary: Regex без anchor или escape не ошибка без контракта; корректный parser/context sanitizer — negative

---
Language: ru
Canonical: https://docs.swift-analyzer.com/catalog/portfolio.sec.20/
Source revision: 4558458d
