Some checks failed
Aegis CI / lint-and-test (push) Has been cancelled
Backend:
- TechniqueOwnership model: per-technique owner, backup owner, team
- RevalidationQueueItem model: prioritised analyst work queue
(critical/high/medium/low, reasons: validation_expired/infra_change/
osint_alert/mitre_update/rule_modified/low_confidence/manual)
- Migration b035ownerq: creates technique_ownerships and
revalidation_queue_items tables with full indexes
Services:
- ownership_service: set/get technique ownership, bulk assign by tactic
or platform, orphan reports for techniques and assets
- revalidation_queue_service: smart queue generation (scans expired
validations, low-confidence techniques, recent infra changes),
list/create/update queue items, analyst dashboard
Router /api/v1/ownership:
GET/PUT /ownership/techniques/{id} — technique ownership
PATCH /ownership/assets/{id} — asset ownership
GET /ownership/orphans/techniques — orphan report
GET /ownership/orphans/assets — orphan report
POST /ownership/bulk-assign — bulk by tactic/platform
GET/POST /ownership/queue — revalidation queue CRUD
PATCH /ownership/queue/{id} — update item status/assignee
POST /ownership/queue/generate — scan & generate items
GET /ownership/analyst-dashboard — personalised daily view
Scheduler: queue_generation job daily at 02:30 (after decay engine)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
55 lines
2.7 KiB
Python
55 lines
2.7 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
|
|
from app.models.ownership_queue import (
|
|
TechniqueOwnership, RevalidationQueueItem,
|
|
QueuePriority, QueueStatus, QueueReason,
|
|
)
|
|
|
|
__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",
|
|
"TechniqueOwnership", "RevalidationQueueItem",
|
|
"QueuePriority", "QueueStatus", "QueueReason",
|
|
]
|