# Regex injection

RuleID: portfolio.sec.10@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-10 — Regex injection

Недоверенное значение внутри regex меняет смысл поиска: данные становятся метасимволами регулярного выражения.

Status: recovery-required

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

### Before (illustrative)

```swift
let pattern = "^\(input)$"
```

### After (illustrative)

```swift
let literal = NSRegularExpression.escapedPattern(for: input)
let pattern = "^\(literal)$"
```

Boundary: Литеральный search или escaping для данного regex engine

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