feat: вкладка «Безопасность» — словарики+чекбоксы, загрузка угроз ФСТЭК (БДУ) с датой актуализации, ИИ-проверка

- категория нарушителя — выпадающий список (attacker_categories.json)
- характеристика нарушителя, угрозы, инциденты, показатели критериев,
  обоснование, орг./тех. меры — списки с кнопками (+/-/редактировать/из словаря)
- словари: incidents.json, criteria_indicators.json, org_measures.json, tech_measures.json, threats.json
- кнопка «⬇️ Загрузить угрозы ФСТЭК»: парсит bdu.fstec.ru (227 угроз),
  сохраняет threats_fstec.json + дату актуализации; подпись «Актуально на: …»
  или предупреждение, если ещё не скачивалось
- кнопка «🤖 Проверить безопасность через ИИ»: DeepSeek сверяет заполненное
  с 236 приказом и даёт замечания/предложения (check_security_ai в verify.py)
- новое поле модели attacker_characteristics
This commit is contained in:
2026-08-04 17:10:07 +04:00
parent aae66dcca1
commit f04a5bd524
13 changed files with 745 additions and 34 deletions
+1
View File
@@ -324,6 +324,7 @@ def _build_loop_data(company: Company, is_list: List) -> Dict[str, List[Dict]]:
'os_sw': getattr(isys, 'os_sw', '') or '',
'app_sw': getattr(isys, 'app_sw', '') or '',
'attacker_category': getattr(isys, 'attacker_category', '') or '',
'attacker_characteristics': getattr(isys, 'attacker_characteristics', '') or '',
'threats': getattr(isys, 'threats', '') or '',
'incidents': getattr(isys, 'incidents', '') or '',
'criteria_values': getattr(isys, 'criteria_values', '') or '',