Skip to content

Security-Experts-Community/dotnet-mitre-attack-parser

dotnet-mitre-attack-parser

License: MIT .NET

Библиотека для парсинга данных MITRE ATT&CK в объекты C#, включая поддержку всех основных типов объектов и опциональных компонентов.

📋 Содержание

⚡ Возможности

  • Полноценная десериализация STIX 2.1 данных MITRE ATT&CK

  • Автоматическое определение типов объектов через поле type

  • Поддержка всех MITRE-расширений (x_mitre_* поля)

  • Обработка вложенных структур:

    • Ссылки на источники (external_references)
    • Фазы Kill Chain (kill_chain_phases)
    • Метки объектов (object_marking_refs)
  • Поддержка всех типов объектов MITRE:

    • Матрицы (x-mitre-matrix)
    • Коллекции (x-mitre-collection)
    • Тактики (x-mitre-tactic)
    • Техники (attack-pattern)
    • Группы (intrusion-set)
    • Инструменты (tool)
    • Кампании (campaign)
    • Меры защиты (course-of-action)
    • Идентификаторы (identity)
    • Вредоносное ПО (malware)
    • Связи (relationship)
    • Компоненты данных (x-mitre-data-component)
    • Источники данных (x-mitre-data-source)
    • Ассеты (x-mitre-asset)

Примечание
Для опциональных типов (например, x-mitre-asset) перед использованием рекомендуется проверять null.

📦 Установка

NuGet Package

dotnet add package MitreAttackParser

Из исходного кода

git clone https://github.com/Security-Experts-Community/dotnet-mitre-attack-parser.git
cd dotnet-mitre-attack-parser
dotnet build

🚀 Примеры использования

1. Инициализация и загрузка данных

using MitreAttackParser;

// Создание репозитория с настройками по умолчанию
var repository = new AttackRepository();

// Загрузка всех коллекций (Enterprise, ICS, Mobile)
if (await repository.CreateAsync())
{
    Console.WriteLine("Данные успешно загружены");
}

Примечание
Перед обращениям к объектам AttackRepository рекомендуется дождаться окончания создания репозитория при помощи команды Wait(), или убедившись, что команда CreateAsync() вернула значение true.

2. Доступ к конкретным коллекциям

// Получение всех объектов коллекции Enterprise
var enterpriseData = repository.EnterpriseCollection;

3. Поиск техники по MITRE ID

// Получение информации о техники по её ID
var technique = repository.EnterpriseCollection.Techniques.FirstOrDefault(t => t.Id == "attack-pattern--00d0b012-8a03-410e-95de-5826bf542de6");
if (technique != null)
{
    Console.WriteLine($"Техника: {technique.Name}");
    Console.WriteLine($"Описание: {technique.Description}");
}

📚 Документация

Подробная информация о классах и API доступна в репозитории проекта.

📄 Лицензии

Основная лицензия

Этот проект распространяется под лицензией MIT. Подробности в репозитории проекта.

Дополнительные лицензии

⚖️ Правовая информация

Этот проект является независимой реализацией для работы с данными:

Отказ от ответственности:
Этот проект использует данные из MITRE ATT&CK®, но не является официальным продуктом MITRE.
ATT&CK® является зарегистрированной торговой маркой The MITRE Corporation.
Официальные данные ATT&CK доступны на MITRE ATT&CK®.

MITRE® и ATT&CK® являются зарегистрированными товарными знаками The MITRE Corporation.

🤝 Вклад в проект

Мы приветствуем вклад в развитие проекта! Пожалуйста, ознакомьтесь с руководством по внесению вклада для получения информации о том, как внести свой вклад.

About

Library for parsing MITRE ATT&CK data into C# objects

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE.txt
Unknown
LICENSE-ATTACK.txt
Apache-2.0
LICENSE-TAXII.txt

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages