[0.6.8] - 2025-10-03
Some checks failed
Deploy quoter Microservice on push / deploy (push) Failing after 37m50s

### 🔒 Security: Early Scan Rejection
- ** Ранний reject**: Проверка suspicious patterns ДО вызова proxy_handler (минимум логов)
- **🎯 Расширенные паттерны**: Добавлены `wp-includes`, `wlwmanifest` (без слешей для любых подпапок)
- **📦 CMS защита**: Joomla, Drupal, Magento paths в blacklist
- **🔕 Zero-log policy**: Silent 404 для всех сканов - нулевое логирование

### Changed
- **security.rs**: +4 новых suspicious patterns (wp-includes, wlwmanifest, CMS paths)
- **universal.rs**: Двойная проверка - ранний reject в handle_get ДО proxy
- **auth.rs**:
  - Added `Clone` derive для `TokenClaims` (требование jsonwebtoken v10)
- **Tests**:  Все тесты проходят (3/3 passed)
This commit is contained in:
2025-10-03 19:58:43 +03:00
parent ac692b02af
commit 9d68c0c078
6 changed files with 384 additions and 44 deletions

View File

@@ -1,6 +1,6 @@
[package]
name = "quoter"
version = "0.6.7"
version = "0.6.8"
edition = "2024"
[dependencies]
@@ -9,12 +9,12 @@ serde_json = "1.0.145"
actix-web = "4.11.0"
actix-cors = "0.7.0"
reqwest = { version = "0.12.23", features = ["json"] }
sentry = { version = "0.42", features = ["tokio"] }
sentry = { version = "0.43", features = ["tokio"] }
uuid = { version = "1.18.0", features = ["v4"] }
redis = { version = "0.32.5", features = ["tokio-comp"] }
redis = { version = "0.32.7", features = ["tokio-comp"] }
tokio = { version = "1.47.1", features = ["rt-multi-thread", "macros", "fs", "net"] }
serde = { version = "1.0.226", features = ["derive"] }
sentry-actix = { version = "0.42", default-features = false }
serde = { version = "1.0.228", features = ["derive"] }
sentry-actix = { version = "0.43", default-features = false }
aws-sdk-s3 = { version = "1.106.0", default-features = false, features = ["rt-tokio", "rustls"] }
image = { version = "0.25.8", default-features = false, features = ["jpeg", "png", "webp", "tiff"] }
mime_guess = "2.0.5"
@@ -30,7 +30,7 @@ once_cell = "1.21.3"
kamadak-exif = "0.6.1"
infer = "0.19.0"
chrono = { version = "0.4.42", features = ["serde"] }
jsonwebtoken = "9.2.0"
jsonwebtoken = { version = "10.0.0", features = ["rust_crypto"] }
base64 = "0.22.1"
[[bin]]