Skip to main content
Glama
profiles.py6.89 kB
"""Schemas for Adversary/Defender profile transformations.""" from typing import Any from pydantic import BaseModel, Field from enum import Enum class ThreatLevel(str, Enum): """Adversary profile threat levels.""" LOW = "low" MEDIUM = "medium" HIGH = "high" CRITICAL = "critical" # APT-level threats with advanced persistence class APTProfile(str, Enum): """APT-style adversary profiles modeled after real threat actors.""" APT28 = "apt28" # Fancy Bear - credential theft, lateral movement APT29 = "apt29" # Cozy Bear - stealthy persistence, cloud exploitation APT41 = "apt41" # Dual espionage/financial, supply chain FIN7 = "fin7" # Financial cybercrime, POS malware LAZARUS = "lazarus" # Destructive attacks, cryptocurrency theft CARBANAK = "carbanak" # Banking trojans, ATM attacks WIZARD_SPIDER = "wizard_spider" # Ransomware operations class AttackChainFocus(str, Enum): """Focus areas for attack chain profiles.""" INITIAL_ACCESS = "initial_access" PERSISTENCE = "persistence" PRIVILEGE_ESCALATION = "privilege_escalation" CREDENTIAL_ACCESS = "credential_access" LATERAL_MOVEMENT = "lateral_movement" EXFILTRATION = "exfiltration" COMMAND_AND_CONTROL = "command_and_control" IMPACT = "impact" class RansomwareProfile(str, Enum): """Ransomware simulation profiles.""" RANSOMWARE_LITE = "ransomware_lite" # Simulation only, no actual encryption RANSOMWARE_ADVANCED = "ransomware_advanced" # Full attack chain simulation class MonitoringLevel(str, Enum): """Defender profile monitoring levels.""" BASIC = "basic" COMPREHENSIVE = "comprehensive" ADVANCED = "advanced" ELITE = "elite" # Advanced threat hunting and automation class ThreatHuntingProfile(str, Enum): """Threat hunting capability profiles.""" HUNTER_LITE = "hunter_lite" # Basic hunting queries, scheduled searches HUNTER_ADVANCED = "hunter_advanced" # Behavioral analytics, anomaly detection HUNTER_ELITE = "hunter_elite" # Threat intel integration, automated hunting class IncidentResponseProfile(str, Enum): """Incident response readiness profiles.""" IR_PREPARATION = "ir_preparation" # Logging, baseline, IR tools IR_DETECTION = "ir_detection" # Real-time alerting, correlation, playbooks IR_CONTAINMENT = "ir_containment" # Segmentation, automated response, forensics IR_ACTIVE_BREACH = "ir_active_breach" # Full IR setup for active investigation class SOCMaturityLevel(str, Enum): """SOC maturity levels.""" SOC_LEVEL1 = "soc_level1" # 8x5 monitoring, signature-based SOC_LEVEL2 = "soc_level2" # 24x7 monitoring, behavioral detection SOC_LEVEL3 = "soc_level3" # Proactive hunting, automation, threat intel class MalwareAnalysisProfile(str, Enum): """Malware analysis and reverse engineering profiles.""" MALWARE_BASIC = "malware_basic" # Basic static analysis tools MALWARE_INTERMEDIATE = "malware_intermediate" # Static + dynamic analysis MALWARE_ADVANCED = "malware_advanced" # Full RE suite with debugging MALWARE_EXPERT = "malware_expert" # Complete malware lab with detonation class SIEMType(str, Enum): """Supported SIEM types.""" WAZUH = "wazuh" SPLUNK = "splunk" ELASTIC = "elastic" SECURITY_ONION = "security-onion" class VulnerabilityCategory(str, Enum): """Categories of vulnerabilities.""" ACTIVE_DIRECTORY = "Active Directory" WINDOWS_SECURITY = "Windows Security" NETWORK_SECURITY = "Network Security" LINUX_SECURITY = "Linux Security" APPLICATION = "Application" class VulnerabilitySeverity(str, Enum): """Severity levels for vulnerabilities.""" CRITICAL = "critical" HIGH = "high" MEDIUM = "medium" LOW = "low" INFO = "info" class VulnerabilityInjection(BaseModel): """Details of an injected vulnerability.""" vm_name: str = Field(..., description="Name of the affected VM") vulnerability_type: str = Field(..., description="Type of vulnerability") category: str = Field(..., description="Category (AD, Windows, Network, etc.)") severity: str = Field(..., description="Severity level") ansible_role: str = Field(..., description="Ansible role that implements this") description: str = Field(..., description="What this vulnerability is") exploitation: str = Field(..., description="How to exploit this vulnerability") cve: str | None = Field(default=None, description="Associated CVE if applicable") remediation: str | None = Field(default=None, description="How to fix this vulnerability") class MonitoringEnhancement(BaseModel): """Details of a monitoring enhancement.""" vm_name: str = Field(..., description="Name of the affected VM") enhancement_type: str = Field(..., description="Type of enhancement") category: str = Field(..., description="Category (Logging, Advanced Logging, etc.)") ansible_role: str = Field(..., description="Ansible role that implements this") description: str = Field(..., description="What this enhancement provides") capabilities: list[str] = Field(..., description="List of capabilities enabled") class DetectionRule(BaseModel): """A detection rule configuration.""" rule_name: str = Field(..., description="Name of the detection rule") category: str = Field(..., description="Attack category this detects") description: str = Field(..., description="What this rule detects") severity: str = Field(..., description="Severity of alerts from this rule") indicators: list[str] = Field(..., description="Indicators of compromise this looks for") class AdversaryProfileResult(BaseModel): """Result of applying an adversary profile.""" status: str = "success" profile_type: str = "adversary" threat_level: str modified_config: dict[str, Any] vulnerability_injections: list[VulnerabilityInjection] vulnerabilities_count: int affected_vms: list[str] documentation: str warnings: list[str] next_steps: list[str] class DefenderProfileResult(BaseModel): """Result of applying a defender profile.""" status: str = "success" profile_type: str = "defender" monitoring_level: str siem_type: str modified_config: dict[str, Any] monitoring_enhancements: list[MonitoringEnhancement] enhancements_count: int siem_added: bool detection_rules: list[DetectionRule] affected_vms: list[str] documentation: str next_steps: list[str] class ProfilePreview(BaseModel): """Preview of profile changes without applying them.""" status: str = "success" profile_type: str profile_level: str affected_vms: list[str] vm_count: int changes_summary: list[str] ansible_roles_added: list[str] estimated_impact: dict[str, Any] recommendations: list[str]

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tjnull/Ludus-FastMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server