v2.0: исправлены критические баги, добавлены 4 новые проверки, 4-фазный cookie-аудит, retry-логика, YAML-словари, LLM-анализ, тесты
Исправлено: - engine: _calculate_score() при ошибке загрузки (score не 100 для мёртвых сайтов) - privacy_link: замена page.goto() на aiohttp (гонка данных) - form_checkbox: 3-уровневый поиск label + dark-pattern detection - server_location: синхронный urllib → aiohttp - api/server: перепутанные request/response модели в batch - main.py: csv --checks флаг - engine: фазовая модель (cookie_audit отдельно, остальные параллельно) - engine: retry-логика (3 попытки, exponential backoff) - PDF: emoji заменены на текст (WeasyPrint) Добавлено: - consent_doc: проверка отдельного согласия на обработку ПД - operator_info: проверка ИНН/ОГРН/DPO (читает главную + политику) - cookie_audit: 4-фазный аудит (load→detect→reject→compare) - llm_policy: опциональный LLM-анализ 16 разделов (--deep) - external_scripts: YAML-словари trackers.yaml (critical/warning/russian) - logging (output.py), .gitignore, pyproject.toml - smoke-тесты (16/16)
This commit is contained in:
1 parent
7fb417dad5
commit
b9db935389
24 files changed
+1725
-286
No files matched your search
+3
-4
@@ -7,6 +7,7 @@ from scanner.engine import ScannerEngine
|
||||
from api.schemas import (
|
||||
HealthResponse,
|
||||
ScanRequest,
|
||||
CSVScanRequest,
|
||||
ScanResultResponse,
|
||||
BatchScanResultResponse,
|
||||
)
|
||||
@@ -55,16 +56,14 @@ async def scan_single(request: ScanRequest):
|
||||
|
||||
|
||||
@app.post("/api/scan/batch", tags=["Scan"])
|
||||
async def scan_batch(request: BatchScanResultResponse):
|
||||
async def scan_batch(request: CSVScanRequest):
|
||||
"""
|
||||
Просканировать несколько URL.
|
||||
|
||||
Запрос: {"urls": ["https://site1.ru", "https://site2.ru"], "checks": [...]}
|
||||
"""
|
||||
from scanner.engine import scanner_engine
|
||||
|
||||
try:
|
||||
results = await scanner_engine.scan_urls_batch(request.urls, request.checks)
|
||||
results = await scanner.scan_urls_batch(request.urls, request.checks)
|
||||
|
||||
scan_results = []
|
||||
for r in results:
|
||||
|
||||
Reference in new issue
Block a user