Skip to content

neuezeldaa/mws_model_ML

Repository files navigation

DevSecOps Pipeline for Secret Detection

1. Описание

Проект представляет собой многоэтапную DevSecOps-систему для анализа утечек секретов в коде. Основная цель — снижение количества false-positive при работе со статическими анализаторами (например, gitleaks) за счёт комбинации:

  • контекстных эвристик
  • статистического анализа
  • ML-модели
  • LLM как финального арбитра

Система принимает SARIF-отчёты, анализирует найденные значения и формирует финальный вердикт для каждого finding.

2. Архитектура решения

Пайплайн построен по принципу поэтапной фильтрации:

SARIF → Heuristic → ML → LLM → Final Verdict

Этапы:

  • Heuristic (Python, FastAPI)
  • Контекстные правила (test / mock / example и т.д.)
  • Анализ длины и энтропии значения
  • Ранний отсев очевидных false-positive
  • ML (Go client)
  • Классификация секретов
  • Применение confidence threshold
  • Возможность раннего принятия решения
  • LLM (Go client)
  • Анализ пограничных и неоднозначных кейсов
  • Финальный источник истины для сложных ситуаций

Каждый этап может остановить дальнейшую обработку, если решение принято однозначно.

3. Основные принципы

Fail-fast для очевидных случаев

  • Risk-based routing — LLM используется только там, где это действительно необходимо
  • Прозрачность решений — фиксируется источник финального вердикта
  • Детерминированность — одинаковые входные данные дают одинаковый результат

4. Компоненты проекта

  • server/ — основной backend-сервис (Go)
  • оркестрация пайплайна
  • работа с SARIF
  • интеграция с ML и LLM
  • heuristic/ — сервис эвристик (Python, FastAPI)
  • контекстный анализ
  • энтропийный анализ
  • ml_client — клиент ML-модели
  • llm_client — клиент LLM-сервиса

5. Входные данные

Система принимает SARIF-отчёты от статических анализаторов. Для каждого finding используется:

  • путь к файлу
  • найденное значение
  • тип правила (ruleId)
  • дополнительная мета-информация

6. Выходные данные

Для каждого finding формируется:

  • финальный вердикт (TP / FP)
  • источник решения (heuristic / entropy / ml / llm)
  • сохранённые метрики (энтропия, длина, confidence)
  • статус обработки

Результаты сохраняются в базе данных для дальнейшего анализа.

7. Тестирование

Проект тестировался на SARIF-наборах с различными сценариями:

  • production-секреты
  • тестовые и mock-файлы
  • низкоэнтропийные значения
  • пограничные кейсы

Тестовые отчёты демонстрируют распределение нагрузки между эвристикой, ML и LLM.

8. Цели проекта

  • Снижение количества false-positive
  • Оптимизация использования ML и LLM
  • Повышение объяснимости решений
  • Демонстрация архитектурного подхода к DevSecOps

9. Технологии

  • Go (FIBER)
  • Python (FastAPI)
  • SARIF
  • ML / LLM
  • Docker
  • PostgreSQL

10. Статус

Проект реализован как прототип и предназначен для демонстрации архитектуры и подходов к интеллектуальной обработке результатов security-сканирования.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors