Some checks failed
Aegis CI / lint-and-test (push) Has been cancelled
Tasks 8.1-8.5: Models (8.1): - DetectionAsset: SIEM/EDR/Sigma rule assets with auto-hash - DetectionTechniqueMapping: N:M asset ↔ technique coverage - DetectionValidation: immutable validation records with expiry - TechniqueConfidenceScore: computed multi-factor confidence - InfrastructureChangeLog: infra changes that invalidate detections - DecayPolicy: configurable freshness thresholds per platform/tactic Services (8.2, 8.3): - detection_asset_service: CRUD + SHA-256 rule hashing + auto- invalidation on rule/infra changes - decay_engine_service: daily decay engine — expires stale validations, recalculates confidence (recency/coverage/health/diversity factors), processes infrastructure change propagation Router (8.4): 15 endpoints under /api/v1/detection-lifecycle: assets CRUD, technique mappings, validations, confidence scores, infrastructure changes, decay trigger, executive dashboard Scheduler (8.3): decay engine runs daily at 02:00 Seed (8.5): default policy (90/180/365d) + strict initial-access policy Migration: b034dlm (6 tables, 11 indexes) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
49 lines
2.5 KiB
Python
49 lines
2.5 KiB
Python
# Import all models here so Alembic can detect them
|
|
from app.models.user import User
|
|
from app.models.technique import Technique
|
|
from app.models.test import Test
|
|
from app.models.test_template import TestTemplate
|
|
from app.models.evidence import Evidence
|
|
from app.models.intel import IntelItem
|
|
from app.models.audit import AuditLog
|
|
from app.models.notification import Notification
|
|
from app.models.data_source import DataSource
|
|
from app.models.detection_rule import DetectionRule
|
|
from app.models.threat_actor import ThreatActor, ThreatActorTechnique
|
|
from app.models.defensive_technique import DefensiveTechnique, DefensiveTechniqueMapping
|
|
from app.models.test_template_detection_rule import TestTemplateDetectionRule
|
|
from app.models.test_detection_result import TestDetectionResult
|
|
from app.models.campaign import Campaign, CampaignTest
|
|
from app.models.compliance import ComplianceFramework, ComplianceControl, ComplianceControlMapping
|
|
from app.models.coverage_snapshot import CoverageSnapshot, SnapshotTechniqueState
|
|
from app.models.jira_link import JiraLink, JiraLinkEntityType, JiraSyncDirection
|
|
from app.models.worklog import Worklog
|
|
from app.models.osint_item import OsintItem
|
|
from app.models.scoring_config import ScoringConfig
|
|
from app.models.enums import TechniqueStatus, TestState, TestResult, TeamSide
|
|
from app.models.webhook_config import WebhookConfig
|
|
from app.models.system_config import SystemConfig
|
|
from app.models.detection_lifecycle import (
|
|
DetectionAsset, DetectionTechniqueMapping, DetectionValidation,
|
|
TechniqueConfidenceScore, InfrastructureChangeLog,
|
|
DetectionConfidence, DetectionHealthStatus, InvalidationReason,
|
|
)
|
|
from app.models.decay_policy import DecayPolicy
|
|
|
|
__all__ = [
|
|
"User", "Technique", "Test", "TestTemplate", "Evidence",
|
|
"IntelItem", "AuditLog", "Notification", "DataSource",
|
|
"DetectionRule", "ThreatActor", "ThreatActorTechnique",
|
|
"DefensiveTechnique", "DefensiveTechniqueMapping",
|
|
"TestTemplateDetectionRule", "TestDetectionResult",
|
|
"Campaign", "CampaignTest",
|
|
"ComplianceFramework", "ComplianceControl", "ComplianceControlMapping",
|
|
"CoverageSnapshot", "SnapshotTechniqueState",
|
|
"JiraLink", "JiraLinkEntityType", "JiraSyncDirection",
|
|
"Worklog", "OsintItem", "ScoringConfig",
|
|
"TechniqueStatus", "TestState", "TestResult", "TeamSide",
|
|
"WebhookConfig", "SystemConfig",
|
|
"DetectionAsset", "DetectionTechniqueMapping", "DetectionValidation",
|
|
"TechniqueConfidenceScore", "InfrastructureChangeLog", "DecayPolicy",
|
|
]
|