fix correlation provider issues

This commit is contained in:
overcuriousity
2025-09-24 11:36:27 +02:00
parent 897bb80183
commit 3951b9e521
5 changed files with 225 additions and 947 deletions

View File

@@ -163,7 +163,8 @@ class GraphManager:
'to': target,
'label': attrs.get('relationship_type', ''),
'source_provider': attrs.get('source_provider', ''),
'discovery_timestamp': attrs.get('discovery_timestamp')
'discovery_timestamp': attrs.get('discovery_timestamp'),
'raw_data': attrs.get('raw_data', {})
})
return {

View File

@@ -929,7 +929,7 @@ class Scanner:
# Re-enqueue the node for full processing
is_ip = _is_valid_ip(node_id)
eligible_providers = self._get_eligible_providers(node_id, is_ip, False)
eligible_providers = self._get_eligible_providers(node_id, is_ip, False, is_extracted=True)
for provider in eligible_providers:
provider_name = provider.get_name()
priority = self._get_priority(provider_name)
@@ -1133,7 +1133,7 @@ class Scanner:
self.logger.logger.warning(f"Error initializing provider states for {target}: {e}")
def _get_eligible_providers(self, target: str, is_ip: bool, dns_only: bool) -> List:
def _get_eligible_providers(self, target: str, is_ip: bool, dns_only: bool, is_extracted: bool = False) -> List:
"""
FIXED: Improved provider eligibility checking with better filtering.
"""
@@ -1145,7 +1145,7 @@ class Scanner:
# Check if the target is part of a large entity
is_in_large_entity = False
if self.graph.graph.has_node(target):
if self.graph.graph.has_node(target) and not is_extracted:
metadata = self.graph.graph.nodes[target].get('metadata', {})
if 'large_entity_id' in metadata:
is_in_large_entity = True