audit-log-generator

Audit Log Generator Expert

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "audit-log-generator" with this command: npx skills add dengineproblem/agents-monorepo/dengineproblem-agents-monorepo-audit-log-generator

Audit Log Generator Expert

Эксперт в проектировании и реализации логов аудита для безопасности, соответствия требованиям и мониторинга.

Основные элементы лога

Каждая запись должна содержать:

  • Timestamp: UTC с точностью до миллисекунд

  • Event ID: Уникальный идентификатор

  • Actor: Кто выполнил действие

  • Action: Что было выполнено (CREATE, READ, UPDATE, DELETE)

  • Resource: На что было воздействие

  • Source: IP адрес, приложение

  • Result: Успех/неудача

  • Risk Level: Классификация критичности

JSON формат (рекомендуется)

{ "timestamp": "2024-01-15T14:30:45.123Z", "event_id": "evt_7f4a9b2c8e1d", "version": "1.0", "actor": { "user_id": "john.doe@company.com", "session_id": "sess_abc123", "role": "admin" }, "action": "DELETE", "resource": { "type": "database_record", "id": "customer_12345", "table": "customers", "classification": "PII" }, "context": { "source_ip": "192.168.1.100", "user_agent": "Mozilla/5.0...", "application": "customer_portal", "api_endpoint": "/api/v1/customers/12345" }, "result": { "status": "SUCCESS", "response_code": 200, "affected_records": 1 }, "metadata": { "risk_level": "HIGH", "compliance_tags": ["GDPR", "SOX"], "retention_years": 7, "checksum": "sha256:a1b2c3d4..." } }

CEF (Common Event Format)

CEF:0|CompanyName|CustomerPortal|2.1|1001|User Data Deletion|8| rt=Jan 15 2024 14:30:45 UTC src=192.168.1.100 suser=john.doe@company.com act=DELETE dst=customer_db cs1Label=Table cs1=customers cs2Label=RecordID cs2=12345

Классификация событий

События аутентификации

  • Попытки входа (успех/неудача)

  • Смена паролей

  • Активации MFA

  • Блокировки аккаунтов

  • Повышения привилегий

События доступа к данным

{ "action": "READ", "data_classification": "SENSITIVE", "access_method": "API", "record_count": 150, "query_hash": "sha256:..." }

Административные события

  • Изменения конфигурации

  • Предоставление/отзыв доступа

  • Изменения разрешений

  • Операции резервного копирования

События безопасности

  • Неудачные попытки авторизации

  • Аномальные паттерны доступа

  • Нарушения политик безопасности

Compliance Requirements

GDPR

{ "gdpr_context": { "lawful_basis": "legitimate_interest", "data_subject_id": "ds_789", "processing_purpose": "customer_service", "retention_justified": true, "cross_border_transfer": false } }

SOX

  • Отслеживание доступа к финансовым данным

  • Разделение обязанностей

  • Документация изменений

  • Мониторинг доступа руководства

HIPAA

{ "hipaa_context": { "phi_involved": true, "minimum_necessary": true, "covered_entity": "hospital_system", "patient_authorization": "auth_456" } }

Отслеживание изменений

{ "change_tracking": { "before_state": { "customer_tier": "silver", "credit_limit": 5000 }, "after_state": { "customer_tier": "gold", "credit_limit": 10000 }, "change_reason": "promotion_campaign", "approver": "manager.smith@company.com" } }

Batch Operations

{ "batch_context": { "batch_id": "batch_2024_01_15_001", "total_records": 10000, "successful_records": 9987, "failed_records": 13, "processing_duration_ms": 45678, "error_summary": ["validation_failed: 13"] } }

Контроли безопасности

Шифрование

  • AES-256 для данных в покое

  • TLS 1.3 для данных в передаче

  • Отдельные ключи для разных типов логов

  • Регулярная ротация ключей

Контроли доступа

{ "log_access_policy": { "read_access": ["audit_team", "compliance_officer"], "search_access": ["security_analyst"], "export_access": ["legal_team"], "retention_management": ["data_governance"] } }

Обнаружение вмешательства

  • Дерево Меркла для целостности

  • Цифровые подписи с PKI

  • Регулярная проверка целостности

  • Неизменяемые временные метки

Реализация на Python

import json import hashlib from datetime import datetime from typing import Dict, Any, Optional from enum import Enum

class AuditAction(Enum): CREATE = "CREATE" READ = "READ" UPDATE = "UPDATE" DELETE = "DELETE" LOGIN = "LOGIN" LOGOUT = "LOGOUT"

class RiskLevel(Enum): LOW = "LOW" MEDIUM = "MEDIUM" HIGH = "HIGH" CRITICAL = "CRITICAL"

class AuditLogger: def init(self, service_name: str): self.service_name = service_name

def log(
    self,
    action: AuditAction,
    actor_id: str,
    resource_type: str,
    resource_id: str,
    result: str = "SUCCESS",
    risk_level: RiskLevel = RiskLevel.LOW,
    context: Optional[Dict[str, Any]] = None,
    before_state: Optional[Dict] = None,
    after_state: Optional[Dict] = None
) -> Dict[str, Any]:
    event_id = self._generate_event_id()
    timestamp = datetime.utcnow().isoformat() + "Z"

    log_entry = {
        "timestamp": timestamp,
        "event_id": event_id,
        "service": self.service_name,
        "actor": {"user_id": actor_id},
        "action": action.value,
        "resource": {
            "type": resource_type,
            "id": resource_id
        },
        "result": {"status": result},
        "metadata": {
            "risk_level": risk_level.value
        }
    }

    if context:
        log_entry["context"] = context

    if before_state or after_state:
        log_entry["change_tracking"] = {
            "before_state": before_state,
            "after_state": after_state
        }

    log_entry["metadata"]["checksum"] = self._calculate_checksum(log_entry)

    self._persist_log(log_entry)
    return log_entry

def _generate_event_id(self) -> str:
    import uuid
    return f"evt_{uuid.uuid4().hex[:12]}"

def _calculate_checksum(self, entry: Dict) -> str:
    content = json.dumps(entry, sort_keys=True)
    return f"sha256:{hashlib.sha256(content.encode()).hexdigest()[:16]}"

def _persist_log(self, entry: Dict):
    # Отправка в систему логирования
    print(json.dumps(entry, indent=2))

Политики хранения

retention_policies = { "authentication": {"years": 3, "hot_storage_days": 90}, "data_access": {"years": 7, "hot_storage_days": 365}, "administrative": {"years": 10, "hot_storage_days": 180}, "security_incidents": {"years": 10, "hot_storage_days": 1095} }

Мониторинг и алерты

Real-time алерты

  • Всплески неудачных аутентификаций

  • Паттерны привилегированного доступа

  • Индикаторы эксфильтрации данных

  • Нарушения политик соответствия

Регулярная отчетность

  • Ежедневные сводки доступа

  • Еженедельные дашборды соответствия

  • Ежемесячный анализ трендов

  • Ежеквартальные отчеты готовности к аудиту

Лучшие практики

  • Неизменяемость — логи только на добавление

  • Криптографическая защита — подписи и checksums

  • Отдельное хранение — изолировано от операционных систем

  • Регулярная верификация — проверка целостности

  • Документация — цепочка поставки данных

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

social-media-marketing

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

video-marketing

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

frontend-design

No summary provided by upstream source.

Repository SourceNeeds Review