MCPcopy Create free account
hub / github.com/TheSecuredAnalyst/security-suite / to_dict

Method to_dict

modules/orchestrator/loop.py:92–133  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

90
91 def to_dict(self) -> dict:
92 return {
93 "target": self.target,
94 "mode": self.mode,
95 "operator": self.operator,
96 "engagement_id": self.engagement_id,
97 "session_id": self.session_id,
98 "started_at": self.started_at,
99 "completed_at": self.completed_at,
100 "risk_score": self.risk_score,
101 "risk_color": self.risk_color,
102 "summary": {
103 "hosts": self.total_hosts,
104 "services": self.total_services,
105 "cves": self.total_cves,
106 "confirmed_exploitable": self.confirmed_exploitable,
107 "already_exploited": self.already_exploited,
108 "remediations_generated": self.remediations_generated,
109 "remediations_applied": self.remediations_applied,
110 "verified_closed": self.verified_closed,
111 },
112 "findings": [
113 {
114 "ip": f.ip,
115 "port": f.port,
116 "service": f.service,
117 "version": f.version,
118 "cve_id": f.cve_id,
119 "cvss_score": f.cvss_score,
120 "exploit_status": f.exploit_status,
121 "attack_tags": f.attack_tags,
122 "already_exploited": f.already_exploited,
123 "hunt_evidence": f.hunt_evidence,
124 "remediation_safe": f.remediation.safe if f.remediation else None,
125 "remediation_explanation": f.remediation.explanation if f.remediation else None,
126 "harden_applied": bool(f.harden_result and f.harden_result.success),
127 "verified_closed": f.verified_closed,
128 }
129 for f in self.findings
130 ],
131 "errors": self.errors,
132 }
133
134
135# ── Orchestrator ───────────────────────────────────────────────────────────────
136

Callers 2

_enrichMethod · 0.45
_write_reportMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected