A modern platform for visual, flexible, and extensible graph-based investigations. For cybersecurity analysts and investigators.
This report presents the forensic synthetic code analysis of reconurge/flowsint, a TypeScript project with 7,284 GitHub stars. SynthScan v2.0 examined 91,635 lines of code across 776 source files, recording 1055 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 14.5 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1055 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flowsint-api/app/utils.py | 163 | def extract_input_schema_flow(model: Type[BaseModel]) -> Dict[str, Any]: | CODE |
| LOW | flowsint-api/app/security/permissions.py | 26 | def check_investigation_permission( | CODE |
| LOW | flowsint-api/app/utils/custom_types.py | 86 | def validate_payload_against_schema(payload: Dict[str, Any], schema: Dict[str, Any]) -> tuple[bool, list[str]]: | CODE |
| LOW | flowsint-api/app/utils/custom_types.py | 110 | def calculate_schema_checksum(schema: Dict[str, Any]) -> str: | CODE |
| LOW | flowsint-api/app/api/sketch_utils.py | 12 | def update_sketch_last_modified(db: Session, sketch_id: str | UUID) -> None: | CODE |
| LOW | flowsint-api/app/api/routes/analysis.py | 65 | def get_analyses_by_investigation( | CODE |
| LOW | flowsint-api/app/api/routes/chat.py | 35 | def get_chats_by_investigation( | CODE |
| LOW | flowsint-api/app/api/routes/flows.py | 134 | async def get_material_by_input_type(input_type: str): | CODE |
| LOW | flowsint-api/app/api/routes/investigations.py | 30 | def _inject_current_user_role(service, investigation, user_id) -> InvestigationRead: | CODE |
| LOW | flowsint-api/app/api/routes/investigations.py | 90 | def get_sketches_by_investigation( | CODE |
| LOW⚡ | flowsint-api/tests/test_events_auth.py | 11 | def test_get_current_user_sse_is_removed(): | CODE |
| LOW⚡ | flowsint-api/tests/test_events_auth.py | 17 | def test_log_stream_requires_auth_header(client): | CODE |
| LOW⚡ | flowsint-api/tests/test_events_auth.py | 23 | def test_status_stream_requires_auth_header(client): | CODE |
| LOW⚡ | flowsint-api/tests/test_events_auth.py | 28 | def test_log_stream_rejects_token_query_param(client): | CODE |
| LOW⚡ | flowsint-api/tests/test_events_auth.py | 35 | def test_dead_scan_stream_endpoint_removed(client): | CODE |
| LOW⚡ | flowsint-api/tests/test_events_auth.py | 41 | def test_get_current_user_accepts_valid_bearer(db_session): | CODE |
| LOW | flowsint-core/tests/core/test_logger_singleton.py | 71 | def test_singleton_returns_same_instance(self, mock_get_db, mock_emit_event): | CODE |
| LOW | flowsint-core/tests/core/test_logger_singleton.py | 82 | def test_singleton_is_thread_safe(self, mock_get_db, mock_emit_event): | CODE |
| LOW | flowsint-core/tests/core/test_logger_singleton.py | 124 | def test_error_logs_correctly(self, logger_instance, mock_emit_event): | CODE |
| LOW⚡ | flowsint-core/tests/core/test_logger_singleton.py | 144 | def test_debug_logs_correctly(self, logger_instance, mock_emit_event): | CODE |
| LOW⚡ | flowsint-core/tests/core/test_logger_singleton.py | 154 | def test_success_logs_correctly(self, logger_instance, mock_emit_event): | CODE |
| LOW⚡ | flowsint-core/tests/core/test_logger_singleton.py | 164 | def test_completed_logs_correctly(self, logger_instance, mock_emit_event): | CODE |
| LOW⚡ | flowsint-core/tests/core/test_logger_singleton.py | 174 | def test_pending_logs_correctly(self, logger_instance, mock_emit_event): | CODE |
| LOW⚡ | flowsint-core/tests/core/test_logger_singleton.py | 184 | def test_graph_append_logs_correctly(self, logger_instance, mock_emit_event): | CODE |
| LOW | flowsint-core/tests/core/test_logger_singleton.py | 207 | def test_batch_flush_when_size_reached(self, logger_instance, mock_db_session): | CODE |
| LOW | flowsint-core/tests/core/test_logger_singleton.py | 242 | def test_batch_worker_flushes_periodically(self, mock_get_db, mock_emit_event, mock_db_session): | CODE |
| LOW | flowsint-core/tests/core/test_logger_singleton.py | 265 | def test_empty_queue_flush_does_nothing(self, logger_instance, mock_db_session): | CODE |
| LOW | flowsint-core/tests/core/test_logger_singleton.py | 327 | def test_shutdown_flushes_pending_logs(self, mock_get_db, mock_emit_event, mock_db_session): | CODE |
| LOW | flowsint-core/tests/core/test_logger_singleton.py | 350 | def test_shutdown_stops_worker_thread(self, mock_get_db, mock_emit_event): | CODE |
| LOW | flowsint-core/tests/core/test_logger_singleton.py | 368 | def test_database_error_does_not_crash(self, logger_instance, mock_db_session): | CODE |
| LOW | flowsint-core/tests/core/test_logger_singleton.py | 381 | def test_event_emission_error_does_not_crash(self, logger_instance, mock_emit_event): | CODE |
| LOW | flowsint-core/tests/core/test_logger_singleton.py | 415 | def test_batch_insertion_is_efficient(self, logger_instance, mock_db_session): | CODE |
| LOW⚡ | …t-core/tests/core/test_enricher_base_simplified_api.py | 35 | def test_create_relationship_with_pydantic_objects(): | CODE |
| LOW⚡ | …t-core/tests/core/test_enricher_base_simplified_api.py | 47 | def test_create_node_with_property_override(): | CODE |
| LOW | flowsint-core/tests/core/base.py | 60 | def test_incorrect_preprocess(): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_serializer.py | 91 | def test_serialize_from_flowsint_type(): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_serializer.py | 116 | def test_removes_empty_strings(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_serializer.py | 136 | def test_cleans_list_of_dicts(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_serializer.py | 141 | def test_removes_empty_nested_dict(self): | CODE |
| LOW⚡ | flowsint-core/tests/core/graph/test_graph_serializer.py | 161 | def test_cleans_empty_values_before_parsing(self): | CODE |
| LOW⚡ | flowsint-core/tests/core/graph/test_graph_serializer.py | 167 | def test_raises_on_unknown_type(self): | CODE |
| LOW⚡ | flowsint-core/tests/core/graph/test_graph_serializer.py | 174 | def test_extracts_node_properties(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_serializer.py | 204 | def test_converts_values_to_string(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_serializer.py | 269 | def test_deserializes_multiple_nodes(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_serializer.py | 302 | def test_deserializes_multiple_edges(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_serializer.py | 319 | def test_raises_on_missing_data(self): | CODE |
| LOW | …nt-core/tests/core/graph/in_memory_graph_repository.py | 176 | def create_relationship_by_element_id( | CODE |
| LOW | …nt-core/tests/core/graph/in_memory_graph_repository.py | 393 | def batch_create_edges_by_element_id( | CODE |
| LOW⚡ | flowsint-core/tests/core/graph/test_graph_service.py | 474 | def test_log_graph_message_without_logger(self): | CODE |
| LOW⚡ | flowsint-core/tests/core/graph/test_graph_service.py | 482 | def test_flush_with_batching_enabled(self): | CODE |
| LOW⚡ | flowsint-core/tests/core/graph/test_graph_service.py | 491 | def test_flush_with_batching_disabled(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_service.py | 19 | def test_init_with_injected_repository(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_service.py | 36 | def test_init_with_in_memory_repository(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_service.py | 44 | def test_init_without_repository_raises(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_service.py | 61 | def test_create_node_with_graph_node(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_service.py | 80 | def test_create_node_with_in_memory_repository(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_service.py | 98 | def test_create_node_with_flowsint_type_raises(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_service.py | 106 | def test_create_node_with_batching(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_service.py | 127 | def test_create_node_from_flowsint_type(self): | CODE |
| LOW | flowsint-core/tests/core/graph/test_graph_service.py | 139 | def test_create_node_from_flowsint_type_with_graph_node_raises(self): | CODE |
| 333 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flowsint-api/app/utils/custom_types.py | 5 | CODE | |
| LOW | flowsint-api/app/api/routes/sketches.py | 25 | CODE | |
| LOW | flowsint-api/app/api/routes/chat.py | 1 | CODE | |
| LOW | flowsint-api/tests/test_events_auth.py | 5 | CODE | |
| LOW | flowsint-api/alembic/env.py | 13 | CODE | |
| LOW | …ic/versions/661ff8ef4425_rename_transforms_to_flows.py | 11 | CODE | |
| LOW | …ns/6dfa83113ad7_change_content_colum_of_log_to_json.py | 10 | CODE | |
| LOW | …ns/6dfa83113ad7_change_content_colum_of_log_to_json.py | 11 | CODE | |
| LOW | flowsint-api/alembic/versions/d39941278a91_init.py | 10 | CODE | |
| LOW | flowsint-api/alembic/versions/d39941278a91_init.py | 11 | CODE | |
| LOW | …ersions/0ab8ee0a782c_add_cascade_delete_to_messages.py | 10 | CODE | |
| LOW | …ersions/0ab8ee0a782c_add_cascade_delete_to_messages.py | 11 | CODE | |
| LOW | …lembic/versions/8d0e12b68d1e_fix_backpopulate_issue.py | 10 | CODE | |
| LOW | …lembic/versions/8d0e12b68d1e_fix_backpopulate_issue.py | 11 | CODE | |
| LOW | …pi/alembic/versions/afdaf9aa539c_add_passive_delete.py | 10 | CODE | |
| LOW | …pi/alembic/versions/afdaf9aa539c_add_passive_delete.py | 11 | CODE | |
| LOW | …s/2da47dbd4a52_add_cascade_delete_to_scans_and_logs.py | 11 | CODE | |
| LOW | …a8e5b5a7b9_add_relationship_between_investigations_.py | 10 | CODE | |
| LOW | …a8e5b5a7b9_add_relationship_between_investigations_.py | 11 | CODE | |
| LOW | …alembic/versions/1d0f26dbbef5_add_passive_delete_v2.py | 10 | CODE | |
| LOW | …alembic/versions/1d0f26dbbef5_add_passive_delete_v2.py | 11 | CODE | |
| LOW | …f5436251e3_add_relationship_between_investigations_.py | 10 | CODE | |
| LOW | …f5436251e3_add_relationship_between_investigations_.py | 11 | CODE | |
| LOW | …sions/f5fae279ec04_merge_portable_column_types_and_.py | 10 | CODE | |
| LOW | …sions/f5fae279ec04_merge_portable_column_types_and_.py | 11 | CODE | |
| LOW | …ns/c82bf6af92e5_add_investigation_roles_permissions.py | 11 | CODE | |
| LOW | …ns/c82bf6af92e5_add_investigation_roles_permissions.py | 12 | CODE | |
| LOW | flowsint-core/tests/conftest.py | 3 | CODE | |
| LOW | flowsint-core/tests/core/test_logger_singleton.py | 15 | CODE | |
| LOW | …t-core/tests/core/test_enricher_base_simplified_api.py | 5 | CODE | |
| LOW | …t-core/tests/core/test_enricher_base_simplified_api.py | 7 | CODE | |
| LOW | flowsint-core/tests/core/graph/test_graph_repository.py | 4 | CODE | |
| LOW | flowsint-core/tests/core/graph/test_graph_repository.py | 5 | CODE | |
| LOW | flowsint-core/tests/core/graph/test_graph_repository.py | 5 | CODE | |
| LOW | …nt-core/tests/repositories/test_analysis_repository.py | 2 | CODE | |
| LOW | flowsint-core/tests/repositories/test_log_repository.py | 2 | CODE | |
| LOW | flowsint-core/tests/repositories/test_log_repository.py | 2 | CODE | |
| LOW | flowsint-core/tests/repositories/test_key_repository.py | 2 | CODE | |
| LOW | …sint-core/tests/repositories/test_sketch_repository.py | 2 | CODE | |
| LOW | flowsint-core/tests/templates/test_loader.py | 3 | CODE | |
| LOW | flowsint-core/tests/templates/test_loader.py | 8 | CODE | |
| LOW | flowsint-core/tests/templates/enricher.py | 9 | CODE | |
| LOW | flowsint-core/tests/templates/test_template_enricher.py | 3 | CODE | |
| LOW | flowsint-core/tests/templates/test_template_enricher.py | 6 | CODE | |
| LOW | flowsint-core/tests/templates/test_template_enricher.py | 11 | CODE | |
| LOW | flowsint-core/tests/templates/test_template_enricher.py | 15 | CODE | |
| LOW | flowsint-core/tests/import/test_file_parser.py | 1 | CODE | |
| LOW | flowsint-core/tests/import/txt/test_txt_import.py | 8 | CODE | |
| LOW | flowsint-core/tests/import/txt/test_txt_import.py | 8 | CODE | |
| LOW | flowsint-core/tests/import/txt/test_txt_import.py | 8 | CODE | |
| LOW | flowsint-core/tests/import/txt/test_txt_import.py | 8 | CODE | |
| LOW | flowsint-core/tests/vault/test_vault.py | 4 | CODE | |
| LOW | …nt-core/tests/vault/test_enricher_vault_integration.py | 5 | CODE | |
| LOW | …nt-core/tests/vault/test_enricher_vault_integration.py | 5 | CODE | |
| LOW | flowsint-core/src/flowsint_core/__init__.py | 5 | CODE | |
| LOW | flowsint-core/src/flowsint_core/__init__.py | 6 | CODE | |
| LOW | flowsint-core/src/flowsint_core/__init__.py | 7 | CODE | |
| LOW | flowsint-core/src/flowsint_core/__init__.py | 8 | CODE | |
| LOW | flowsint-core/src/flowsint_core/__init__.py | 9 | CODE | |
| LOW | flowsint-core/src/flowsint_core/__init__.py | 10 | CODE | |
| 174 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flowsint-api/app/utils.py | 51 | except Exception as e: | CODE |
| LOW | flowsint-api/app/utils.py | 99 | except Exception: | CODE |
| LOW | flowsint-api/app/utils.py | 204 | except Exception as e: | CODE |
| LOW | flowsint-api/app/utils/custom_types.py | 174 | except Exception as e: | CODE |
| LOW | flowsint-api/app/api/sketch_utils.py | 41 | except Exception as e: | CODE |
| MEDIUM | flowsint-api/app/api/sketch_utils.py | 43 | print(f"Error updating sketch/investigation timestamp for {sketch_id}: {e}") | CODE |
| LOW | flowsint-api/app/api/routes/sketches.py | 431 | except Exception as e: | CODE |
| LOW | flowsint-api/app/api/routes/sketches.py | 445 | except Exception as e: | CODE |
| LOW | flowsint-api/app/api/routes/sketches.py | 478 | except Exception as e: | CODE |
| LOW | flowsint-api/app/api/routes/sketches.py | 505 | except Exception as e: | CODE |
| LOW | flowsint-api/app/api/routes/events.py | 79 | except Exception as e: | CODE |
| LOW | flowsint-api/app/api/routes/events.py | 149 | except Exception as e: | CODE |
| LOW | flowsint-api/app/api/routes/enrichers.py | 92 | except Exception as e: | CODE |
| LOW | flowsint-api/app/api/routes/enricher_templates.py | 155 | except Exception as e: | CODE |
| LOW | flowsint-api/app/api/routes/flows.py | 246 | except Exception as e: | CODE |
| LOW | …nt-core/tests/core/graph/in_memory_graph_repository.py | 384 | except Exception as e: | CODE |
| LOW | …nt-core/tests/core/graph/in_memory_graph_repository.py | 417 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/utils.py | 50 | except Exception: | CODE |
| LOW | flowsint-core/src/flowsint_core/utils.py | 98 | except Exception: | CODE |
| LOW | flowsint-core/src/flowsint_core/utils.py | 203 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/tasks/event.py | 24 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/tasks/event.py | 40 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/tasks/flow.py | 50 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/tasks/flow.py | 73 | except Exception as ex: | CODE |
| MEDIUM | flowsint-core/src/flowsint_core/tasks/flow.py | 76 | print(f"Error in task: {error_logs}") | CODE |
| LOW | flowsint-core/src/flowsint_core/tasks/enricher.py | 52 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/tasks/enricher.py | 77 | except Exception as ex: | CODE |
| MEDIUM | flowsint-core/src/flowsint_core/tasks/enricher.py | 80 | print(f"Error in task: {error_logs}") | CODE |
| LOW | flowsint-core/src/flowsint_core/tasks/enricher.py | 121 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/tasks/enricher.py | 153 | except Exception as ex: | CODE |
| MEDIUM | flowsint-core/src/flowsint_core/tasks/enricher.py | 156 | print(f"Error in template task: {error_logs}") | CODE |
| LOW | …wsint-core/src/flowsint_core/core/template_enricher.py | 253 | except Exception as e: | CODE |
| LOW | …wsint-core/src/flowsint_core/core/template_enricher.py | 338 | except Exception: | CODE |
| LOW | …wsint-core/src/flowsint_core/core/template_enricher.py | 459 | except Exception as e: | CODE |
| LOW | …wsint-core/src/flowsint_core/core/template_enricher.py | 526 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/core/logger.py | 172 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/core/logger.py | 195 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/core/logger.py | 273 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/core/orchestrator.py | 87 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/core/orchestrator.py | 133 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/core/orchestrator.py | 166 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/core/orchestrator.py | 206 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/core/orchestrator.py | 469 | except Exception as e: | CODE |
| LOW | flowsint-core/src/flowsint_core/core/enricher_base.py | 401 | except Exception: | CODE |
| LOW | flowsint-core/src/flowsint_core/core/enricher_base.py | 438 | except Exception as e: | CODE |
| LOW | …owsint-core/src/flowsint_core/core/graph/connection.py | 182 | except Exception: | CODE |
| LOW | …owsint-core/src/flowsint_core/core/graph/connection.py | 210 | except Exception as e: | CODE |
| LOW | …owsint-core/src/flowsint_core/core/graph/repository.py | 226 | except Exception as e: | CODE |
| LOW | …owsint-core/src/flowsint_core/core/graph/repository.py | 249 | except Exception as e: | CODE |
| LOW | …owsint-core/src/flowsint_core/core/graph/repository.py | 286 | except Exception as e: | CODE |
| LOW | …owsint-core/src/flowsint_core/core/graph/repository.py | 301 | except Exception as e: | CODE |
| LOW | …owsint-core/src/flowsint_core/core/graph/repository.py | 375 | except Exception as e: | STRING |
| LOW | …owsint-core/src/flowsint_core/core/graph/repository.py | 390 | except Exception as e: | STRING |
| LOW | …c/flowsint_core/core/services/investigation_service.py | 138 | except Exception as e: | CODE |
| LOW | …c/flowsint_core/core/services/type_registry_service.py | 122 | except Exception: | CODE |
| LOW | …nt-core/src/flowsint_core/core/services/log_service.py | 92 | except Exception as e: | CODE |
| LOW | …core/src/flowsint_core/core/services/sketch_service.py | 106 | except Exception as e: | CODE |
| LOW | …core/src/flowsint_core/core/services/sketch_service.py | 150 | except Exception as e: | CODE |
| LOW | …core/src/flowsint_core/core/services/sketch_service.py | 179 | except Exception as e: | CODE |
| LOW | …core/src/flowsint_core/core/services/sketch_service.py | 200 | except Exception as e: | CODE |
| 132 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | flowsint-api/app/api/schemas/investigation.py | 38 | # ── Collaborator schemas ───────────────────────────────────────────── | COMMENT |
| MEDIUM | flowsint-api/app/api/routes/investigations.py | 147 | # ── Collaborator endpoints ─────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nt-core/tests/core/graph/in_memory_graph_repository.py | 31 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nt-core/tests/core/graph/in_memory_graph_repository.py | 33 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nt-core/tests/core/graph/in_memory_graph_repository.py | 451 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nt-core/tests/core/graph/in_memory_graph_repository.py | 453 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nt-core/tests/core/graph/in_memory_graph_repository.py | 139 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nt-core/tests/core/graph/in_memory_graph_repository.py | 141 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nt-core/tests/core/graph/in_memory_graph_repository.py | 232 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nt-core/tests/core/graph/in_memory_graph_repository.py | 234 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nt-core/tests/core/graph/in_memory_graph_repository.py | 322 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nt-core/tests/core/graph/in_memory_graph_repository.py | 324 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nt-core/tests/core/graph/in_memory_graph_repository.py | 368 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nt-core/tests/core/graph/in_memory_graph_repository.py | 370 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nt-core/tests/core/graph/in_memory_graph_repository.py | 466 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nt-core/tests/core/graph/in_memory_graph_repository.py | 468 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nt-core/tests/core/graph/in_memory_graph_repository.py | 481 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nt-core/tests/core/graph/in_memory_graph_repository.py | 483 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …c/flowsint_core/core/services/investigation_service.py | 150 | # ── Collaborator management ────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/components/sketches/details-panel/details-panel.tsx | 48 | // ── Types ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/components/sketches/details-panel/details-panel.tsx | 63 | // ── Constants ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/components/sketches/details-panel/details-panel.tsx | 83 | // ── Helpers ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/components/sketches/details-panel/details-panel.tsx | 107 | // ── Sub-components ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/components/sketches/details-panel/details-panel.tsx | 265 | // ── Main Component ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/components/sketches/details-panel/details-panel.tsx | 477 | // ── Empty state ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/components/sketches/details-panel/details-panel.tsx | 491 | // ── Render ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | flowsint-enrichers/tests/enrichers/test_tech_detect.py | 9 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | flowsint-enrichers/tests/enrichers/test_tech_detect.py | 11 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | flowsint-enrichers/tests/enrichers/test_tech_detect.py | 32 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | flowsint-enrichers/tests/enrichers/test_tech_detect.py | 34 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | flowsint-enrichers/tests/enrichers/test_tech_detect.py | 47 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | flowsint-enrichers/tests/enrichers/test_tech_detect.py | 49 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | flowsint-enrichers/tests/enrichers/test_tech_detect.py | 66 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | flowsint-enrichers/tests/enrichers/test_tech_detect.py | 68 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …owsint-enrichers/tests/enrichers/test_domain_to_dns.py | 9 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …owsint-enrichers/tests/enrichers/test_domain_to_dns.py | 11 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …owsint-enrichers/tests/enrichers/test_domain_to_dns.py | 24 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …owsint-enrichers/tests/enrichers/test_domain_to_dns.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …owsint-enrichers/tests/enrichers/test_domain_to_dns.py | 69 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …owsint-enrichers/tests/enrichers/test_domain_to_dns.py | 71 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flowsint-api/app/utils.py | 132 | CODE | |
| LOW | flowsint-api/app/utils.py | 189 | CODE | |
| LOW | flowsint-api/app/utils.py | 289 | CODE | |
| LOW | flowsint-api/app/utils/custom_types.py | 181 | CODE | |
| LOW | flowsint-api/app/api/sketch_utils.py | 12 | CODE | |
| LOW | flowsint-api/app/api/routes/flows.py | 260 | CODE | |
| LOW | flowsint-api/app/api/routes/flows.py | 476 | CODE | |
| LOW | …nt-core/tests/core/graph/in_memory_graph_repository.py | 75 | CODE | |
| LOW | …nt-core/tests/core/graph/in_memory_graph_repository.py | 123 | CODE | |
| LOW | …nt-core/tests/core/graph/in_memory_graph_repository.py | 219 | CODE | |
| LOW | …nt-core/tests/core/graph/in_memory_graph_repository.py | 272 | CODE | |
| LOW | flowsint-core/src/flowsint_core/utils.py | 131 | CODE | |
| LOW | flowsint-core/src/flowsint_core/utils.py | 188 | CODE | |
| LOW | flowsint-core/src/flowsint_core/utils.py | 254 | CODE | |
| LOW | flowsint-core/src/flowsint_core/utils.py | 327 | CODE | |
| LOW | …wsint-core/src/flowsint_core/core/template_enricher.py | 274 | CODE | |
| LOW | …wsint-core/src/flowsint_core/core/template_enricher.py | 380 | CODE | |
| LOW | flowsint-core/src/flowsint_core/core/orchestrator.py | 34 | CODE | |
| LOW | flowsint-core/src/flowsint_core/core/orchestrator.py | 93 | CODE | |
| LOW | flowsint-core/src/flowsint_core/core/orchestrator.py | 259 | CODE | |
| LOW | flowsint-core/src/flowsint_core/core/orchestrator.py | 344 | CODE | |
| LOW | flowsint-core/src/flowsint_core/core/enricher_base.py | 156 | CODE | |
| LOW | flowsint-core/src/flowsint_core/core/enricher_base.py | 361 | CODE | |
| LOW | …owsint-core/src/flowsint_core/core/graph/serializer.py | 30 | CODE | |
| LOW | …owsint-core/src/flowsint_core/core/graph/repository.py | 188 | CODE | |
| LOW | …c/flowsint_core/core/services/type_registry_service.py | 160 | CODE | |
| LOW | …nt-core/src/flowsint_core/core/services/log_service.py | 48 | CODE | |
| LOW | …owsint-core/src/flowsint_core/imports/txt/parse_txt.py | 7 | CODE | |
| LOW | …sint-core/src/flowsint_core/imports/json/parse_json.py | 17 | CODE | |
| LOW | …core/src/flowsint_core/templates/loader/yaml_loader.py | 200 | CODE | |
| LOW | …core/src/flowsint_core/templates/loader/yaml_loader.py | 234 | CODE | |
| LOW | flowsint-types/src/flowsint_types/individual.py | 323 | CODE | |
| LOW | flowsint-types/src/flowsint_types/individual.py | 352 | CODE | |
| LOW | flowsint-types/src/flowsint_types/individual.py | 379 | CODE | |
| LOW | flowsint-types/src/flowsint_types/individual.py | 406 | CODE | |
| LOW | flowsint-enrichers/src/tools/network/dnsx.py | 128 | CODE | |
| LOW | flowsint-enrichers/src/tools/network/asnmap.py | 53 | CODE | |
| LOW | flowsint-enrichers/src/flowsint_enrichers/utils.py | 105 | CODE | |
| LOW | flowsint-enrichers/src/flowsint_enrichers/utils.py | 186 | CODE | |
| LOW | flowsint-enrichers/src/flowsint_enrichers/utils.py | 243 | CODE | |
| LOW | flowsint-enrichers/src/flowsint_enrichers/utils.py | 343 | CODE | |
| LOW | …ichers/src/flowsint_enrichers/organization/to_infos.py | 31 | CODE | |
| LOW | …hers/src/flowsint_enrichers/organization/to_domains.py | 70 | CODE | |
| LOW | …hers/src/flowsint_enrichers/organization/to_domains.py | 388 | CODE | |
| LOW | …richers/src/flowsint_enrichers/website/to_subdomain.py | 54 | CODE | |
| LOW | …enrichers/src/flowsint_enrichers/website/to_crawler.py | 48 | CODE | |
| LOW | …hers/src/flowsint_enrichers/website/to_technologies.py | 66 | CODE | |
| LOW | …t-enrichers/src/flowsint_enrichers/website/to_links.py | 39 | CODE | |
| LOW | …t-enrichers/src/flowsint_enrichers/website/to_links.py | 69 | CODE | |
| LOW | …owsint-enrichers/src/flowsint_enrichers/cidr/to_ips.py | 62 | CODE | |
| LOW | …owsint-enrichers/src/flowsint_enrichers/cidr/to_ips.py | 113 | CODE | |
| LOW | …enrichers/src/flowsint_enrichers/social/to_sherlock.py | 32 | CODE | |
| LOW | …richers/src/flowsint_enrichers/social/to_hudsonrock.py | 35 | CODE | |
| LOW | …enrichers/src/flowsint_enrichers/social/to_dehashed.py | 63 | CODE | |
| LOW | …wsint-enrichers/src/flowsint_enrichers/asn/to_cidrs.py | 64 | CODE | |
| LOW | …wsint-enrichers/src/flowsint_enrichers/asn/to_cidrs.py | 117 | CODE | |
| LOW | …int-enrichers/src/flowsint_enrichers/phone/to_infos.py | 81 | CODE | |
| LOW | …nrichers/src/flowsint_enrichers/phone/to_hudsonrock.py | 31 | CODE | |
| LOW | …wsint-enrichers/src/flowsint_enrichers/ip/to_domain.py | 30 | CODE | |
| LOW | …owsint-enrichers/src/flowsint_enrichers/ip/to_ports.py | 109 | CODE | |
| 21 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | flowsint-api/app/utils.py | 0 | determine if a domain is a root domain or subdomain. args: domain: the domain string to check returns: true if it's a ro | STRING |
| HIGH | flowsint-core/src/flowsint_core/utils.py | 0 | determine if a domain is a root domain or subdomain. args: domain: the domain string to check returns: true if it's a ro | STRING |
| HIGH | flowsint-enrichers/src/flowsint_enrichers/utils.py | 0 | determine if a domain is a root domain or subdomain. args: domain: the domain string to check returns: true if it's a ro | STRING |
| HIGH | flowsint-api/app/utils.py | 0 | validates a phone number. raises invalidphonenumbererror if invalid. - `region` should be iso 3166-1 alpha-2 country cod | STRING |
| HIGH | flowsint-core/src/flowsint_core/utils.py | 0 | validates a phone number. raises invalidphonenumbererror if invalid. - `region` should be iso 3166-1 alpha-2 country cod | STRING |
| HIGH | flowsint-enrichers/src/flowsint_enrichers/utils.py | 0 | validates a phone number. raises invalidphonenumbererror if invalid. - `region` should be iso 3166-1 alpha-2 country cod | STRING |
| HIGH | flowsint-api/app/utils.py | 0 | get the inline relationships for a list of nodes and edges. | STRING |
| HIGH | flowsint-core/src/flowsint_core/utils.py | 0 | get the inline relationships for a list of nodes and edges. | STRING |
| HIGH | flowsint-enrichers/src/flowsint_enrichers/utils.py | 0 | get the inline relationships for a list of nodes and edges. | STRING |
| HIGH | …hers/src/flowsint_enrichers/organization/to_domains.py | 0 | create neo4j nodes and relationships from extracted data. | STRING |
| HIGH | …-enrichers/src/flowsint_enrichers/domain/to_history.py | 0 | create neo4j nodes and relationships from extracted data. | STRING |
| HIGH | …t-enrichers/src/flowsint_enrichers/email/to_domains.py | 0 | create neo4j nodes and relationships from extracted data. | STRING |
| HIGH | …ichers/src/flowsint_enrichers/individual/to_domains.py | 0 | create neo4j nodes and relationships from extracted data. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | flowsint-api/app/utils/custom_types.py | 125 | Convert a JSON Schema to a Pydantic model. Args: schema: The JSON Schema definition model_name | STRING |
| HIGH | …wsint-core/src/flowsint_core/core/template_enricher.py | 236 | Parse the HTTP response based on expected format. Args: response: The httpx Response objec | STRING |
| HIGH | …wsint-core/src/flowsint_core/core/template_enricher.py | 284 | Make an HTTP request with retry logic. Args: client: The httpx AsyncClient met | STRING |
| HIGH | flowsint-core/src/flowsint_core/core/graph/service.py | 311 | Execute a custom Cypher query. Args: cypher: Cypher query string parameters: Q | STRING |
| HIGH | …owsint-core/src/flowsint_core/core/graph/connection.py | 97 | Execute a single query. Args: query: Cypher query string parameters: Query par | STRING |
| HIGH | …owsint-core/src/flowsint_core/core/graph/connection.py | 122 | Execute a write query within a write transaction. Args: query: Cypher query string | STRING |
| HIGH | …owsint-core/src/flowsint_core/core/graph/repository.py | 654 | Execute a custom Cypher query. Args: cypher: Cypher query string parameters: Q | STRING |
| HIGH | …wsint_core/core/services/template_generator_service.py | 202 | Generate an enricher template YAML from a free-text description. Args: prompt: User's free-text des | STRING |
| HIGH | …wsint-core/src/flowsint_core/imports/import_service.py | 70 | Analyze an uploaded file for import. Args: file_content: Raw file content as bytes | STRING |
| HIGH | …core/src/flowsint_core/templates/loader/yaml_loader.py | 173 | Render a template string by substituting {{variable}} placeholders. Args: template: Templa | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | flowsint-api/app/utils/custom_types.py | 170 | # Create the dynamic model | COMMENT |
| MEDIUM | …a3b9a199aa8_drop_third_party_keys_create_keys_table.py | 26 | # Create the new keys table | COMMENT |
| MEDIUM | …embic/versions/71a3e5b4db2a_update_scan_status_enum.py | 23 | # Create the enum type first using raw SQL to ensure it exists | COMMENT |
| MEDIUM | flowsint-core/tests/core/graph/test_graph_service.py | 614 | # Create a relationship | COMMENT |
| MEDIUM | flowsint-core/tests/templates/enricher.py | 3 | # This file is kept for backwards compatibility | COMMENT |
| MEDIUM | flowsint-core/tests/templates/loader.py | 3 | # This file is kept for backwards compatibility | COMMENT |
| MEDIUM | flowsint-core/tests/vault/test_vault.py | 105 | # Create a mock Key object | COMMENT |
| MEDIUM | flowsint-core/tests/vault/test_vault.py | 134 | # Create a mock Key object | COMMENT |
| MEDIUM | …nt-core/tests/vault/test_enricher_vault_integration.py | 383 | # Create an enricher that uses get_secret in scan | COMMENT |
| MEDIUM | flowsint-core/src/flowsint_core/core/orchestrator.py | 39 | # Create a directory for storing enricher files if it doesn't exist | COMMENT |
| MEDIUM | flowsint-core/src/flowsint_core/core/orchestrator.py | 177 | # Create a directory for storing enricher files if it doesn't exist | COMMENT |
| MEDIUM | …owsint-core/src/flowsint_core/core/graph/connection.py | 199 | # Create the default singleton instance | COMMENT |
| MEDIUM | …t-enrichers/src/flowsint_enrichers/website/to_links.py | 53 | # Create main website and domain nodes upfront | COMMENT |
| MEDIUM⚡ | …int-enrichers/src/flowsint_enrichers/phone/to_infos.py | 57 | # Import necessary modules for each platform | COMMENT |
| MEDIUM⚡ | …int-enrichers/src/flowsint_enrichers/phone/to_infos.py | 62 | # Create an HTTP client for asynchronous requests | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flowsint-api/app/api/routes/flows.py | 275 | return "user@example.com" | CODE |
| LOW | flowsint-api/app/api/routes/flows.py | 510 | "email": inputs.get("input", "user@example.com"), | CODE |
| LOW⚡ | flowsint-api/tests/test_events_auth.py | 30 | token = create_access_token({"sub": "user@example.com"}) | CODE |
| LOW⚡ | flowsint-api/tests/test_events_auth.py | 45 | db_session.add(Profile(email="user@example.com", hashed_password="x")) | CODE |
| LOW⚡ | flowsint-api/tests/test_events_auth.py | 48 | token = create_access_token({"sub": "user@example.com"}) | CODE |
| LOW⚡ | flowsint-api/tests/test_events_auth.py | 50 | assert user.email == "user@example.com" | CODE |
| LOW⚡ | …t-core/tests/core/test_enricher_base_simplified_api.py | 40 | individual = Individual(first_name="John", last_name="Doe", full_name="John Doe") | CODE |
| LOW⚡ | flowsint-core/tests/import/txt/test_txt_import.py | 397 | txt_content = b"user@example.com" | CODE |
| LOW⚡ | flowsint-core/tests/import/txt/test_txt_import.py | 405 | assert entity_preview.obj.email == "user@example.com" | CODE |
| LOW | …owsint-app/src/components/templates/template-schema.ts | 188 | # "name": "John Doe", | COMMENT |
| LOW⚡ | flowsint-types/tests/test_socialaccount.py | 7 | username=username, display_name="John Doe", platform="twitter" | CODE |
| LOW⚡ | flowsint-types/tests/test_socialaccount.py | 17 | display_name="John Doe", | CODE |
| LOW | flowsint-types/tests/test_labels.py | 34 | assert individual.nodeLabel == "John Doe" | CODE |
| LOW | flowsint-types/tests/test_labels.py | 35 | assert individual.full_name == "John Doe" | CODE |
| LOW⚡ | flowsint-types/tests/test_labels.py | 50 | org = Organization(name="Acme Corp") | CODE |
| LOW⚡ | flowsint-types/tests/test_labels.py | 51 | assert org.nodeLabel == "Acme Corp" | CODE |
| LOW⚡ | flowsint-types/tests/test_labels.py | 147 | username=username, display_name="John Doe", platform="twitter" | CODE |
| LOW | flowsint-types/tests/test_labels.py | 198 | address="123 Main St", city="Paris", country="France", zip="75001" | CODE |
| LOW | flowsint-types/src/flowsint_types/individual.py | 424 | Example: "John Doe" -> first_name="John", last_name="Doe" | STRING |
| LOW | flowsint-enrichers/tests/logger.py | 27 | self.id = "dummy_id" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flowsint-api/app/utils.py | 90 | # Check if the domain ends with a common country code TLD | COMMENT |
| LOW | flowsint-api/app/utils/custom_types.py | 66 | # Check if type is in whitelist | COMMENT |
| LOW⚡ | …nt-core/tests/core/graph/in_memory_graph_repository.py | 40 | # Check if node already exists (MERGE behavior) | COMMENT |
| LOW | flowsint-core/src/flowsint_core/utils.py | 89 | # Check if the domain ends with a common country code TLD | COMMENT |
| LOW | …wsint-core/src/flowsint_core/core/template_enricher.py | 323 | # Check if we should retry based on status code | COMMENT |
| LOW | flowsint-core/src/flowsint_core/core/orchestrator.py | 423 | # Check if we already have results for this enricher with these inputs | COMMENT |
| LOW | …c/flowsint_core/core/services/investigation_service.py | 186 | # Check if already a collaborator | COMMENT |
| LOW | …t-core/src/flowsint_core/core/services/flow_service.py | 48 | # Check if category is a custom type | COMMENT |
| LOW | …core/src/flowsint_core/templates/loader/yaml_loader.py | 87 | # Check if hostname is an IP address in blocked range | COMMENT |
| LOW | flowsint-enrichers/src/tools/dockertool.py | 83 | # Check if it's a container exit error | COMMENT |
| LOW | flowsint-enrichers/src/flowsint_enrichers/utils.py | 91 | # Check if the domain ends with a common country code TLD | COMMENT |
| LOW | flowsint-enrichers/src/flowsint_enrichers/utils.py | 140 | # Check if the domain ends with a common country code TLD | COMMENT |
| LOW | …chers/src/flowsint_enrichers/crypto/to_transactions.py | 136 | # Check if the API returned an error | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flowsint-api/app/api/sketch_utils.py | 12 | def update_sketch_last_modified(db: Session, sketch_id: str | UUID) -> None: | CODE |
| LOW⚡ | …nt-core/tests/core/graph/in_memory_graph_repository.py | 445 | def set_batch_size(self, size: int) -> None: | CODE |
| LOW | flowsint-core/src/flowsint_core/tasks/event.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | flowsint-core/src/flowsint_core/core/logger_old.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | flowsint-core/src/flowsint_core/core/enricher_base.py | 339 | def set_params(self, params: Dict[str, Any]) -> None: | CODE |
| LOW | flowsint-core/src/flowsint_core/core/llm/__init__.py | 5 | __all__ = ["ChatMessage", "MessageRole", "LLMProvider", "create_llm_provider"] | CODE |
| LOW | …-core/src/flowsint_core/core/llm/providers/__init__.py | 4 | __all__ = ["MistralProvider", "OpenAIProvider"] | CODE |
| LOW | flowsint-core/src/flowsint_core/core/graph/service.py | 323 | def set_batch_size(self, size: int) -> None: | CODE |
| LOW | flowsint-core/src/flowsint_core/core/graph/__init__.py | 24 | __all__ = [ | CODE |
| LOW | …re/src/flowsint_core/core/graph/repository_protocol.py | 122 | def set_batch_size(self, size: int) -> None: | CODE |
| LOW | …owsint-core/src/flowsint_core/core/graph/repository.py | 177 | def set_batch_size(self, size: int) -> None: | CODE |
| LOW | …t-core/src/flowsint_core/core/repositories/__init__.py | 15 | __all__ = [ | CODE |
| LOW | …wsint-core/src/flowsint_core/core/services/__init__.py | 44 | __all__ = [ | CODE |
| LOW | flowsint-core/src/flowsint_core/imports/__init__.py | 15 | __all__ = [ | CODE |
| LOW | flowsint-core/src/flowsint_core/imports/txt/__init__.py | 3 | __all__ = [ | CODE |
| LOW | …owsint-core/src/flowsint_core/imports/json/__init__.py | 3 | __all__ = [ | CODE |
| LOW | flowsint-types/src/flowsint_types/__init__.py | 59 | __all__ = [ | CODE |
| LOW | flowsint-enrichers/src/tools/__init__.py | 11 | __all__ = ["Tool", "DockerTool"] | CODE |
| LOW | flowsint-enrichers/src/flowsint_enrichers/__init__.py | 11 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flowsint-core/tests/templates/example.yaml | 1 | # IP API Lookup Template | COMMENT |
| LOW | …owsint-app/src/components/templates/template-schema.ts | 181 | # | COMMENT |
| LOW | flowsint-app/src/api/query-keys-examples.ts | 1 | // // Examples of how to use the Query Key Factory with your existing hooks | COMMENT |
| LOW | flowsint-app/src/api/query-keys-examples.ts | 21 | // } | COMMENT |
| LOW | flowsint-app/src/api/query-keys-examples.ts | 41 | // return useQuery({ | COMMENT |
| LOW | flowsint-app/src/api/query-keys-examples.ts | 61 | // } | COMMENT |
| LOW | flowsint-app/src/api/query-keys-examples.ts | 81 | // }) | COMMENT |
| LOW | flowsint-app/src/api/query-keys-examples.ts | 101 | // // Example 5: Using with logs and events | COMMENT |
| LOW | flowsint-app/src/api/query-keys-examples.ts | 121 | // queryKey: queryKeys.keys.detail(keyId), | COMMENT |
| LOW | flowsint-app/src/api/query-keys-examples.ts | 141 | // }) | COMMENT |
| LOW | flowsint-app/src/api/query-keys-examples.ts | 161 | // // Clear related caches | COMMENT |
| LOW | flowsint-app/src/api/query-keys-examples.ts | 181 | // return (investigationId: string) => { | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flowsint-core/tests/core/graph/test_graph_repository.py | 103 | # Should not raise, just return early | COMMENT |
| MEDIUM | flowsint-core/tests/templates/enricher.py | 5 | # with proper mocking and more comprehensive coverage | COMMENT |
| MEDIUM | flowsint-core/tests/templates/loader.py | 5 | # with more comprehensive coverage | COMMENT |
| MEDIUM⚡ | flowsint-core/tests/import/txt/test_txt_import.py | 348 | """Test comprehensive TXT import with various entity types.""" | STRING |
| MEDIUM | flowsint-types/src/flowsint_types/risk_profile.py | 10 | """Represents a comprehensive risk assessment profile for an entity.""" | STRING |
| MEDIUM | flowsint-types/src/flowsint_types/individual.py | 15 | """Represents an individual person with comprehensive personal information.""" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flowsint-app/src/api/README-query-keys.md | 161 | ### Step 1: Update Existing Hooks | COMMENT |
| LOW | flowsint-app/src/api/README-query-keys.md | 173 | ### Step 2: Update Mutations | COMMENT |
| LOW | flowsint-app/src/api/README-query-keys.md | 185 | ### Step 3: Update Cache Operations | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | flowsint-core/tests/templates/test_template_enricher.py | 29 | CODE | |
| LOW | …owsint-core/src/flowsint_core/core/graph/repository.py | 725 | CODE | |
| LOW | …src/flowsint_core/core/services/custom_type_service.py | 82 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …core/tests/services/test_template_generator_service.py | 41 | Let me know if you need changes. | CODE |