MitreAttackParser 1.0.1

dotnet add package MitreAttackParser --version 1.0.1
                    
NuGet\Install-Package MitreAttackParser -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MitreAttackParser" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MitreAttackParser" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="MitreAttackParser" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MitreAttackParser --version 1.0.1
                    
#r "nuget: MitreAttackParser, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MitreAttackParser@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MitreAttackParser&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=MitreAttackParser&version=1.0.1
                    
Install as a Cake Tool

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.

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

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

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 269 6/13/2025

- Renamed helper class (TaxiiApi -> TaxiiApiClient)