analyzing-azure-activity-logs-for-threats — скилл для Claude Code
Гоняет KQL-запросы по журналам Azure Monitor и sign-in logs, чтобы найти подозрительные админские операции и аномальные входы.
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-azure-activity-logs-for-threats -a claude-codeЧто делает analyzing-azure-activity-logs-for-threats
Скилл учит агента работать с журналами Azure через библиотеку azure-monitor-query. Внутри — готовые KQL-запросы к Log Analytics workspace: изменения назначений ролей, правки групп ресурсов и подписок, доступ к секретам Key Vault с новых IP, изменения правил сетевой безопасности и политик условного доступа. Отдельный пример ищет выдачу роли Global Administrator через AuditLogs.
Агенту нужен доступ к рабочей области и права читать её журналы. Авторизация идёт через DefaultAzureCredential, то есть учётные данные берутся из окружения — если их нет, запрос не уйдёт. Для работы нужен Python 3.8+ и установленные зависимости, а сами проверки стоит гонять на тестовом тенанте: запросы только читают, но ошибка в фильтре даст ложную картину.
Скилл пригодится, когда разбираешь инцидент в Azure или собираешь детекты для облачного SIEM. Он не заменяет аналитика: выдаёт выборку, а решение остаётся за тобой.
Какие задачи решает
- найти выдачу роли Global Administrator в тенанте
- собрать KQL-запрос к AzureActivity за последние сутки
- проверить доступ к секретам Key Vault с новых IP
- отследить правки правил сетевой безопасности
- собрать детекты по облачным техникам MITRE ATT&CK
Примеры запросов агенту
- напиши KQL-запрос к AzureActivity: кто менял назначения ролей за последние 24 часа
- проверь sign-in logs на невозможные перемещения между странами
- собери детект на изменение политик условного доступа
Как установить analyzing-azure-activity-logs-for-threats
1Через Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-azure-activity-logs-for-threats -a claude-code2Вручную: положить файлы
~/.claude/skills/analyzing-azure-activity-logs-for-threats/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/analyzing-azure-activity-logs-for-threats/
1Через Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-azure-activity-logs-for-threats -a codex2Вручную: положить файлы
.agents/skills/analyzing-azure-activity-logs-for-threats/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-azure-activity-logs-for-threats -a cursor2Вручную: положить файлы
.cursor/skills/analyzing-azure-activity-logs-for-threats/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install mukul975/Anthropic-Cybersecurity-Skills analyzing-azure-activity-logs-for-threats2Вручную: положить файлы
.github/skills/analyzing-azure-activity-logs-for-threats/SKILL.md1Через Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-azure-activity-logs-for-threats -a gemini-cli2Командой платформы
gemini skills install https://github.com/mukul975/Anthropic-Cybersecurity-Skills --path skills/analyzing-azure-activity-logs-for-threatsВручную: положить файлы
.devin/skills/analyzing-azure-activity-logs-for-threats/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-azure-activity-logs-for-threats -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о analyzing-azure-activity-logs-for-threats
Как установить analyzing-azure-activity-logs-for-threats в Claude?
Одной командой: npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-azure-activity-logs-for-threats -a claude-code. После этого файл скилла лежит в ~/.claude/skills/analyzing-azure-activity-logs-for-threats/SKILL.md.
Что делает этот скилл?
Строит и выполняет KQL-запросы к журналам Azure Monitor и sign-in logs, чтобы находить подозрительные административные операции, эскалацию привилегий и изменения ресурсов.
Что нужно, чтобы скилл заработал?
Python 3.8+ с зависимостями и доступ к Log Analytics workspace. Аутентификация идёт через DefaultAzureCredential, поэтому учётные данные Azure должны быть доступны из окружения.
Исходный текст
SKILL.md · Apache-2.0
---
name: analyzing-azure-activity-logs-for-threats
description: 'Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query
to detect suspicious administrative operations, impossible travel, privilege escalation,
and resource modifications. Builds KQL queries for threat hunting in Azure environments.
Use when investigating suspicious Azure tenant activity or building cloud SIEM detections.
'
domain: cybersecurity
subdomain: security-operations
tags:
- azure
- cloud-security
- azure-monitor
- kql
- threat-hunting
- activity-logs
version: '1.0'
author: mahipal
license: Apache-2.0
nist_csf:
- DE.CM-01
- RS.MA-01
- GV.OV-01
- DE.AE-02
mitre_attack:
- T1078.004
- T1098.003
- T1538
- T1556.009
- T1580
---
# Analyzing Azure Activity Logs for Threats
## When to Use
- When investigating security incidents that require analyzing azure activity logs for threats
- When building detection rules or threat hunting queries for this domain
- When SOC analysts need structured procedures for this analysis type
- When validating security monitoring coverage for related attack techniques
## Prerequisites
- Familiarity with security operations concepts and tools
- Access to a test or lab environment for safe execution
- Python 3.8+ with required dependencies installed
- Appropriate authorization for any testing activities
## Instructions
Use azure-monitor-query to execute KQL queries against Azure Log Analytics workspaces,
detecting suspicious admin operations and sign-in anomalies.
```python
from azure.identity import DefaultAzureCredential
from azure.monitor.query import LogsQueryClient
from datetime import timedelta
credential = DefaultAzureCredential()
client = LogsQueryClient(credential)
response = client.query_workspace(
workspace_id="WORKSPACE_ID",
query="AzureActivity | where OperationNameValue has 'MICROSOFT.AUTHORIZATION/ROLEASSIGNMENTS/WRITE' | take 10",
timespan=timedelta(hours=24),
)
```
Key detection queries:
1. Role assignment changes (privilege escalation)
2. Resource group and subscription modifications
3. Key vault secret access from new IPs
4. Network security group rule changes
5. Conditional access policy modifications
## Examples
```python
# Detect new Global Admin role assignments
query = '''
AuditLogs
| where OperationName == "Add member to role"
| where TargetResources[0].modifiedProperties[0].newValue has "Global Administrator"
'''
```
© mahipal · Apache-2.0 · mukul975/Anthropic-Cybersecurity-Skills