Daniel
Deploying clean project to Hugging Face
df5d3a2
Raw
History Blame Contribute Delete
2.94 kB
from typing import Optional, List, Dict, Any, Literal
from pydantic import BaseModel, Field
from datetime import datetime
class Process(BaseModel):
name: str
class Actor(BaseModel):
process: Optional[Process] = None
class Endpoint(BaseModel):
name: str
class ConnectionInfo(BaseModel):
direction: Optional[str] = None
dst_endpoint: Optional[Endpoint] = None
class NetworkActivityData(BaseModel):
connection_info: Optional[ConnectionInfo] = None
class Product(BaseModel):
name: str
vendor_name: str
class Metadata(BaseModel):
version: str = "1.1.0"
product: Product
original_time: Optional[str] = None
class FindingInfo(BaseModel):
title: str
desc: str
types: List[str]
# --- Class 4001: Network Activity ---
class NetworkActivityUnmapped(BaseModel):
attack_type: Optional[Literal["ROLEPLAY_JAILBREAK", "POISONED_RAG", "ADVERSARIAL_ESCALATION"]] = None
attack_vector: Optional[str] = None
expected_failure_mode: Optional[str] = None
sandbox_id: Optional[str] = None
execution_trace: Optional[List[str]] = None
rag_context: Optional[List[str]] = None
class NetworkActivityEvent(BaseModel):
class_uid: int = 4001
class_name: str = "Network Activity"
time: str = Field(default_factory=lambda: datetime.utcnow().isoformat() + "Z")
severity_id: int = 3
actor: Optional[Actor] = None
network_activity: Optional[NetworkActivityData] = None
unmapped: Optional[NetworkActivityUnmapped] = None
metadata: Metadata
# --- Class 2004: Detection Finding ---
class ABACheckResults(BaseModel):
agbom_violation: bool
execution_loop_detected: bool
prompt_injection_detected: bool
semantic_drift_detected: bool
class DetectionFindingUnmapped(BaseModel):
agent_trust_score: float
circuit_breaker_recommendation: bool
aba_check_results: ABACheckResults
evidence: str
class DetectionFindingEvent(BaseModel):
class_uid: int = 2004
class_name: str = "Detection Finding"
time: str = Field(default_factory=lambda: datetime.utcnow().isoformat() + "Z")
severity_id: int
finding: FindingInfo
actor: Optional[Actor] = None
unmapped: Optional[DetectionFindingUnmapped] = None
metadata: Metadata
# --- Class 6003: Remediation Activity ---
class RemediationActivityUnmapped(BaseModel):
quarantine_status: Literal["QUARANTINED", "FAILED", "SKIPPED"]
memory_snapshot_preserved: bool = True
revoked_tools: List[str]
refactored_code: str
vulnerability_patched: str
jit_token_used: str
jit_token_expired_at: str
token_invalidated: bool
class RemediationActivityEvent(BaseModel):
class_uid: int = 6003
class_name: str = "Remediation Activity"
time: str = Field(default_factory=lambda: datetime.utcnow().isoformat() + "Z")
severity_id: int = 4
finding_uid: str
unmapped: Optional[RemediationActivityUnmapped] = None
metadata: Metadata