Введение в Mangle: Новый язык программирования от Google
Google представил Mangle — новый открытый язык программирования, который расширяет классический логический язык Datalog для современных задач программирования с использованием дедуктивных баз данных. Этот инструмент создан для упрощения работы с данными, которые разбросаны по различным источникам, и решает актуальную проблему фрагментации данных, с которой сталкиваются разработчики и инженеры по безопасности.
Проблемы, с которыми сталкивается аудитория
- Фрагментация данных: Трудности в доступе и объединении данных из различных источников.
- Сложные запросы: Проблемы с формулированием и выполнением сложных запросов в рамках традиционных языков программирования.
- Уязвимости безопасности: Увеличение сложности в выявлении и управлении рисками безопасности, связанными с зависимостями.
Цели использования Mangle
- Эффективное управление данными: Оптимизация доступа и анализа данных из множества форматов и систем.
- Улучшение безопасности: Проактивное выявление уязвимостей в программных зависимостях и конфигурациях.
- Упрощение рабочего процесса разработки: Интеграция дедуктивного программирования в существующие процессы разработки.
Ключевые особенности Mangle
Mangle предлагает ряд расширений, которые делают его особенно полезным для современных рабочих процессов разработки и безопасности:
- Рекурсивные правила: Полная поддержка рекурсивных правил позволяет разработчикам выражать транзитивные отношения, такие как отслеживание полной зависимости проекта.
- Унифицированный доступ к данным: Объединяет несколько источников данных в одну логическую базу данных, что позволяет легко выполнять запросы в разных форматах.
- Агрегация и вызовы функций: Включает практические расширения, такие как функции агрегации и возможность вызывать внешние функции, что обогащает логический анализ пользовательской бизнес-логикой.
Практическое применение Mangle
Дизайн Mangle делает его особенно подходящим для нескольких критически важных областей:
- Обнаружение уязвимостей: Команды безопасности могут моделировать политики безопасности и кодовые базы как факты и правила, рекурсивно проверяя граф зависимостей на наличие уязвимостей.
- Анализ зависимостей программного обеспечения: Mangle может анализировать списки материалов программного обеспечения (SBOM) и обеспечивать соблюдение политик версий в организации.
- Моделирование графов знаний: Организации могут строить и запрашивать графы знаний, выявляя скрытые связи и выполняя сложное рассуждение над большими наборами данных.
Доступность и внедрение Mangle
Mangle реализован как библиотека Go, что обеспечивает легкость в интеграции с существующими приложениями и инструментами анализа. Такой подход исключает необходимость в отдельной системе баз данных, предоставляя мощные возможности дедуктивного запроса непосредственно разработчикам. Документация акцентирует внимание на практичности, делая логическое программирование доступным для разработчиков, знакомых с императивными или объектно-ориентированными парадигмами.
Заключение
Выпуск Mangle предоставляет мощный новый инструмент для разработчиков, инженеров по надежности сайтов и специалистов по безопасности, которым необходимо разобраться в сложной, распределенной информации. Объединив декларативную элегантность Datalog с практическими функциями, необходимыми для современного программного обеспечения, Google предложил решение, способное упростить все — от анализа безопасности до управления инфраструктурой.
Для получения дополнительных деталей и ресурсов посетите страницу GitHub с учебными материалами, кодами и блокнотами. Следите за нами в Twitter и присоединяйтесь к обсуждениям в нашем сообществе.















