CISO Assistant is a one-stop-shop GRC platform for Risk Management, AppSec, Compliance & Audit, TPRM, BIA, Privacy, and Reporting. It supports 150+ global frameworks with automatic control mapping, including ISO 27001, NIST CSF, SOC 2, CIS, PCI DSS, NIS2, DORA, GDPR, HIPAA, CMMC, and more.
This report presents the forensic synthetic code analysis of intuitem/ciso-assistant-community, a Python project with 4,257 GitHub stars. SynthScan v2.0 examined 1,329,411 lines of code across 2572 source files, recording 4017 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 4.3 places this repository in the Likely human-written 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).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
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 4017 distinct pattern matches across 24 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 | documentation/notification-system.md | 205 | def _send_assignment_notifications(self, obj, actor_ids): | CODE |
| LOW | documentation/notification-system.md | 320 | def _send_assignment_notifications(self, instance, actor_ids): | CODE |
| LOW | tools/convert_library_v2.py | 62 | def extract_translations_from_row(header, row): | CODE |
| LOW | tools/convert_library_v2.py | 74 | def extract_translations_from_metadata(meta_dict, prefix): | CODE |
| LOW | tools/convert_library_v2.py | 188 | def attach_translations_from_row(entry: dict, header: list, row) -> None: | CODE |
| LOW | tools/convert_library_v2.py | 198 | def expand_urns_from_prefixed_list( | CODE |
| LOW | tools/convert_library_v2.py | 253 | def _parse_multiline_with_pipe(raw: Any) -> list[str]: | CODE |
| LOW | tools/convert_library_v2.py | 287 | def _attach_question_translations( | CODE |
| LOW | tools/convert_library_v2.py | 312 | def _attach_choice_translations( | CODE |
| LOW | tools/convert_library_v2.py | 347 | def _node_translations_without_questions(translations: dict) -> dict: | CODE |
| LOW | tools/convert_library_v2.py | 356 | def inject_questions_into_node( | CODE |
| LOW | tools/convert_library_v2.py | 799 | def _handle_reference_controls(obj, library, compat_mode, verbose): | CODE |
| LOW | tools/convert_library_v2.py | 1358 | def _handle_metric_definitions(obj, library, compat_mode, verbose): | CODE |
| LOW | tools/convert_library_v2.py | 1457 | def _handle_requirement_mapping_set(obj, library, wb, sheets, compat_mode, verbose): | CODE |
| LOW | tools/prepare_framework_v2.py | 93 | def validate_implementation_groups(impl_groups, context="implementation_groups", is_in_excel_config=False): | CODE |
| LOW | tools/prepare_framework_v2.py | 145 | def validate_yaml_extra_locales(data): | CODE |
| LOW | tools/prepare_framework_v2.py | 258 | def extract_kv_from_base_sheet(ws): | CODE |
| LOW | tools/prepare_framework_v2.py | 276 | def extract_implementation_groups_sheet(ws): | CODE |
| LOW | tools/prepare_framework_v2.py | 415 | def format_excel_data_as_config(wb): | CODE |
| LOW | tools/misc/convert_framework_yaml_to_excel.py | 77 | def extract_translation_columns(objects_list): | CODE |
| LOW | tools/misc/convert_framework_yaml_to_excel.py | 95 | def extract_translation_values(obj, translation_columns): | CODE |
| LOW | tools/misc/convert_framework_yaml_to_excel.py | 125 | def convert_list_fields_to_string(row, obj, fields): | CODE |
| LOW | tools/misc/convert_framework_yaml_to_excel.py | 154 | def process_implementation_groups(wb, ig_defs): | CODE |
| LOW | tools/misc/convert_framework_yaml_to_excel.py | 218 | def process_reference_controls(wb, ref_controls): | CODE |
| LOW | tools/misc/convert_library_v1.py | 327 | def build_reference_control_ids_set(): | CODE |
| LOW | tools/misc/convert_library_v1.py | 368 | def validate_control_references(requirement_nodes, control_ids_set): | CODE |
| LOW | tools/misc/check_converted_excels_against_libraries.py | 31 | def normalize_yaml_name_from_excel(excel_name: str) -> str: | CODE |
| LOW | tools/misc/check_converted_excels_against_libraries.py | 50 | def normalize_mapping_object_shape(data: Any) -> Any: | CODE |
| LOW | tools/misc/check_converted_excels_against_libraries.py | 146 | def prune_empty_scalar_fields(data: Any) -> Any: | CODE |
| LOW | …excel/netherlands/tools/abro_2026_framework_builder.py | 148 | def decimal_places_from_number_format(number_format: str) -> int: | CODE |
| LOW | …excel/netherlands/tools/abro_2026_framework_builder.py | 246 | def implementation_groups_for_row(row: tuple[Any, ...], headers: dict[str, int]) -> str: | CODE |
| LOW | …excel/netherlands/tools/abro_2026_framework_builder.py | 350 | def build_implementation_groups(wb: Workbook) -> None: | CODE |
| LOW | …ols/excel/scf/tools/create_india_dpdpa_strm_mapping.py | 90 | def create_india_dpdpa_mapping(input_csv: Path, output_csv: Path, output_xlsx: Path): | CODE |
| LOW | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 184 | def add_group_except_response_id( | CODE |
| LOW | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 251 | def map_annotation_from_perimetre(perimetre: str | None) -> str: | CODE |
| LOW | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 261 | def humanize_question_id_for_group_name(question_id: str) -> str: | CODE |
| LOW | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 275 | def insert_double_newline_before_title_word(text: str, limit_index: int) -> str: | CODE |
| LOW | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 323 | def implementation_groups_for_question(perimetre: str | None, base_group: str) -> str: | CODE |
| LOW | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 330 | def measures_to_reference_controls(reponses: list[dict[str, Any]]) -> str: | CODE |
| LOW | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 362 | def build_answer_row_for_question(question: dict[str, Any]) -> AnswerRow: | CODE |
| LOW | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 537 | def remove_main_and_add_groups(existing: str, groups: list[str]) -> str: | CODE |
| LOW | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 550 | def apply_conditions_perimetre_second_pass( | CODE |
| LOW⚡ | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 634 | def build_color_cell_from_choices(choices: list[str]) -> str: | CODE |
| LOW | …s/mon-aide-cyber/anssi_MAC_export_referentiels_json.py | 133 | def parse_const_object_literal(content: str, const_name: str) -> str: | CODE |
| LOW | …s/mon-aide-cyber/anssi_MAC_export_referentiels_json.py | 154 | def parse_referentiel_questions(api_src: Path) -> dict[str, Any]: | CODE |
| LOW | …s/mon-aide-cyber/anssi_MAC_export_referentiels_json.py | 169 | def parse_referentiel_mesures(api_src: Path) -> dict[str, Any]: | CODE |
| LOW | …s/mon-aide-cyber/anssi_MAC_export_referentiels_json.py | 420 | def index_transcripteur_questions(thematique_meta: dict[str, Any] | None) -> dict[str, dict[str, Any]]: | CODE |
| LOW | …s/mon-aide-cyber/anssi_MAC_export_referentiels_json.py | 462 | def enrich_referentiel_with_transcripteur( | CODE |
| LOW | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 546 | def extract_code_from_variant_div(node: Tag) -> str: | CODE |
| LOW | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 593 | def format_root_secondary_html(html: str) -> str: | CODE |
| LOW | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 651 | def format_recommendation_html(html: str) -> str: | CODE |
| LOW⚡ | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 112 | def replace_non_breaking_space(string: str) -> str | None: | CODE |
| LOW⚡ | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 300 | def legacy_support_for_reversible_password_ref_id(row: dict[str, str]) -> dict[str, str]: | CODE |
| LOW⚡ | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 526 | def build_yaml_config_content( | CODE |
| LOW | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 203 | def extract_level_descriptions(json_file: dict) -> list[str]: | CODE |
| LOW | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 238 | def strip_first_markdown_block(md: str) -> str: | CODE |
| LOW | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 319 | def write_framework_content_to_excel(df: pd.DataFrame, excel_file_name: str) -> None: | CODE |
| LOW | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 413 | def extract_bibliography_reference_links(lines: list[str]) -> dict[str, str]: | CODE |
| LOW | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 460 | def extract_url_from_bibliography_entry(entry_lines: list[str]) -> str | None: | CODE |
| LOW | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 492 | def linkify_reference_markers(text: str, reference_links: dict[str, str]) -> str: | CODE |
| 1951 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/prepare_framework_v2_config.yaml | 1 | # ============================================================================== | COMMENT |
| MEDIUM | tools/prepare_framework_v2_config.yaml | 3 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tools/prepare_framework_v2_config.yaml | 43 | # ============================================================================== | COMMENT |
| MEDIUM | tools/misc/mapping_extractor_config.yaml | 1 | # ============================================================================= | COMMENT |
| MEDIUM | tools/misc/mapping_extractor_config.yaml | 3 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/misc/mapping_extractor_config.yaml | 15 | # ============================================================================= | COMMENT |
| MEDIUM | …si/tools/mon-aide-cyber/anssi_MAC_framework_builder.py | 46 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …si/tools/mon-aide-cyber/anssi_MAC_framework_builder.py | 48 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …si/tools/mon-aide-cyber/anssi_MAC_framework_builder.py | 68 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …si/tools/mon-aide-cyber/anssi_MAC_framework_builder.py | 70 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …si/tools/mon-aide-cyber/anssi_MAC_framework_builder.py | 140 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …si/tools/mon-aide-cyber/anssi_MAC_framework_builder.py | 142 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …si/tools/mon-aide-cyber/anssi_MAC_framework_builder.py | 211 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …si/tools/mon-aide-cyber/anssi_MAC_framework_builder.py | 213 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 228 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 231 | # ------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 108 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 110 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 296 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 298 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 522 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 524 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 85 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 87 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 617 | # ------------------------------------------------------------------- | STRING |
| MEDIUM | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 619 | # ------------------------------------------------------------------- | STRING |
| MEDIUM | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 655 | # ------------------------------------------------------------------- | STRING |
| MEDIUM | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 657 | # ------------------------------------------------------------------- | STRING |
| MEDIUM | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 729 | # ------------------------------------------------------------------- | STRING |
| MEDIUM | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 731 | # ------------------------------------------------------------------- | STRING |
| MEDIUM | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 749 | # ------------------------------------------------------------------- | STRING |
| MEDIUM | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 751 | # ------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 200 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 202 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 211 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 213 | # ============================================================================ | COMMENT |
| MEDIUM | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 42 | # ============================================================================ | COMMENT |
| MEDIUM | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 44 | # ============================================================================ | COMMENT |
| MEDIUM | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 125 | # ============================================================================ | COMMENT |
| MEDIUM | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 127 | # ============================================================================ | COMMENT |
| MEDIUM | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 1462 | # ============================================================================ | COMMENT |
| MEDIUM | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 1464 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 421 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 423 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 1088 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 1090 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 17 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 19 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 94 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 96 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 123 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 125 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 175 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 177 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 193 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 195 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 338 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 340 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 551 | # ============================================================================= | COMMENT |
| MEDIUM | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 553 | # ============================================================================= | COMMENT |
| 422 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | documentation/notification-system.md | 333 | except Exception as e: | CODE |
| LOW | tools/prepare_mapping_v2.py | 228 | except Exception as e: | CODE |
| LOW | tools/prepare_mapping_v2.py | 243 | except Exception as e: | CODE |
| LOW | tools/pull_full.py | 142 | except Exception as e: | CODE |
| LOW | tools/convert_library_v2.py | 1153 | except Exception as e: | CODE |
| LOW | tools/convert_library_v2.py | 1984 | except Exception as e: | CODE |
| LOW | tools/convert_library_v2.py | 2010 | except Exception as e: | CODE |
| LOW | tools/convert_library_v2.py | 2055 | except Exception as e: | CODE |
| LOW | tools/convert_v1_to_v2.py | 246 | except Exception: | CODE |
| LOW | tools/convert_v1_to_v2.py | 335 | except Exception as e: | CODE |
| LOW | tools/convert_v1_to_v2.py | 375 | except Exception as err: | CODE |
| LOW | tools/prepare_framework_v2.py | 504 | except Exception as e: | CODE |
| LOW | tools/prepare_framework_v2.py | 531 | except Exception as e: | CODE |
| LOW | tools/prepare_framework_v2.py | 727 | except Exception as e: | CODE |
| LOW | tools/prepare_framework_v2.py | 757 | except Exception as err: | CODE |
| LOW | tools/misc/mapping_extractor.py | 75 | except Exception as e: | CODE |
| LOW | tools/misc/mapping_extractor.py | 90 | except Exception as e: | CODE |
| LOW | tools/misc/mapping_extractor.py | 99 | except Exception as e: | CODE |
| LOW | tools/misc/mapping_extractor.py | 254 | except Exception as e: | CODE |
| LOW | tools/misc/convert_framework_yaml_to_excel.py | 478 | except Exception as e: | CODE |
| LOW | tools/misc/convert_framework_yaml_to_excel.py | 503 | except Exception as e: | CODE |
| LOW | tools/misc/simple_pdf_extractor.py | 38 | except Exception as e: | CODE |
| MEDIUM | tools/misc/simple_pdf_extractor.py | 39 | print(f"Error opening PDF file: {e}") | CODE |
| LOW | tools/misc/simple_pdf_extractor.py | 68 | except Exception as e: | CODE |
| MEDIUM | tools/misc/simple_pdf_extractor.py | 69 | print(f"Error writing output text file: {e}") | CODE |
| MEDIUM | tools/misc/simple_pdf_extractor.py | 35 | def extract_structured_text(pdf_path, output_txt_path, start_page=None, end_page | CODE |
| LOW | tools/misc/convert_v1_to_v2_tree.py | 96 | except Exception as err: | CODE |
| LOW | tools/misc/convert_v1_to_v2_tree.py | 131 | except Exception as err: | CODE |
| LOW | tools/misc/check_converted_excels_against_libraries.py | 293 | except Exception as err: | CODE |
| LOW | tools/misc/check_converted_excels_against_libraries.py | 375 | except Exception as err: | CODE |
| LOW | tools/misc/check_converted_excels_against_libraries.py | 431 | except Exception as err: | CODE |
| LOW | tools/misc/migrate_yaml_questions.py | 67 | except Exception as e: | CODE |
| MEDIUM | tools/misc/migrate_yaml_questions.py | 68 | print(f"Error loading {filename}: {e}") | CODE |
| LOW | tools/misc/migrate_yaml_questions.py | 83 | except Exception as e: | CODE |
| MEDIUM | tools/misc/migrate_yaml_questions.py | 84 | print(f"Error writing to {filename}: {e}") | CODE |
| LOW | tools/misc/convert_mapping_yaml_to_excel.py | 198 | except Exception as e: | CODE |
| LOW | tools/misc/mapping_expander.py | 77 | except Exception as e: | CODE |
| MEDIUM | tools/misc/mapping_expander.py | 70 | def load_exceptions(path, framework_exception): | CODE |
| LOW⚡ | tools/misc/mapping_merger.py | 71 | except Exception as e: | CODE |
| LOW⚡ | tools/misc/mapping_merger.py | 77 | except Exception as e: | CODE |
| LOW | tools/misc/mapping_merger.py | 182 | except Exception as e: | CODE |
| MEDIUM | tools/excel/scf/tools/create_nist_csf_strm_mapping.py | 211 | print(f"Error: NIST CSF 2.0 STRM file not found: {input_csv}") | CODE |
| MEDIUM | tools/excel/scf/tools/create_soc2_strm_mapping.py | 218 | print(f"Error: AICPA TSC STRM file not found: {input_csv}") | CODE |
| MEDIUM | tools/excel/scf/tools/create_cis_csc_strm_mapping.py | 218 | print(f"Error: CIS CSC v8.1 STRM file not found: {input_csv}") | CODE |
| MEDIUM | tools/excel/scf/tools/create_iso27001_strm_mapping.py | 287 | print(f"Error: ISO 27001 STRM file not found: {iso27001_csv}") | CODE |
| MEDIUM | tools/excel/scf/tools/create_iso27001_strm_mapping.py | 292 | print(f"Error: ISO 27002 STRM file not found: {iso27002_csv}") | CODE |
| MEDIUM | tools/excel/scf/tools/create_iso42001_strm_mapping.py | 238 | print(f"Error: ISO 42001:2023 STRM file not found: {input_csv}") | CODE |
| MEDIUM | tools/excel/scf/tools/create_essential8_strm_mapping.py | 210 | print(f"Error: Australia Essential 8 STRM file not found: {input_csv}") | CODE |
| LOW | tools/excel/scf/tools/extract_strm.py | 190 | except Exception as e: | CODE |
| MEDIUM | …ols/excel/scf/tools/create_india_dpdpa_strm_mapping.py | 218 | print(f"Error: India DPDPA STRM file not found: {input_csv}") | CODE |
| MEDIUM | tools/excel/scf/tools/create_swift_csf_mapping.py | 212 | print(f"Error: SCF Excel file not found: {excel_path}") | CODE |
| MEDIUM | tools/excel/scf/tools/create_pci_dss_strm_mapping.py | 210 | print(f"Error: PCI-DSS 4.0.1 STRM file not found: {input_csv}") | CODE |
| LOW | …s/mon-aide-cyber/anssi_MAC_export_referentiels_json.py | 570 | except Exception as exc: | CODE |
| MEDIUM | …s/mon-aide-cyber/anssi_MAC_export_referentiels_json.py | 542 | def main() -> None: | CODE |
| LOW | …si/tools/mon-aide-cyber/anssi_MAC_framework_builder.py | 230 | except Exception as exc: | CODE |
| LOW | tools/excel/microsoft/parse_mcsb.py | 49 | except Exception as e: | CODE |
| LOW | tools/excel/microsoft/parse_mcsb.py | 225 | except Exception as e: | CODE |
| LOW | tools/excel/lpm/tools/legifrance_web_scraper.py | 119 | except Exception as exc: | CODE |
| LOW | tools/excel/lpm/tools/legifrance_web_scraper.py | 263 | except Exception as exc: | CODE |
| LOW | tools/excel/ccm/convert_ccm.py | 52 | except Exception as e: | CODE |
| 514 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …(internal)/compliance-assessments/compare/+page.svelte | 188 | colors={data.baseAudit.donut_data.result.values.map( | CODE |
| CRITICAL | …(internal)/compliance-assessments/compare/+page.svelte | 201 | colors={data.baseAudit.donut_data.status.values.map( | CODE |
| CRITICAL | …(internal)/compliance-assessments/compare/+page.svelte | 244 | colors={data.compareAudit.donut_data.result.values.map( | CODE |
| CRITICAL | …(internal)/compliance-assessments/compare/+page.svelte | 257 | colors={data.compareAudit.donut_data.status.values.map( | CODE |
| CRITICAL | enterprise/backend/enterprise_core/views.py | 27 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/ebios_rm/models.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/metrology/models.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/core/models.py | 19 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/core/models.py | 2883 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/core/models.py | 3588 | all_links = self.__class__.parent_assets.through.objects.values_list( | CODE |
| CRITICAL | backend/core/models.py | 3615 | all_links = self.__class__.parent_assets.through.objects.values_list( | CODE |
| CRITICAL | backend/core/models.py | 6835 | all_links = self.__class__.antecedent_scenarios.through.objects.values_list( | CODE |
| CRITICAL | backend/core/validators.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/core/serializers.py | 28 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | backend/core/helpers.py | 11 | from django.core.exceptions import ValidationError as DjValidationError | CODE |
| CRITICAL | backend/core/tests/test_models.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/core/tests/test_requirement_score_override.py | 11 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/core/tests/test_vulnerability.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | …re/management/commands/recompute_assessment_results.py | 30 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/data_wizard/views.py | 113 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/tprm/models.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/tprm/test/test_models.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/chat/upload_validation.py | 24 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/chat/questionnaire.py | 15 | from django.core.exceptions import FieldError | CODE |
| CRITICAL | backend/chat/views.py | 883 | from django.core.exceptions import ValidationError as DjValidationError | CODE |
| CRITICAL | backend/custom_fields/models.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/custom_fields/views.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/custom_fields/tests/test_custom_fields.py | 7 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/library/preset_executor.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/library/validators.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/library/views.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/global_settings/models.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/global_settings/serializers.py | 5 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | backend/app_tests/api/test_parent_field_permission.py | 9 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/iam/scim/views.py | 19 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | backend/iam/tests/test_models.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/iam/sso/views.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/webhooks/models.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/doc_management/models.py | 3 | from django.core.exceptions import ValidationError | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/prepare_framework_v2.py | 559 | # Create an Excel file with data coming from a YAML (or Excel) configuration file | COMMENT |
| MEDIUM | tools/misc/convert_framework_yaml_to_excel.py | 223 | # Create the meta sheet | COMMENT |
| MEDIUM | tools/misc/convert_framework_yaml_to_excel.py | 235 | # Create the content sheet | COMMENT |
| MEDIUM | tools/misc/convert_framework_yaml_to_excel.py | 256 | # Create the meta sheet | COMMENT |
| MEDIUM | tools/misc/convert_framework_yaml_to_excel.py | 268 | # Create the content sheet | COMMENT |
| MEDIUM | tools/misc/mapping_expander.py | 121 | # Create a new row for each match found | COMMENT |
| MEDIUM | tools/excel/scf/scf_framework.py | 112 | # Create the final DataFrame | COMMENT |
| MEDIUM | tools/excel/scf/tools/create_nist_csf_strm_mapping.py | 97 | # Create a simplified relationship mapping with required columns only | COMMENT |
| MEDIUM | tools/excel/scf/tools/create_soc2_strm_mapping.py | 106 | # Create a simplified relationship mapping with required columns only | COMMENT |
| MEDIUM | tools/excel/scf/tools/create_cis_csc_strm_mapping.py | 101 | # Create a simplified relationship mapping with required columns only | COMMENT |
| MEDIUM | tools/excel/scf/tools/create_iso27001_strm_mapping.py | 176 | # Create a simplified relationship mapping with required columns only | COMMENT |
| MEDIUM | tools/excel/scf/tools/create_iso42001_strm_mapping.py | 121 | # Create a simplified relationship mapping with required columns only | COMMENT |
| MEDIUM | tools/excel/scf/tools/create_essential8_strm_mapping.py | 96 | # Create a simplified relationship mapping with required columns only | COMMENT |
| MEDIUM | …ols/excel/scf/tools/create_india_dpdpa_strm_mapping.py | 101 | # Create a simplified relationship mapping with required columns only | COMMENT |
| MEDIUM | tools/excel/scf/tools/create_pci_dss_strm_mapping.py | 96 | # Create a simplified relationship mapping with required columns only | COMMENT |
| MEDIUM | tools/excel/cisco/cisco-ccf-v3.0_framework.py | 32 | # Create the target workbook and required sheets | COMMENT |
| MEDIUM | tools/excel/nist/nist_csf_2.0_to_iso27001-2022.py | 37 | # Create the final DataFrame | COMMENT |
| MEDIUM | integration/oscf_parser.py | 131 | # Create a unique key based on both ref_id and result | COMMENT |
| MEDIUM | integration/oscf_parser.py | 225 | # Create a unique key based on both ref_id and result | COMMENT |
| MEDIUM | backend/metrology/tests/test_builtin_metrics.py | 189 | # Create a control in a domain — it should show up at root scope. | COMMENT |
| MEDIUM | backend/core/models.py | 1678 | # Create a subquery to get the highest version in StoredLibrary for the same urn. | COMMENT |
| MEDIUM | backend/core/models.py | 6324 | # Create a mapping of scenario ID to scenario object with prefetched controls | COMMENT |
| MEDIUM | backend/core/serializers.py | 5415 | # Create the validation flow | COMMENT |
| MEDIUM | backend/core/generators.py | 221 | # Create the plot | COMMENT |
| MEDIUM | backend/core/generators.py | 289 | # Create the plot | COMMENT |
| MEDIUM | backend/core/helpers.py | 2276 | # Create the new object | COMMENT |
| MEDIUM | backend/core/views.py | 4753 | # Create the quantitative risk study with [QUANT] prefix | COMMENT |
| MEDIUM | backend/core/views.py | 5551 | # Create the local object first | COMMENT |
| MEDIUM | backend/core/views.py | 7747 | # Define the order: User (1), Team (2), Entity (3) | COMMENT |
| MEDIUM⚡ | backend/core/tests/test_task.py | 118 | # # Create a date that is a Tuesday: for example, June 13, 2025 which is a Friday? Check via date.weekday() | COMMENT |
| MEDIUM⚡ | backend/core/tests/test_task.py | 189 | # # Create a base date that is Monday | COMMENT |
| MEDIUM | backend/core/tests/test_task.py | 221 | # # Create a dummy task with reference dates for testing _create_task_dict. | COMMENT |
| MEDIUM | backend/core/tests/test_task.py | 271 | # # Define a task template with an end recurrence and a task_date. | COMMENT |
| MEDIUM | backend/core/tests/test_models.py | 60 | # Create a revision with an attachment | COMMENT |
| MEDIUM | backend/core/tests/test_excel.py | 46 | # Create a minimal valid zip file (Excel files are zips) | COMMENT |
| MEDIUM⚡ | backend/core/tests/sandbox/test_sandbox_functional.py | 38 | # Create a zip bomb in memory | COMMENT |
| MEDIUM⚡ | backend/core/tests/sandbox/test_sandbox_functional.py | 42 | # Create a file with repeated content for high compression | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 4330 | # Create the entity first, then handle parent relationship | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 4444 | # Create the solution | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 4595 | # Create the contract | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 4782 | # Create the risk assessment | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 5484 | # Create the primary asset | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 5785 | # Create a new terminology entry for this risk origin | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 5845 | # Create the RoTo couple | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 5928 | # Create a new terminology entry | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6056 | # Create the stakeholder | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6317 | # Create the strategic scenario | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6329 | # Create the attack path if provided | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6422 | # Create the elementary action | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6546 | # Create the study. Header override wins over the value parsed | COMMENT |
| MEDIUM | backend/tprm/test/test_dora_linter.py | 152 | # Create a subsidiary that's a beneficiary of another contract. | COMMENT |
| MEDIUM | backend/chat/workflows/ebios_rm_assist.py | 272 | # Create the EBIOS RM study | COMMENT |
| MEDIUM | backend/crq/serializers.py | 149 | # Create the quantitative risk scenario | COMMENT |
| MEDIUM | backend/crq/serializers.py | 254 | # Create the hypothesis | COMMENT |
| MEDIUM | backend/integrations/views.py | 47 | # Create a temporary, unsaved IntegrationConfiguration instance for the client | COMMENT |
| MEDIUM | backend/integrations/itsm/servicenow/integration.py | 232 | # Define the header we expect from ServiceNow | COMMENT |
| MEDIUM | backend/app_tests/api/test_utils.py | 178 | # Create the object without many-to-many fields | COMMENT |
| MEDIUM | backend/app_tests/api/test_utils.py | 252 | # Create the object without many-to-many fields | COMMENT |
| MEDIUM | backend/app_tests/api/test_utils.py | 305 | # Create the object without many-to-many fields | COMMENT |
| MEDIUM | backend/app_tests/api/test_utils.py | 463 | # Create the object without many-to-many fields | COMMENT |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/misc/remove_new_suffix_from_excels.py | 11 | CODE | |
| LOW | tools/misc/convert_library_v1.py | 113 | CODE | |
| LOW | tools/misc/convert_v1_to_v2_tree.py | 14 | CODE | |
| LOW | tools/misc/check_converted_excels_against_libraries.py | 14 | CODE | |
| LOW | tools/misc/prepare_mapping_v1.py | 3 | CODE | |
| LOW | tools/misc/prepare_mapping_v1.py | 5 | CODE | |
| LOW | tools/misc/prepare_mapping_v1.py | 6 | CODE | |
| LOW | tools/excel/aircyber/aircyber.py | 7 | CODE | |
| LOW | tools/excel/aircyber/aircyber.py | 8 | CODE | |
| LOW | tools/excel/aircyber/aircyber.py | 10 | CODE | |
| LOW | tools/excel/nzism/prep_nzism.py | 6 | CODE | |
| LOW | tools/excel/nzism/prep_nzism.py | 7 | CODE | |
| LOW | tools/excel/nzism/prep_nzism.py | 9 | CODE | |
| LOW | tools/excel/tisax/convert_tisax.py | 7 | CODE | |
| LOW | tools/excel/tisax/convert_tisax.py | 10 | CODE | |
| LOW | tools/excel/tisax/convert_tisax_5.1.py | 7 | CODE | |
| LOW | tools/excel/tisax/convert_tisax_5.1.py | 10 | CODE | |
| LOW | tools/excel/ict-minimal/ict-minimal-convert.py | 4 | CODE | |
| LOW | tools/excel/ict-minimal/ict-minimal-convert.py | 5 | CODE | |
| LOW | tools/excel/ict-minimal/ict-minimal-convert.py | 6 | CODE | |
| LOW | …excel/netherlands/tools/abro_2026_framework_builder.py | 1 | CODE | |
| LOW | tools/excel/scf/scf_framework.py | 39 | CODE | |
| LOW | tools/excel/scf/scf_framework.py | 40 | CODE | |
| LOW | tools/excel/scf/tools/extract_strm.py | 8 | CODE | |
| LOW | tools/excel/scf/tools/extract_strm.py | 12 | CODE | |
| LOW | tools/excel/lpm/tools/legifrance_web_scraper.py | 4 | CODE | |
| LOW | tools/excel/mitre/mitre.py | 2 | CODE | |
| LOW | tools/excel/nist/csf2-tools/csfv2.py | 4 | CODE | |
| LOW | tools/excel/nist/csf2-tools/csfv2.py | 5 | CODE | |
| LOW | tools/excel/nist/csf2-tools/csfv2.py | 6 | CODE | |
| LOW | tools/excel/adobe/convert_ccf.py | 7 | CODE | |
| LOW | tools/excel/adobe/convert_ccf.py | 8 | CODE | |
| LOW | tools/excel/adobe/convert_ccf.py | 10 | CODE | |
| LOW | tools/excel/enisa/convert_5g_scm.py | 7 | CODE | |
| LOW | tools/excel/enisa/convert_5g_scm.py | 10 | CODE | |
| LOW | tools/excel/3cf/tools/3cf-v3.1_framework_builder.py | 8 | CODE | |
| LOW | tools/excel/ncsc/tools/ncsc-caf_v4_framework_builder.py | 13 | CODE | |
| LOW | tools/mapping_builder/heatmap_builder_notebook.py | 15 | CODE | |
| LOW | enterprise/backend/__init__.py | 1 | CODE | |
| LOW | enterprise/backend/enterprise_core/apps.py | 46 | CODE | |
| LOW | integration/oscf_parser.py | 4 | CODE | |
| LOW | dispatcher/tests/integration/test_messages.py | 1 | CODE | |
| LOW | …/reference-controls-enricher/scripts/parse_controls.py | 15 | CODE | |
| LOW | …ls/reference-controls-enricher/scripts/write_review.py | 19 | CODE | |
| LOW | …reference-controls-enricher/scripts/coverage_report.py | 17 | CODE | |
| LOW | …eference-controls-enricher/scripts/apply_enrichment.py | 25 | CODE | |
| LOW | …aude/skills/mapping-builder/scripts/parse_framework.py | 20 | CODE | |
| LOW | .claude/skills/mapping-builder/scripts/cat_slice.py | 26 | CODE | |
| LOW | …e/skills/mapping-builder/scripts/write_mapping_yaml.py | 40 | CODE | |
| LOW | .claude/skills/mapping-builder/scripts/diff_mappings.py | 24 | CODE | |
| LOW | .claude/skills/mapping-builder/scripts/write_review.py | 22 | CODE | |
| LOW | …laude/skills/mapping-builder/scripts/audit_verdicts.py | 18 | CODE | |
| LOW | .claude/skills/mapping-builder/scripts/render_html.py | 18 | CODE | |
| LOW | backend/ebios_rm/models.py | 8 | CODE | |
| LOW | backend/ebios_rm/models.py | 8 | CODE | |
| LOW | backend/ebios_rm/models.py | 9 | CODE | |
| LOW | backend/ebios_rm/models.py | 27 | CODE | |
| LOW | backend/ebios_rm/helpers.py | 7 | CODE | |
| LOW | backend/ebios_rm/tests/test_ro_to.py | 5 | CODE | |
| LOW | backend/ebios_rm/tests/test_stakeholder.py | 10 | CODE | |
| 144 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose-build.sh | 30 | # Check if database already exists | COMMENT |
| LOW | packaging/rhel/scripts/post-install-setup.sh | 12 | # Check if running as root | COMMENT |
| LOW | packaging/rhel/scripts/post-install-setup.sh | 19 | # Check if services are installed | COMMENT |
| LOW | tools/prepare_framework_v2.py | 87 | # Check if a locale code is valid (e.g. "en", "fr") | COMMENT |
| LOW | tools/misc/convert_mapping_yaml_to_excel.py | 216 | # Check if file exists | COMMENT |
| LOW⚡ | tools/misc/mapping_merger.py | 81 | # Check if required sheets exist | COMMENT |
| LOW | frontend/tests/e2e-tests.sh | 24 | # Check if user can run docker without sudo | COMMENT |
| LOW | enterprise/legacy/docker-compose-build.sh | 16 | # Check if the database already exists | COMMENT |
| LOW | enterprise/backend/enterprise_core/settings.py | 218 | # Check if using explicit credentials (access key) or IRSA (web identity token) | COMMENT |
| LOW | integration/oscf_parser.py | 67 | # Check if node contains unmapped compliance data for the requested framework | COMMENT |
| LOW | integration/oscf_parser.py | 243 | # Print result distribution | COMMENT |
| LOW | dispatcher/filtering.py | 102 | # Check if any result is missing an id field | COMMENT |
| LOW | backend/ebios_rm/views.py | 801 | # Check if feared event already exists in the study | COMMENT |
| LOW | backend/metrology/serializers.py | 66 | # Check if folder is being changed | COMMENT |
| LOW | …rology/management/commands/backfill_builtin_metrics.py | 115 | # Check if already exists | COMMENT |
| LOW⚡ | backend/core/models.py | 4840 | # Set folder to match the evidence's folder | COMMENT |
| LOW⚡ | backend/core/models.py | 4848 | # Check if this is a new attachment or if it has changed | COMMENT |
| LOW⚡ | backend/core/models.py | 4854 | # Check if attachment changed | COMMENT |
| LOW | backend/core/models.py | 1023 | # Check if score boundaries changed (triggers warning + strategy prompt) | COMMENT |
| LOW | backend/core/models.py | 3830 | # Check if this asset should be skipped due to an ancestor's override | COMMENT |
| LOW | backend/core/models.py | 3894 | # Check if this asset should be skipped due to an ancestor's override | COMMENT |
| LOW | backend/core/models.py | 7858 | # Check if the framework has any threats mappings | COMMENT |
| LOW | backend/core/models.py | 8174 | # Check if assessable requirement assessment with compliant result has no evidence | COMMENT |
| LOW | backend/core/models.py | 8243 | # Check if evidence has any revisions with attachments or links | COMMENT |
| LOW | backend/core/models.py | 4350 | if parent_dict: # Check if parent exists | CODE |
| LOW | backend/core/serializers.py | 391 | # Check if we're in the caution zone (past 50% of the SLA window) | COMMENT |
| LOW | backend/core/serializers.py | 556 | # Check if status is changing to deprecated | COMMENT |
| LOW | backend/core/serializers.py | 570 | # Check if folder is being changed (either directly or via perimeter) | COMMENT |
| LOW | backend/core/serializers.py | 3574 | # Check if any choice has scoring or result logic. For | COMMENT |
| LOW | backend/core/serializers.py | 4596 | # Check if status is changing to deprecated | COMMENT |
| LOW | backend/core/serializers.py | 5453 | # Check if status is being modified | COMMENT |
| LOW | backend/core/generators.py | 344 | # Check if the current node is assessable | COMMENT |
| LOW | backend/core/generators.py | 391 | # Check if the current node is scoreable | COMMENT |
| LOW | backend/core/utils.py | 742 | # Check if still in same month | COMMENT |
| LOW | backend/core/utils.py | 786 | # Check if it's the last occurrence (-1) | COMMENT |
| LOW | backend/core/utils.py | 1075 | # Check if recurrence has ended | COMMENT |
| LOW | backend/core/helpers.py | 2229 | # Check if the object already exists in the target folder | COMMENT |
| LOW | backend/core/views.py | 497 | # Check if it's a Django manager/queryset (has .all() method) | COMMENT |
| LOW | backend/core/views.py | 2734 | # Check if asset already exists in the folder | COMMENT |
| LOW | backend/core/views.py | 4781 | # Check if we have current probability and impact | COMMENT |
| LOW | backend/core/views.py | 4791 | # Check if we have residual probability and impact | COMMENT |
| LOW | backend/core/views.py | 10909 | # Check if the candidate URNs also collide | COMMENT |
| LOW | backend/core/views.py | 15197 | # Check if the node itself is assessable | COMMENT |
| LOW | backend/core/views.py | 15329 | # Check if result or score is different | COMMENT |
| LOW | backend/core/views.py | 19120 | # Check if a node already exists for this recurrence slot | COMMENT |
| LOW | backend/core/tests/test_scoring_extended.py | 324 | # Set choices to score-only | COMMENT |
| LOW | …end/core/management/commands/set_assessment_results.py | 73 | # Set all to compliant using a single UPDATE query | COMMENT |
| LOW | backend/core/management/commands/clone_instance.py | 134 | # Check if destination database already exists | COMMENT |
| LOW | backend/core/management/commands/clone_instance.py | 148 | # Check if destination attachments directory already exists | COMMENT |
| LOW | backend/core/mappings/engine.py | 389 | # Check if score ranges match between source and target frameworks | COMMENT |
| LOW | backend/data_wizard/serializers.py | 15 | # Check if file extension is valid | COMMENT |
| LOW | backend/data_wizard/views.py | 4709 | # Check if the file is an Excel file | COMMENT |
| LOW | backend/data_wizard/views.py | 4717 | # Read the file content | COMMENT |
| LOW | backend/data_wizard/views.py | 5796 | # Check if a RoTo couple already exists for this study + risk_origin + target_objective | COMMENT |
| LOW | backend/data_wizard/views.py | 5882 | # Check if any RoTo couple has motivation or resources data | COMMENT |
| LOW | backend/data_wizard/views.py | 6072 | # Set residual to same as current initially | COMMENT |
| LOW | backend/data_wizard/views.py | 6118 | # Check if any stakeholder has assessment data (dependency or penetration > 0) | COMMENT |
| LOW | backend/data_wizard/views.py | 6257 | # Check if a strategic scenario already exists for this study + name + ref_id | COMMENT |
| LOW | backend/tprm/dora_linter.py | 590 | # Check if there are any business function assets | COMMENT |
| LOW | backend/tprm/dora_linter.py | 1260 | # Check if solution has at least one contract (mandatory for DORA reporting) | COMMENT |
| 47 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/convert_v1_to_v2.py | 62 | CODE | |
| LOW | tools/prepare_framework_v2.py | 145 | CODE | |
| LOW | tools/prepare_framework_v2.py | 292 | CODE | |
| LOW | tools/prepare_framework_v2.py | 415 | CODE | |
| LOW | tools/prepare_framework_v2.py | 560 | CODE | |
| LOW | tools/misc/footnote_reference_prettifier.py | 92 | CODE | |
| LOW | tools/misc/mapping_extractor.py | 52 | CODE | |
| LOW | tools/misc/convert_framework_yaml_to_excel.py | 284 | CODE | |
| LOW | tools/misc/convert_library_v1.py | 327 | CODE | |
| LOW | tools/misc/convert_library_v1.py | 368 | CODE | |
| LOW | tools/misc/convert_library_v1.py | 399 | CODE | |
| LOW | tools/misc/check_converted_excels_against_libraries.py | 82 | CODE | |
| LOW | tools/misc/check_converted_excels_against_libraries.py | 201 | CODE | |
| LOW | tools/misc/migrate_yaml_questions.py | 20 | CODE | |
| LOW | tools/misc/bad_mapping_remover.py | 50 | CODE | |
| LOW | tools/misc/convert_mapping_yaml_to_excel.py | 41 | CODE | |
| LOW | tools/misc/convert_mapping_yaml_to_excel.py | 95 | CODE | |
| LOW | tools/misc/convert_mapping_yaml_to_excel.py | 106 | CODE | |
| LOW | tools/excel/scf/tools/create_nist_csf_strm_mapping.py | 34 | CODE | |
| LOW | tools/excel/scf/tools/create_soc2_strm_mapping.py | 43 | CODE | |
| LOW | tools/excel/scf/tools/create_cis_csc_strm_mapping.py | 33 | CODE | |
| LOW | tools/excel/scf/tools/create_iso27001_strm_mapping.py | 79 | CODE | |
| LOW | tools/excel/scf/tools/create_iso42001_strm_mapping.py | 53 | CODE | |
| LOW | tools/excel/scf/tools/create_essential8_strm_mapping.py | 33 | CODE | |
| LOW | tools/excel/scf/tools/extract_strm.py | 22 | CODE | |
| LOW | …ols/excel/scf/tools/create_india_dpdpa_strm_mapping.py | 33 | CODE | |
| LOW | tools/excel/scf/tools/create_pci_dss_strm_mapping.py | 33 | CODE | |
| LOW | …s/mon-aide-cyber/anssi_MAC_export_referentiels_json.py | 57 | CODE | |
| LOW | …s/mon-aide-cyber/anssi_MAC_export_referentiels_json.py | 396 | CODE | |
| LOW | …s/mon-aide-cyber/anssi_MAC_export_referentiels_json.py | 420 | CODE | |
| LOW | …s/mon-aide-cyber/anssi_MAC_export_referentiels_json.py | 442 | CODE | |
| LOW | …si/tools/mon-aide-cyber/anssi_MAC_framework_builder.py | 88 | CODE | |
| LOW | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 135 | CODE | |
| LOW | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 156 | CODE | |
| LOW | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 347 | CODE | |
| LOW | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 450 | CODE | |
| LOW | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 546 | CODE | |
| LOW | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 688 | CODE | |
| LOW | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 836 | CODE | |
| LOW | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 1157 | CODE | |
| LOW | …s/excel/anssi/ii-901/tools/ii-901_framework_builder.py | 730 | CODE | |
| LOW | …S/tools/RTS-DORA-ICT-risk-management_text_formatter.py | 38 | CODE | |
| LOW | …TS/tools/RTS-DORA-incident-reporting_text_formatter.py | 44 | CODE | |
| LOW | tools/excel/lpm/tools/legifrance_web_scraper.py | 194 | CODE | |
| LOW | tools/excel/lpm/tools/legifrance_web_scraper.py | 212 | CODE | |
| LOW | tools/excel/lpm/tools/legifrance_web_scraper.py | 294 | CODE | |
| LOW | tools/excel/HAS/HAS.py | 112 | CODE | |
| LOW | tools/excel/3cf/tools/3cf-v3.1_framework_builder.py | 403 | CODE | |
| LOW | tools/excel/3cf/tools/3cf-v3.1_framework_builder.py | 497 | CODE | |
| LOW | tools/excel/3cf/tools/3cf-v3.1_framework_builder.py | 740 | CODE | |
| LOW | tools/excel/ncsc/tools/ncsc-caf_v4_framework_builder.py | 231 | CODE | |
| LOW | tools/excel/NIS2/tools/NIS2_guidance_evidence.py | 59 | CODE | |
| LOW | tools/excel/NIS2/tools/NIS2_text_formatter.py | 79 | CODE | |
| LOW | tools/excel/canada/tools/itsp.10.171_web_scraper.py | 198 | CODE | |
| LOW | tools/excel/canada/tools/itsp.10.171_web_scraper.py | 290 | CODE | |
| LOW | tools/excel/canada/tools/itsp.10.171_web_scraper.py | 533 | CODE | |
| LOW | integration/oscf_parser.py | 43 | CODE | |
| LOW | dispatcher/dispatcher.py | 45 | CODE | |
| LOW | tests/gen_random_domains_with_assets.py | 93 | CODE | |
| LOW | …ls/reference-controls-enricher/scripts/write_review.py | 48 | CODE | |
| 106 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/convert_library_v2.py | 0 | converts rgb values in range (0,1) or a hex string of the form '[#aa]rrggbb' to hlsmax based hls, (alpha values are igno | STRING |
| HIGH | tools/misc/convert_library_v1.py | 0 | converts rgb values in range (0,1) or a hex string of the form '[#aa]rrggbb' to hlsmax based hls, (alpha values are igno | STRING |
| HIGH | backend/scripts/convert_library_v2.py | 0 | converts rgb values in range (0,1) or a hex string of the form '[#aa]rrggbb' to hlsmax based hls, (alpha values are igno | STRING |
| HIGH | tools/convert_library_v2.py | 0 | converts hlsmax based hls values to rgb values in the range (0,1) | STRING |
| HIGH | tools/misc/convert_library_v1.py | 0 | converts hlsmax based hls values to rgb values in the range (0,1) | STRING |
| HIGH | backend/scripts/convert_library_v2.py | 0 | converts hlsmax based hls values to rgb values in the range (0,1) | STRING |
| HIGH | tools/convert_library_v2.py | 0 | converts (0,1) based rgb values to a hex string 'rrggbb' | STRING |
| HIGH | tools/misc/convert_library_v1.py | 0 | converts (0,1) based rgb values to a hex string 'rrggbb' | STRING |
| HIGH | backend/scripts/convert_library_v2.py | 0 | converts (0,1) based rgb values to a hex string 'rrggbb' | STRING |
| HIGH | tools/convert_library_v2.py | 0 | given a workbook, a theme number and a tint return a hex based rgb | STRING |
| HIGH | tools/misc/convert_library_v1.py | 0 | given a workbook, a theme number and a tint return a hex based rgb | STRING |
| HIGH | backend/scripts/convert_library_v2.py | 0 | given a workbook, a theme number and a tint return a hex based rgb | STRING |
| HIGH | tools/excel/scf/tools/create_nist_csf_strm_mapping.py | 0 | normalize strm relationship values to: subset, intersect, equal. | STRING |
| HIGH | tools/excel/scf/tools/create_soc2_strm_mapping.py | 0 | normalize strm relationship values to: subset, intersect, equal. | STRING |
| HIGH | tools/excel/scf/tools/create_iso27001_strm_mapping.py | 0 | normalize strm relationship values to: subset, intersect, equal. | STRING |
| HIGH | tools/excel/scf/tools/create_essential8_strm_mapping.py | 0 | normalize strm relationship values to: subset, intersect, equal. | STRING |
| HIGH | tools/excel/scf/tools/create_pci_dss_strm_mapping.py | 0 | normalize strm relationship values to: subset, intersect, equal. | STRING |
| HIGH | tools/excel/scf/tools/create_cis_csc_strm_mapping.py | 0 | normalize strm relationship values to: subset, intersect, equal, superset. | STRING |
| HIGH | tools/excel/scf/tools/create_iso42001_strm_mapping.py | 0 | normalize strm relationship values to: subset, intersect, equal, superset. | STRING |
| HIGH | …ols/excel/scf/tools/create_india_dpdpa_strm_mapping.py | 0 | normalize strm relationship values to: subset, intersect, equal, superset. | STRING |
| HIGH | tools/excel/ccm/convert_ccm_v2.py | 0 | lowercase the packager name and keep only safe characters for urns. | STRING |
| HIGH | tools/excel/cis/prep_cis_v2.py | 0 | lowercase the packager name and keep only safe characters for urns. | STRING |
| HIGH | backend/scripts/convert_ccm_v2.py | 0 | lowercase the packager name and keep only safe characters for urns. | STRING |
| HIGH | backend/scripts/prep_cis_v2.py | 0 | lowercase the packager name and keep only safe characters for urns. | STRING |
| HIGH | backend/core/views.py | 0 | rbac not automatic as we don't inherit from basemodelviewset -> enforce it explicitly | STRING |
| HIGH | backend/crq/views.py | 0 | rbac not automatic as we don't inherit from basemodelviewset -> enforce it explicitly | STRING |
| HIGH | backend/library/views.py | 0 | rbac not automatic as we don't inherit from basemodelviewset -> enforce it explicitly | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/convert_library_v2.py | 1723 | # Step 1: Load library_meta | COMMENT |
| LOW⚡ | tools/convert_library_v2.py | 1733 | # Step 2: Format publication_date | COMMENT |
| LOW⚡ | tools/convert_library_v2.py | 1743 | # Step 3: Build library with fixed key order | COMMENT |
| LOW | tools/convert_library_v2.py | 1804 | # Step 4: Detect all object blocks | COMMENT |
| LOW | tools/convert_library_v2.py | 1853 | # Step 5: Ordered object insertion (reference_controls before threats) | COMMENT |
| LOW | tools/convert_library_v2.py | 1894 | # Step 6: Validate name lengths | COMMENT |
| LOW | tools/convert_library_v2.py | 1906 | # Step 7: Export to YAML | COMMENT |
| LOW⚡ | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 637 | # Step 1: initialize one "/" per line from question_choices. | COMMENT |
| LOW⚡ | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 639 | # Step 2: replace matching lines with color hex codes. | COMMENT |
| LOW | product-docs/integrations/mcp.md | 37 | ### Step 0: Get the MCP Server Code | COMMENT |
| LOW | product-docs/integrations/mcp.md | 78 | ### Step 1: Generate a Personal Access Token (PAT) | COMMENT |
| LOW | product-docs/integrations/mcp.md | 91 | ### Step 2: Configure the MCP Server | COMMENT |
| LOW | product-docs/integrations/mcp.md | 326 | #### Step 1: Open the MCP configuration | COMMENT |
| LOW | product-docs/integrations/mcp.md | 335 | #### Step 2: Add the CISO Assistant server | COMMENT |
| LOW | product-docs/integrations/mcp.md | 389 | #### Step 3: Save and restart | COMMENT |
| LOW | enterprise/offline-deployment.md | 30 | ## Step 1: Prepare on Online Workstation | COMMENT |
| LOW | enterprise/offline-deployment.md | 91 | ## Step 2: Transfer to Offline Server | COMMENT |
| LOW | enterprise/offline-deployment.md | 97 | ## Step 3: Deploy on Offline Server | COMMENT |
| LOW⚡ | …e/skills/ciso-assistant-basic-risk-assessment/SKILL.md | 65 | ### Step 1: Choose Risk Approach | COMMENT |
| LOW⚡ | …e/skills/ciso-assistant-basic-risk-assessment/SKILL.md | 74 | ### Step 2: Gather Organizational Context | COMMENT |
| LOW⚡ | …e/skills/ciso-assistant-basic-risk-assessment/SKILL.md | 83 | ### Step 3: Create Domain and Perimeter | COMMENT |
| LOW⚡ | …e/skills/ciso-assistant-basic-risk-assessment/SKILL.md | 93 | ### Step 4: Identify and Create Assets | COMMENT |
| LOW | …e/skills/ciso-assistant-basic-risk-assessment/SKILL.md | 111 | ### Step 5: Import Threat Catalog | COMMENT |
| LOW | …e/skills/ciso-assistant-basic-risk-assessment/SKILL.md | 121 | ### Step 6: Generate Scenario Suggestions | COMMENT |
| LOW | …e/skills/ciso-assistant-basic-risk-assessment/SKILL.md | 132 | ### Step 7: Create Assessment Container | COMMENT |
| LOW | …e/skills/ciso-assistant-basic-risk-assessment/SKILL.md | 158 | ### Step 8: Create Risk Scenarios | COMMENT |
| LOW | …e/skills/ciso-assistant-basic-risk-assessment/SKILL.md | 186 | ### Step 9: Summary and Next Steps | COMMENT |
| LOW⚡ | …rology/management/commands/backfill_builtin_metrics.py | 63 | # Step 1: Migrate historical data | COMMENT |
| LOW⚡ | …rology/management/commands/backfill_builtin_metrics.py | 67 | # Step 2: Generate current snapshots | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 5309 | # Step 1: Create Assets (primary and supporting) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 5569 | # Step 2: Create Applied Controls | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 5632 | # Step 3: Create EBIOS RM Study | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 5669 | # Step 4: Create Feared Events | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 5752 | # Step 5: Create RoTo Couples (Workshop 2) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 5900 | # Step 6: Create Stakeholders (Workshop 3) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6136 | # Step 7: Create Strategic Scenarios and Attack Paths (Workshop 3) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6376 | # Step 8: Create Elementary Actions (Workshop 4) | COMMENT |
| LOW⚡ | backend/chat/views.py | 474 | # Step 2: Knowledge graph + Semantic RAG search | COMMENT |
| LOW | backend/chat/views.py | 160 | # Step 1: Route to tool or workflow | COMMENT |
| LOW | backend/chat/views.py | 495 | # Step 3: Auto-suggest attachable objects when on a contextual page | COMMENT |
| LOW | backend/chat/workflows/suggest_controls.py | 38 | # Step 1: Fetch requirement details | COMMENT |
| LOW | backend/chat/workflows/suggest_controls.py | 59 | # Step 2: Search for candidate controls | COMMENT |
| LOW | backend/chat/workflows/suggest_controls.py | 72 | # Step 3: LLM ranks and explains | COMMENT |
| LOW | backend/chat/workflows/suggest_controls.py | 92 | # Step 4: Parse LLM recommendations and emit attach proposals | COMMENT |
| LOW | backend/chat/workflows/evidence_guidance.py | 38 | # Step 1: Fetch requirement + controls context | COMMENT |
| LOW⚡ | backend/chat/workflows/evidence_guidance.py | 55 | # Step 2: Search existing evidences | COMMENT |
| LOW⚡ | backend/chat/workflows/evidence_guidance.py | 65 | # Step 3: LLM advises on evidence | COMMENT |
| LOW⚡ | backend/chat/workflows/evidence_guidance.py | 69 | # Step 4: Parse LLM recommendations and emit attach proposals | COMMENT |
| LOW | backend/chat/workflows/risk_treatment.py | 38 | # Step 1: Fetch risk scenario details | COMMENT |
| LOW | backend/chat/workflows/risk_treatment.py | 56 | # Step 2: Search for candidate controls | COMMENT |
| LOW⚡ | backend/chat/workflows/risk_treatment.py | 68 | # Step 3: LLM reasons about treatment | COMMENT |
| LOW⚡ | backend/chat/workflows/risk_treatment.py | 72 | # Step 4: Parse LLM recommendations and emit attach proposals | COMMENT |
| LOW | backend/serdes/views.py | 325 | # Step 1: Restore database backup | COMMENT |
| LOW⚡ | backend/serdes/views.py | 405 | # Step 2: Restore attachments if provided (using streaming format) | COMMENT |
| LOW | …braries/anssi-points-de-controle-active-directory.yaml | 2348 | \n## Step 1: allow access to RPC used by DNS management MMC snap in\n\n\ | CODE |
| LOW | …braries/anssi-points-de-controle-active-directory.yaml | 2364 | \ l'arborescence |\n\n## Step 2: allow DNS zone modifications\n\nIn the\ | CODE |
| LOW | …braries/anssi-points-de-controle-active-directory.yaml | 8210 | \n## Step 1: allow access to RPC used by DNS management MMC snap in\n\n\ | CODE |
| LOW | …braries/anssi-points-de-controle-active-directory.yaml | 8224 | \ tree |\n\n## Step 2: allow DNS zone modifications\n\nIn the `DC=DomainDnsZones`\ | CODE |
| LOW⚡ | backend/scripts/convert_library_v2.py | 1723 | # Step 1: Load library_meta | COMMENT |
| LOW⚡ | backend/scripts/convert_library_v2.py | 1733 | # Step 2: Format publication_date | COMMENT |
| 21 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/convert_library_v2.py | 1221 | # Optional: importance: mandatory/recommended/nice_to_have or empty (= undefined) | COMMENT |
| HIGH | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 761 | spans.push(span); | STRING |
| HIGH | .claude/skills/mapping-builder/scripts/render_html.py | 417 | matrixCell: null, // [srcCat, tgtCat] or null | CODE |
| HIGH | .claude/skills/mapping-builder/scripts/render_html.py | 489 | if (state.matrixCell && state.matrixCell[0] === src && state.matrixCell[1] === tgt) { | CODE |
| HIGH | .claude/skills/mapping-builder/scripts/render_html.py | 490 | state.matrixCell = null; | CODE |
| HIGH | .claude/skills/mapping-builder/scripts/render_html.py | 515 | state.matrixCell = null; | CODE |
| HIGH | backend/core/models.py | 10032 | """Template definition. Library-backed (urn set) or user-authored (urn null).""" | STRING |
| HIGH | backend/core/helpers.py | 1522 | data.append({"name": "(undefined)", "value": undefined}) | CODE |
| HIGH | backend/core/views.py | 341 | # Separate "--" (null) from other actual values | COMMENT |
| HIGH | backend/core/views.py | 8675 | # csf_functions ships display labels ("Govern", "(undefined)"); | COMMENT |
| HIGH | backend/core/views.py | 6253 | "(undefined)": "#505372", | CODE |
| HIGH | backend/data_wizard/arm_helpers.py | 244 | Empty or invalid values return 0 (undefined). | STRING |
| HIGH | backend/data_wizard/views.py | 5190 | # If no match found, return -1 (undefined) | COMMENT |
| HIGH | backend/pmbok/views.py | 164 | # Returns: {role: {id, code, name, color} | null, assignment_id: uuid | null}. | COMMENT |
| HIGH | backend/scripts/convert_library_v2.py | 1221 | # Optional: importance: mandatory/recommended/nice_to_have or empty (= undefined) | COMMENT |
| HIGH | cli/ca_mcp/tools/read_tools.py | 1345 | severity: Filter by severity: -1 (undefined) | 0 (info) | 1 (low) | 2 (medium) | 3 (high) | 4 (critical) | STRING |
| HIGH | cli/ca_mcp/tools/update_tools.py | 80 | sec_confidentiality: Confidentiality value 0-4 (0=undefined,1=low,2=med,3=high,4=critical) | STRING |
| HIGH | cli/ca_mcp/tools/update_tools.py | 1140 | severity: -1 (undefined) | 0 (info) | 1 (low) | 2 (medium) | 3 (high) | 4 (critical) | STRING |
| HIGH⚡ | cli/ca_mcp/tools/ebios_rm_tools.py | 1095 | motivation: Motivation level 0-4 (0=undefined, 1=very_low, 2=low, 3=significant, 4=strong) | STRING |
| HIGH⚡ | cli/ca_mcp/tools/ebios_rm_tools.py | 1096 | resources: Resources level 0-4 (0=undefined, 1=limited, 2=significant, 3=important, 4=unlimited) | STRING |
| HIGH⚡ | cli/ca_mcp/tools/ebios_rm_tools.py | 1097 | activity: Activity level 0-4 (0=undefined, 1=very_low, 2=low, 3=moderate, 4=important) | STRING |
| HIGH | cli/ca_mcp/tools/write_tools.py | 113 | sec_confidentiality: Confidentiality value 0-4 (0=undefined,1=low,2=med,3=high,4=critical) | STRING |
| HIGH | cli/ca_mcp/tools/write_tools.py | 1070 | severity: -1 (undefined) | 0 (info) | 1 (low) | 2 (medium) | 3 (high) | 4 (critical) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/mapping_builder/semantic_mapper.py | 580 | # Generate embeddings if embedding model is specified | COMMENT |
| MEDIUM | tools/mapping_builder/README.md | 69 | # First, pull an embedding model | COMMENT |
| MEDIUM | product-docs/configuration/authoring/preset-editor.md | 131 | ### Adding a scaffold | COMMENT |
| MEDIUM | product-docs/configuration/authoring/preset-editor.md | 175 | ### Type-specific scaffold fields | COMMENT |
| MEDIUM | product-docs/configuration/authoring/preset.md | 119 | ### Have multiple steps focus on the same scaffold | COMMENT |
| MEDIUM | product-docs/configuration/authoring/preset.md | 130 | ### Add parameters to a scaffold | COMMENT |
| MEDIUM | product-docs/installation/helm-chart.md | 58 | ## AI assistant (chat / RAG) | COMMENT |
| MEDIUM | …nal)/experimental/preset-editor/[id=uuid]/+page.svelte | 164 | // One-time massage: ensure every scaffold has step_ref_id pointing at an existing step. | COMMENT |
| MEDIUM | …nal)/experimental/preset-editor/[id=uuid]/+page.svelte | 303 | // Drop focus if it pointed to a scaffold whose type no longer matches the new model | COMMENT |
| MEDIUM | …nal)/experimental/preset-editor/[id=uuid]/+page.svelte | 386 | // Clear target_ref on any step that focused on a deleted scaffold | COMMENT |
| MEDIUM | …nal)/experimental/preset-editor/[id=uuid]/+page.svelte | 468 | // to focus on a scaffold "owned" by another step (e.g. iso27001-full's iso_audit | COMMENT |
| MEDIUM | …nal)/experimental/preset-editor/[id=uuid]/+page.svelte | 507 | // scaffold.framework holds a *library* URN; look up the Framework whose | COMMENT |
| MEDIUM | …nal)/experimental/preset-editor/[id=uuid]/+page.svelte | 537 | {#snippet scaffoldFields(scaffold: Scaffold, idx: number)} | CODE |
| MEDIUM | …nal)/experimental/preset-editor/[id=uuid]/+page.svelte | 538 | {#if scaffold.type === 'compliance_assessment'} | CODE |
| MEDIUM | …nal)/experimental/preset-editor/[id=uuid]/+page.svelte | 553 | {#if scaffold.framework} | CODE |
| MEDIUM | …nal)/experimental/preset-editor/[id=uuid]/+page.svelte | 1109 | {#each ownedScaffolds as scaffold (indexOfScaffold(scaffold))} | CODE |
| MEDIUM | charts/ciso-assistant-next/values.yaml | 470 | ## Qdrant vector database (AI assistant / RAG) | COMMENT |
| MEDIUM | backend/core/preset_editor.py | 27 | # Enum allow-lists for type-specific scaffold fields (mirror the model choices). | COMMENT |
| MEDIUM | backend/core/preset_editor.py | 378 | # Allow raw uuids too — but in editor we only use scaffold refs. | COMMENT |
| MEDIUM | backend/core/tests/test_preset_editor.py | 153 | # Empty framework preserved on the scaffold | COMMENT |
| MEDIUM | backend/chat/signals.py | 13 | # Models to index for RAG | COMMENT |
| MEDIUM | backend/chat/ARCHITECTURE.md | 273 | ## RAG Layer — Semantic Retrieval (`rag.py`) | COMMENT |
| MEDIUM | backend/chat/ARCHITECTURE.md | 381 | ### When RAG Is Used | COMMENT |
| MEDIUM | backend/chat/ARCHITECTURE.md | 520 | #### Path 2: RAG fallback augmentation (implicit) | COMMENT |
| MEDIUM | backend/chat/ARCHITECTURE.md | 543 | ## RAG vs Knowledge Graph — When Each Is Used | COMMENT |
| MEDIUM | backend/chat/README.md | 45 | # Optional: pull an embedding model | COMMENT |
| MEDIUM | backend/chat/README.md | 215 | ### RAG returns no results | COMMENT |
| MEDIUM⚡ | backend/chat/views.py | 474 | # Step 2: Knowledge graph + Semantic RAG search | COMMENT |
| MEDIUM | backend/chat/views.py | 135 | # Try tool calling first, fall back to RAG semantic search | COMMENT |
| MEDIUM | backend/chat/views.py | 513 | # Replace the RAG context entirely — the attach cards ARE the response | COMMENT |
| MEDIUM | backend/library/libraries/mas-threats.yaml | 9 | additional complexity and new attack surfaces.\nhttps://genai.owasp.org/resource/multi-agentic-system-threat-modeling- | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/convert_library_v2.py | 1723 | # Step 1: Load library_meta | COMMENT |
| LOW⚡ | tools/convert_library_v2.py | 1733 | # Step 2: Format publication_date | COMMENT |
| LOW⚡ | tools/convert_library_v2.py | 1743 | # Step 3: Build library with fixed key order | COMMENT |
| LOW | tools/convert_library_v2.py | 1804 | # Step 4: Detect all object blocks | COMMENT |
| LOW | tools/convert_library_v2.py | 1853 | # Step 5: Ordered object insertion (reference_controls before threats) | COMMENT |
| LOW | tools/convert_library_v2.py | 1894 | # Step 6: Validate name lengths | COMMENT |
| LOW | tools/convert_library_v2.py | 1906 | # Step 7: Export to YAML | COMMENT |
| LOW⚡ | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 637 | # Step 1: initialize one "/" per line from question_choices. | COMMENT |
| LOW⚡ | …ools/mon-aide-cyber/anssi_MAC_build_excel_from_json.py | 639 | # Step 2: replace matching lines with color hex codes. | COMMENT |
| LOW⚡ | …rology/management/commands/backfill_builtin_metrics.py | 63 | # Step 1: Migrate historical data | COMMENT |
| LOW⚡ | …rology/management/commands/backfill_builtin_metrics.py | 67 | # Step 2: Generate current snapshots | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 5309 | # Step 1: Create Assets (primary and supporting) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 5569 | # Step 2: Create Applied Controls | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 5632 | # Step 3: Create EBIOS RM Study | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 5669 | # Step 4: Create Feared Events | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 5752 | # Step 5: Create RoTo Couples (Workshop 2) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 5900 | # Step 6: Create Stakeholders (Workshop 3) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6136 | # Step 7: Create Strategic Scenarios and Attack Paths (Workshop 3) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6376 | # Step 8: Create Elementary Actions (Workshop 4) | COMMENT |
| LOW⚡ | backend/chat/views.py | 474 | # Step 2: Knowledge graph + Semantic RAG search | COMMENT |
| LOW | backend/chat/views.py | 160 | # Step 1: Route to tool or workflow | COMMENT |
| LOW | backend/chat/views.py | 495 | # Step 3: Auto-suggest attachable objects when on a contextual page | COMMENT |
| LOW | backend/chat/workflows/suggest_controls.py | 38 | # Step 1: Fetch requirement details | COMMENT |
| LOW | backend/chat/workflows/suggest_controls.py | 59 | # Step 2: Search for candidate controls | COMMENT |
| LOW | backend/chat/workflows/suggest_controls.py | 72 | # Step 3: LLM ranks and explains | COMMENT |
| LOW | backend/chat/workflows/suggest_controls.py | 92 | # Step 4: Parse LLM recommendations and emit attach proposals | COMMENT |
| LOW | backend/chat/workflows/evidence_guidance.py | 38 | # Step 1: Fetch requirement + controls context | COMMENT |
| LOW⚡ | backend/chat/workflows/evidence_guidance.py | 55 | # Step 2: Search existing evidences | COMMENT |
| LOW⚡ | backend/chat/workflows/evidence_guidance.py | 65 | # Step 3: LLM advises on evidence | COMMENT |
| LOW⚡ | backend/chat/workflows/evidence_guidance.py | 69 | # Step 4: Parse LLM recommendations and emit attach proposals | COMMENT |
| LOW | backend/chat/workflows/risk_treatment.py | 38 | # Step 1: Fetch risk scenario details | COMMENT |
| LOW | backend/chat/workflows/risk_treatment.py | 56 | # Step 2: Search for candidate controls | COMMENT |
| LOW⚡ | backend/chat/workflows/risk_treatment.py | 68 | # Step 3: LLM reasons about treatment | COMMENT |
| LOW⚡ | backend/chat/workflows/risk_treatment.py | 72 | # Step 4: Parse LLM recommendations and emit attach proposals | COMMENT |
| LOW | backend/serdes/views.py | 325 | # Step 1: Restore database backup | COMMENT |
| LOW⚡ | backend/serdes/views.py | 405 | # Step 2: Restore attachments if provided (using streaming format) | COMMENT |
| LOW | …braries/anssi-points-de-controle-active-directory.yaml | 2348 | \n## Step 1: allow access to RPC used by DNS management MMC snap in\n\n\ | CODE |
| LOW | …braries/anssi-points-de-controle-active-directory.yaml | 2364 | \ l'arborescence |\n\n## Step 2: allow DNS zone modifications\n\nIn the\ | CODE |
| LOW | …braries/anssi-points-de-controle-active-directory.yaml | 8210 | \n## Step 1: allow access to RPC used by DNS management MMC snap in\n\n\ | CODE |
| LOW | …braries/anssi-points-de-controle-active-directory.yaml | 8224 | \ tree |\n\n## Step 2: allow DNS zone modifications\n\nIn the `DC=DomainDnsZones`\ | CODE |
| LOW⚡ | backend/scripts/convert_library_v2.py | 1723 | # Step 1: Load library_meta | COMMENT |
| LOW⚡ | backend/scripts/convert_library_v2.py | 1733 | # Step 2: Format publication_date | COMMENT |
| LOW⚡ | backend/scripts/convert_library_v2.py | 1743 | # Step 3: Build library with fixed key order | COMMENT |
| LOW | backend/scripts/convert_library_v2.py | 1804 | # Step 4: Detect all object blocks | COMMENT |
| LOW | backend/scripts/convert_library_v2.py | 1853 | # Step 5: Ordered object insertion (reference_controls before threats) | COMMENT |
| LOW | backend/scripts/convert_library_v2.py | 1894 | # Step 6: Validate name lengths | COMMENT |
| LOW | backend/scripts/convert_library_v2.py | 1906 | # Step 7: Export to YAML | COMMENT |
| LOW | cli/clica.py | 828 | # Step 1: Backup database | COMMENT |
| LOW | cli/clica.py | 846 | # Step 2: Backup attachments using streaming approach | COMMENT |
| LOW | …ion/n8n/n8n-nodes-ca/nodes/handlers/EvidenceHandler.ts | 135 | // Step 1: Create a new evidence revision | COMMENT |
| LOW | …ion/n8n/n8n-nodes-ca/nodes/handlers/EvidenceHandler.ts | 150 | // Step 2: Upload the file to the new revision | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | README.md | 581 | export USE_S3=True | COMMENT |
| LOW | README.md | 601 | # export AZURE_CONTAINER=<your-container-name> # default: ciso-assistant-container | COMMENT |
| LOW | tools/prepare_framework_v2_config.yaml | 1 | # ============================================================================== | COMMENT |
| LOW | tools/prepare_framework_v2_config.yaml | 21 | # OPTIONAL / CONDITIONAL FIELDS: | COMMENT |
| LOW | tools/prepare_framework_v2_config.yaml | 61 | COMMENT | |
| LOW | tools/prepare_framework_v2_config.yaml | 81 | # # This group is missing a description on purpose to trigger a warning. | COMMENT |
| LOW | tools/prepare_framework_v2_config.yaml | 101 | # Garantit la confidentialité, l'intégrité et la disponibilité des données sensibles. | COMMENT |
| LOW | tools/misc/mapping_extractor_config.yaml | 1 | # ============================================================================= | COMMENT |
| LOW | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 221 | _, value = part.split(":", 1) | COMMENT |
| LOW | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 281 | COMMENT | |
| LOW | …TS/tools/RTS-DORA-incident-reporting_text_formatter.py | 1 | ### TEXT EXTRACTION (WARNING: footnotes in the resulting exported text must be removed manually) ### | COMMENT |
| LOW | tools/excel/NIS2/tools/NIS2_text_formatter.py | 1 | ### TEXT EXTRACTION (WARNING: footnotes in the resulting exported text must be removed manually) ### | COMMENT |
| LOW | frontend/tests/fuzz/open-redirect/payloads.txt | 1 | //google.com/%2f.. | COMMENT |
| LOW | frontend/tests/fuzz/open-redirect/payloads.txt | 21 | //google.com/ | COMMENT |
| LOW | frontend/tests/fuzz/open-redirect/payloads.txt | 41 | //www.google.com/%2e%2e%2f | COMMENT |
| LOW | frontend/tests/hot-reload/_main.ts | 61 | // Every time a hot-reloaded module is modified (either main.ts or something directly/indirectly imported by main.ts) t | COMMENT |
| LOW | frontend/vitest-mocks/env-dynamic-public.ts | 1 | // Mock for SvelteKit's `$env/dynamic/public` virtual module under vitest. | COMMENT |
| LOW | frontend/src/lib/components/SideBar/navData.ts | 1 | export const navData = { | COMMENT |
| LOW | enterprise/offline-deployment.md | 141 | # S3 Storage (optional) | COMMENT |
| LOW | enterprise/offline-deployment.md | 161 | # EMAIL_USE_TLS_RESCUE=True | COMMENT |
| LOW | enterprise/frontend/src/routes/+layout.svelte | 81 | interface Props { | COMMENT |
| LOW | enterprise/frontend/src/routes/+layout.svelte | 101 | // // unset it... | COMMENT |
| LOW | enterprise/legacy/docker-compose-pg.yml | 21 | # image: ghcr.io/intuitem/ciso-assistant-community/backend:latest | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 21 | ## Extra CA certificate trusted by every pod (backend, Huey and frontend). | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 141 | COMMENT | |
| LOW | charts/ciso-assistant-next/values.yaml | 161 | COMMENT | |
| LOW | charts/ciso-assistant-next/values.yaml | 181 | # - name: ca-certs | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 201 | # -- Enable Local Storage persistence | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 221 | tag: "" | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 241 | COMMENT | |
| LOW | charts/ciso-assistant-next/values.yaml | 261 | # capabilities: | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 301 | COMMENT | |
| LOW | charts/ciso-assistant-next/values.yaml | 321 | imagePullPolicy: "" | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 341 | COMMENT | |
| LOW | charts/ciso-assistant-next/values.yaml | 381 | # -- Additional ingress annotations | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 401 | # ... | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 421 | ## matchLabels: | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 461 | password: "" | COMMENT |
| LOW | .claude/skills/ciso-assistant-bootstrap/SKILL.md | 181 | -H "Authorization: Token <TOKEN>" \ | COMMENT |
| LOW | backend/core/views.py | 10141 | raise DraftValidationError( | COMMENT |
| LOW | backend/core/tests/test_task.py | 21 | # self.items = [DummyObject(_id) for _id in ids] | COMMENT |
| LOW | backend/core/tests/test_task.py | 41 | # self.id = kwargs.get("id", 1) | COMMENT |
| LOW | backend/core/tests/test_task.py | 101 | COMMENT | |
| LOW | backend/core/tests/test_task.py | 121 | # # For a date where date.weekday()+1 %7 == 2, it must be that date.weekday() == 1 (it's Tuesday). | COMMENT |
| LOW | backend/core/tests/test_task.py | 141 | # # For June 2025, the 2nd Thursday is June 12, 2025. | COMMENT |
| LOW | backend/core/tests/test_task.py | 161 | COMMENT | |
| LOW | backend/core/tests/test_task.py | 181 | COMMENT | |
| LOW | backend/core/tests/test_task.py | 201 | # # Choose a base date within a given month, for example June 5, 2025. | COMMENT |
| LOW | backend/core/tests/test_task.py | 221 | # # Create a dummy task with reference dates for testing _create_task_dict. | COMMENT |
| LOW | backend/core/tests/test_task.py | 241 | # # Verify that Many-to-Many relations are correctly transformed | COMMENT |
| LOW | backend/core/tests/test_task.py | 261 | # assert len(occurrences) == 3 | COMMENT |
| LOW | backend/core/tests/test_task.py | 281 | # # The function should return a set of future tasks | COMMENT |
| LOW | backend/core/tests/test_helpers.py | 241 | # "v1.2" is padded to [1, 2] so they compare equal. | COMMENT |
| LOW | backend/core/tests/sandbox/test_sandbox_functional.py | 61 | # which might be slow or consume memory. | COMMENT |
| LOW | backend/chat/providers.py | 561 | has_explicit_thinking = True | COMMENT |
| LOW | backend/chat/views.py | 1121 | qid = str(a.target_object_id) | COMMENT |
| LOW | backend/integrations/itsm/servicenow/client.py | 201 | Aggressively filters out system internals, import sets, and link tables. | COMMENT |
| LOW | backend/app_tests/api/test_api_risk_assessments.py | 261 | # def test_get_status_choice(self, test): | COMMENT |
| LOW | backend/app_tests/api/test_api_applied_controls.py | 261 | COMMENT | |
| LOW | backend/ciso_assistant/scripts/generate_build_file.sh | 1 | #!/bin/bash | COMMENT |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/misc/footnote_reference_prettifier.py | 56 | Apply transformation rules to cell text and return modified text plus list of changes. Examples: "run2 | STRING |
| HIGH | dispatcher/filtering.py | 13 | Process a selector to filter objects from the API that uses LimitOffsetPagination. Args: selector (lis | STRING |
| HIGH | dispatcher/messages.py | 128 | Generic function to update an object. Args: message (dict): The update message which must include: | STRING |
| HIGH | backend/core/utils.py | 544 | Compares two version strings at the specified level of granularity. Parameters: version_a (str): A ver | STRING |
| HIGH | backend/serdes/utils.py | 268 | Perform a topological sort with cycle detection. Args: graph: Dependency graph Returns: L | STRING |
| HIGH | backend/serdes/utils.py | 331 | Sort objects by their hierarchical relationship when the self-referencing field can contain multiple parent IDs | STRING |
| HIGH | backend/crq/utils.py | 394 | Calculate lognormal distribution parameters (mu, sigma) from two risk tolerance points. Args: point1: | STRING |
| HIGH | backend/integrations/registry.py | 173 | Get an orchestrator instance for a configuration Args: configuration: IntegrationConfiguration inst | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ys-ctrl-acces-phys-videoprot_v2.2_framework_builder.py | 1178 | # robust to footnotes and page breaks. | COMMENT |
| LOW | backend/ebios_rm/views.py | 113 | # NOTE: For now, just set it as done. Will allow undoing this later. | COMMENT |
| MEDIUM | backend/ebios_rm/views.py | 349 | # Build comprehensive report data | COMMENT |
| LOW | backend/core/helpers.py | 788 | # NOTE: if we want to skip empty values, we could just use the user_group by using annotation | COMMENT |
| MEDIUM | backend/core/views.py | 3893 | # Build comprehensive description from EBIOS RM components | COMMENT |
| MEDIUM | backend/core/views.py | 16002 | # Note: no IAM filtering here — coverage metrics must be comprehensive | COMMENT |
| MEDIUM | backend/core/views.py | 16069 | # comprehensive to avoid misleadingly low percentages. Only aggregates are exposed. | COMMENT |
| LOW | backend/chat/questionnaire.py | 80 | # free-text answer cell — those questions just use internal labels. | COMMENT |
| MEDIUM | backend/library/libraries/mcsb-v1.yaml | 410 | \ that host them.\n\n### AWS Guidance\n\nUse the following security best practices\ | CODE |
| MEDIUM | backend/integrations/itsm/servicenow/client.py | 358 | # or rely on a known cache, but let's do the robust lookup. | COMMENT |
| MEDIUM | backend/iam/models.py | 96 | """helper function outside of class to facilitate serialization | STRING |
| MEDIUM | backend/doc_management/template_import.py | 101 | # The <locale>/<name>.md directory (robust to a wrapper folder, e.g. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/excel/anssi/ad/tools/anssi_ad_web_scraper.py | 124 | no_space_after = "([{<" # you can add more if needed | CODE |
| LOW | enterprise/config/gen_local_cert.sh | 11 | # but make sure to enter your domain name (e.g., localhost) for the Common Name | COMMENT |
| LOW | config/gen_local_cert.sh | 11 | # but make sure to enter your domain name (e.g., localhost) for the Common Name | COMMENT |
| MEDIUM | …re/management/commands/populate_security_exceptions.py | 155 | f"This is a test security exception created for demonstration purposes. " | CODE |
| MEDIUM | backend/core/management/commands/populate_incidents.py | 174 | f"This is a test incident created for demonstration purposes. " | CODE |
| MEDIUM | backend/core/management/commands/populate_tasks.py | 146 | f"This is a test task created for demonstration purposes. " | CODE |
| MEDIUM | backend/core/management/commands/populate_tasks.py | 260 | f"This is a periodic test task created for demonstration purposes. " | CODE |
| MEDIUM | …d/core/management/commands/populate_vulnerabilities.py | 198 | f"This is a test vulnerability created for demonstration purposes. " | CODE |
| MEDIUM | backend/core/management/commands/populate_findings.py | 259 | f"This is automatically generated test data for demonstration purposes.", | CODE |
| MEDIUM | backend/core/management/commands/populate_findings.py | 319 | f"This is a test record created for demonstration purposes. " | CODE |
| MEDIUM | …d/privacy/management/commands/populate_privacy_data.py | 201 | f"This is a test processing activity created for demonstration purposes. " | CODE |
| MEDIUM | …d/privacy/management/commands/populate_privacy_data.py | 496 | observation=f"Test data breach record #{i + 1} for demonstration purposes.", | CODE |
| MEDIUM | backend/tprm/management/commands/populate_tprm_data.py | 172 | f"This is a test entity created for demonstration purposes. " | CODE |
| MEDIUM | backend/tprm/management/commands/populate_tprm_data.py | 285 | f"This {solution_type.lower()} solution is used for demonstration purposes. " | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/misc/convert_library_v1.py | 446 | CODE | |
| LOW | …ols/excel/anssi/ad/tools/anssi_ad_framework_builder.py | 392 | CODE | |
| LOW | tools/mapping_builder/semantic_mapper.py | 528 | CODE | |
| LOW | tools/mapping_builder/sbert_mapper.py | 288 | CODE | |
| LOW | backend/core/helpers.py | 1036 | CODE | |
| LOW | backend/core/helpers.py | 1590 | CODE | |
| LOW | backend/core/admin_config.py | 13 | CODE | |
| LOW | backend/app_tests/api/test_utils.py | 357 | CODE | |
| LOW | backend/app_tests/api/test_utils.py | 591 | CODE | |
| LOW | backend/app_tests/api/test_utils.py | 736 | CODE | |
| LOW | backend/resilience/models.py | 207 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 395 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 662 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 750 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 835 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 1043 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 23 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 214 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 367 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 465 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 635 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 857 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 983 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 1119 | CODE | |
| LOW | cli/ca_mcp/tools/ebios_rm_tools.py | 1642 | CODE | |
| LOW | cli/ca_mcp/tools/ebios_rm_tools.py | 1875 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 91 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 351 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 602 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 791 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 945 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 1051 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | backend/core/tests/test_helpers.py | 38 | user = User.objects.create(email="test@test.com", password="test") | CODE |
| LOW⚡ | backend/core/tests/test_helpers.py | 45 | user = User.objects.create(email="test@test.com", password="test") | CODE |
| LOW⚡ | backend/core/tests/test_helpers.py | 52 | user = User.objects.create(email="test@test.com", password="test") | CODE |
| LOW⚡ | backend/core/tests/test_helpers.py | 103 | user = User.objects.create(email="test@test.com", password="test") | CODE |
| LOW⚡ | backend/core/tests/test_helpers.py | 110 | user = User.objects.create(email="test@test.com", password="test") | CODE |
| LOW⚡ | backend/core/tests/test_helpers.py | 117 | user = User.objects.create(email="test@test.com", password="test") | CODE |
| LOW | backend/integrations/itsm/jira/tests.py | 15 | "email": "user@example.com", | CODE |
| LOW | backend/integrations/itsm/jira/tests.py | 186 | "email": "user@example.com", | CODE |
| LOW | …on/n8n/n8n-nodes-ca/nodes/CisoAssistantService.node.ts | 1033 | placeholder: "user@example.com", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/convert_library_v2.py | 154 | def set_optional_fields(entry: dict, data: dict, fields: list) -> None: | CODE |
| LOW | …end/core/management/commands/set_assessment_results.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/core/management/commands/reset_audit.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | …re/management/commands/recompute_assessment_results.py | 38 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/core/management/commands/metrics_server.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | backend/data_wizard/arm_helpers.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/tprm/dora_export.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/chat/workflows/__init__.py | 21 | __all__ = ["Workflow", "get_workflow_tools", "get_workflow_by_tool_name"] | CODE |
| LOW | backend/iam/cache_builders.py | 414 | __all__ = [ | CODE |
| LOW | backend/scripts/convert_library_v2.py | 154 | def set_optional_fields(entry: dict, data: dict, fields: list) -> None: | CODE |
| LOW | cli/ca_mcp/__init__.py | 5 | __all__ = ["run_server"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | backend/library/libraries/ai-act.yaml | 3082 | to label content generated by AI systems under this Regulation is without | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | backend/library/utils.py | 521 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/excel/cisco/cisco-ccf-v3.0_framework.py | 136 | # Example usage | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/data_wizard/views.py | 3231 | def process_data( | CODE |