CISO Assistant is a one-stop-shop GRC platform for Risk Management, AppSec, Compliance & Audit, TPRM, BIA, Privacy, and Reporting. It supports 200+ 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,380 GitHub stars. SynthScan v2.0 examined 1,475,895 lines of code across 2874 source files, recording 5246 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 4.8 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).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 5246 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 | 79 | def reset_unevaluated_formula_count(): | CODE |
| LOW⚡ | tools/convert_library_v2.py | 84 | def report_unevaluated_formulas(): | CODE |
| LOW⚡ | tools/convert_library_v2.py | 93 | def extract_translations_from_row(header, row): | CODE |
| LOW | tools/convert_library_v2.py | 105 | def extract_translations_from_metadata(meta_dict, prefix): | CODE |
| LOW | tools/convert_library_v2.py | 219 | def attach_translations_from_row(entry: dict, header: list, row) -> None: | CODE |
| LOW | tools/convert_library_v2.py | 229 | def expand_urns_from_prefixed_list( | CODE |
| LOW | tools/convert_library_v2.py | 284 | def _parse_multiline_with_pipe(raw: Any) -> list[str]: | CODE |
| LOW | tools/convert_library_v2.py | 318 | def _attach_question_translations( | CODE |
| LOW | tools/convert_library_v2.py | 343 | def _attach_choice_translations( | CODE |
| LOW | tools/convert_library_v2.py | 378 | def _node_translations_without_questions(translations: dict) -> dict: | CODE |
| LOW | tools/convert_library_v2.py | 387 | def inject_questions_into_node( | CODE |
| LOW | tools/convert_library_v2.py | 839 | def _handle_reference_controls(obj, library, compat_mode, verbose): | CODE |
| LOW | tools/convert_library_v2.py | 1568 | def _handle_metric_definitions(obj, library, compat_mode, verbose): | CODE |
| LOW | tools/convert_library_v2.py | 1667 | def _handle_requirement_mapping_set(obj, library, wb, sheets, compat_mode, verbose): | CODE |
| LOW⚡ | tools/check_library_v2.py | 2918 | def _framework_validate_framework_column_urns(wb: Workbook, df: pd.DataFrame, column_name: FrameworkContentColumns | str | CODE |
| LOW⚡ | tools/check_library_v2.py | 3845 | def validate_requirement_mapping_set_content(wb: Workbook, df: pd.DataFrame, sheet_name: str, verbose: bool = False, ctx | CODE |
| LOW | tools/check_library_v2.py | 114 | def get_warning_count_by_sheet(self) -> Dict[str, int]: | CODE |
| LOW | tools/check_library_v2.py | 118 | def get_verbose_count_by_sheet(self) -> Dict[str, int]: | CODE |
| LOW | tools/check_library_v2.py | 628 | def translatable_column_values(self) -> tuple[str, ...]: | CODE |
| LOW | tools/check_library_v2.py | 846 | def get_meta_sheets_with_type(wb: Workbook, context: str) -> Dict[str, str]: | CODE |
| LOW | tools/check_library_v2.py | 871 | def get_meta_sheets_names_from_type(wb: Workbook, sheet_type: MetaTypes, context: str) -> List[str]: | CODE |
| LOW | tools/check_library_v2.py | 930 | def get_non_empty_column_values(df: pd.DataFrame, column_name: ContentColumn | str) -> List[str]: | CODE |
| LOW | tools/check_library_v2.py | 946 | def parse_multiline_with_custom_separator( | CODE |
| LOW | tools/check_library_v2.py | 1019 | def validate_ref_id_with_spaces(ref_id: str, context: str = None, row: str | int = None): | CODE |
| LOW | tools/check_library_v2.py | 1261 | def validate_optional_values_meta_sheet(df: pd.DataFrame, sheet_name: str, optional_keys: Sequence[MetaKey | str], conte | CODE |
| LOW | tools/check_library_v2.py | 1285 | def validate_extra_locales_in_meta(df: pd.DataFrame, sheet_name: str, translatable_keys: Sequence[MetaKey | str], contex | CODE |
| LOW | tools/check_library_v2.py | 1332 | def validate_related_content_sheet_from_name_key(wb: Workbook, df: pd.DataFrame, sheet_name: str, name_key: MetaKey | st | CODE |
| LOW | tools/check_library_v2.py | 1347 | def _framework_validate_definition_keys(wb: Workbook, df: pd.DataFrame, sheet_name: str, definition_keys: Sequence[Frame | CODE |
| LOW | tools/check_library_v2.py | 1369 | def _framework_validate_meta_min_max_score(df: pd.DataFrame, sheet_name: str): | CODE |
| LOW | tools/check_library_v2.py | 1507 | def validate_reference_controls_meta(df: pd.DataFrame, sheet_name: str, verbose: bool = False, ctx: ConsoleContext = Non | CODE |
| LOW | tools/check_library_v2.py | 1531 | def validate_risk_matrix_meta(df: pd.DataFrame, sheet_name: str, verbose: bool = False, ctx: ConsoleContext = None): | CODE |
| LOW | tools/check_library_v2.py | 1559 | def validate_implementation_groups_meta(wb: Workbook, df: pd.DataFrame, sheet_name: str, verbose: bool = False, ctx: Con | CODE |
| LOW | tools/check_library_v2.py | 1581 | def validate_requirement_mapping_set_meta(df: pd.DataFrame, sheet_name: str, verbose: bool, ctx: ConsoleContext = None): | CODE |
| LOW | tools/check_library_v2.py | 1754 | def validate_optional_columns_content_sheet(df: pd.DataFrame, sheet_name: str, optional_columns: Sequence[ContentColumn | CODE |
| LOW | tools/check_library_v2.py | 1784 | def validate_columns_presence_together(df: pd.DataFrame, column_names: Sequence[ContentColumn | str], sheet_name: str, c | CODE |
| LOW | tools/check_library_v2.py | 1803 | def validate_column_max_length(df: pd.DataFrame, column_name: ContentColumn | str, max_length: int, sheet_name: str, con | CODE |
| LOW | tools/check_library_v2.py | 1831 | def validate_unique_column_values(df: pd.DataFrame, column_names: Sequence[ContentColumn | str], sheet_name: str, contex | CODE |
| LOW | tools/check_library_v2.py | 1869 | def validate_extra_locales_in_content(df: pd.DataFrame, sheet_name: str, context: str, ctx: ConsoleContext = None, verbo | CODE |
| LOW | tools/check_library_v2.py | 1933 | def get_content_sheet_base_name(content_sheet_name: str) -> str: | CODE |
| LOW | tools/check_library_v2.py | 1960 | def get_corresponding_type_sheet_names(sheet_names: List[str], sheet_type: SheetTypes) -> List[str]: | CODE |
| LOW | tools/check_library_v2.py | 1983 | def check_content_sheet_usage_in_frameworks(wb: Workbook, sheet_name: str, meta_field: FrameworkMetaKeys | str, fct_name | CODE |
| LOW | tools/check_library_v2.py | 2025 | def check_unused_ids_in_frameworks(wb: Workbook, df_ids: pd.DataFrame, id_column: ContentColumn | str, target_column: Co | CODE |
| LOW | tools/check_library_v2.py | 2087 | def _implementation_groups_check_unused_default_ids_in_frameworks(wb: Workbook, df: pd.DataFrame, frameworks_sheet_names | CODE |
| LOW | tools/check_library_v2.py | 2113 | def validate_allowed_column_values( | CODE |
| LOW | tools/check_library_v2.py | 2230 | def validate_cell_line_count_alignment( | CODE |
| LOW | tools/check_library_v2.py | 2611 | def _req_map_set_validate_unique_mappings(df: pd.DataFrame, sheet_name: str, warn_only: bool = False, ctx: ConsoleContex | CODE |
| LOW | tools/check_library_v2.py | 2652 | def _req_map_set_validate_mapping_node_ids_against_sheets(wb: Workbook, df: pd.DataFrame, sheet_name: str, fct_name: str | CODE |
| LOW | tools/check_library_v2.py | 2779 | def _framework_validate_minimum_fields_and_ref_id(df: pd.DataFrame, sheet_name: str): | CODE |
| LOW | tools/check_library_v2.py | 2834 | def _framework_validate_column_against_reference_sheet(wb: Workbook, df: pd.DataFrame, column_name: FrameworkContentColu | CODE |
| LOW | tools/check_library_v2.py | 3301 | def _answers_validate_question_choices(df: pd.DataFrame, sheet_name: str): | CODE |
| LOW | tools/check_library_v2.py | 3331 | def _answers_validate_select_implementation_groups(wb: Workbook, df: pd.DataFrame, sheet_name: str, split_regex: str | C | CODE |
| LOW | tools/check_library_v2.py | 3388 | def get_yaml_section_from_files(yaml_files: List[str], section_type: YAMLSectionTypes, current_sheet_name: str, verbose: | CODE |
| LOW | tools/check_library_v2.py | 3530 | def _framework_validate_depth_consistency(df: pd.DataFrame, sheet_name: str): | CODE |
| LOW | tools/check_library_v2.py | 3565 | def _framework_validate_scores_definition_column(wb: Workbook, df: pd.DataFrame, sheet_name: str): | CODE |
| LOW | tools/check_library_v2.py | 3626 | def validate_framework_content(wb: Workbook, df: pd.DataFrame, sheet_name: str, external_refs: List[str] = None, verbose | CODE |
| LOW | tools/check_library_v2.py | 3747 | def validate_reference_controls_content(df: pd.DataFrame, sheet_name: str, verbose: bool = False, ctx: ConsoleContext = | CODE |
| LOW | tools/check_library_v2.py | 3776 | def validate_risk_matrix_content(df: pd.DataFrame, sheet_name: str, verbose: bool = False, ctx: ConsoleContext = None): | CODE |
| LOW | tools/check_library_v2.py | 3809 | def validate_implementation_groups_content(wb: Workbook, df: pd.DataFrame, sheet_name: str, verbose: bool = False, ctx: | CODE |
| 2944 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 | 61 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | tools/check_library_v2.py | 2928 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tools/check_library_v2.py | 2930 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tools/check_library_v2.py | 4007 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tools/check_library_v2.py | 4009 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 46 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 48 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 783 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 785 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 981 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 983 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 1239 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 1241 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 1700 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 1702 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 2150 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 2152 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 2186 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 2188 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 2971 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 2973 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 2988 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 2990 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 3040 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 3042 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 3089 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 3091 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 3164 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 3166 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4067 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4069 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4159 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4161 | # ───────────────────────────────────────────────────────────── | 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 |
| 488 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 | 1342 | except Exception as e: | CODE |
| LOW | tools/convert_library_v2.py | 2212 | except Exception as e: | CODE |
| LOW | tools/convert_library_v2.py | 2238 | except Exception as e: | CODE |
| LOW | tools/convert_library_v2.py | 2283 | 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/check_library_v2.py | 1205 | except Exception: | CODE |
| LOW | tools/check_library_v2.py | 1738 | except Exception as e: | CODE |
| LOW | tools/check_library_v2.py | 2480 | except Exception as e: | CODE |
| LOW | tools/check_library_v2.py | 2547 | except Exception as e: | CODE |
| LOW | tools/check_library_v2.py | 2815 | except Exception as e: | CODE |
| LOW | tools/check_library_v2.py | 4261 | except Exception as e: | CODE |
| LOW | tools/check_library_v2.py | 4320 | except Exception as e: | CODE |
| LOW | tools/prepare_framework_v2.py | 508 | except Exception as e: | CODE |
| LOW | tools/prepare_framework_v2.py | 535 | except Exception as e: | CODE |
| LOW | tools/prepare_framework_v2.py | 843 | except Exception as e: | CODE |
| LOW | tools/prepare_framework_v2.py | 873 | 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_excel_folder_contents.py | 130 | except Exception as error: # openpyxl can raise file-specific errors. | 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 |
| MEDIUM | tools/misc/check_excel_duplicates.py | 226 | print(f"Error: Excel file not found: {excel_file}") | CODE |
| MEDIUM | tools/misc/check_excel_duplicates.py | 229 | print("Error: only .xlsx and .xlsm workbooks are supported.") | CODE |
| LOW | tools/misc/check_excel_duplicates.py | 241 | except Exception as error: | CODE |
| MEDIUM | tools/misc/check_excel_duplicates.py | 242 | print(f"Error: unable to open {excel_file}: {error}") | CODE |
| MEDIUM | tools/misc/check_excel_duplicates.py | 264 | print(f"Error: {error}") | 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 |
| 558 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/serializers.py | 14 | from django.core.exceptions import ValidationError | 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 | 3172 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/core/models.py | 3887 | all_links = self.__class__.parent_assets.through.objects.values_list( | CODE |
| CRITICAL | backend/core/models.py | 3914 | all_links = self.__class__.parent_assets.through.objects.values_list( | CODE |
| CRITICAL | backend/core/models.py | 7195 | 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 | 30 | 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 | 19 | 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 | 25 | 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 | 861 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | backend/chat/views.py | 1116 | from django.core.exceptions import ValidationError as DjValidationError | CODE |
| CRITICAL | backend/serdes/tests/test_tprm_export_import.py | 19 | from django.core.exceptions import ValidationError as DjangoValidationError | 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 | 7 | 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 | 6 | 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/service_accounts.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/iam/views.py | 19 | from django.core.exceptions import ValidationError as DjangoValidationError | 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/automation/views.py | 13 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/automation/workflows/graph.py | 12 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/automation/workflows/actions.py | 18 | 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 |
|---|---|---|---|---|
| LOW | tools/convert_v1_to_v2.py | 62 | CODE | |
| LOW | tools/check_library_v2.py | 1034 | CODE | |
| LOW | tools/check_library_v2.py | 1086 | CODE | |
| LOW | tools/check_library_v2.py | 1261 | CODE | |
| LOW | tools/check_library_v2.py | 1706 | CODE | |
| LOW | tools/check_library_v2.py | 1754 | CODE | |
| LOW | tools/check_library_v2.py | 1831 | CODE | |
| LOW | tools/check_library_v2.py | 1869 | CODE | |
| LOW | tools/check_library_v2.py | 2025 | CODE | |
| LOW | tools/check_library_v2.py | 2113 | CODE | |
| LOW | tools/check_library_v2.py | 2337 | CODE | |
| LOW | tools/check_library_v2.py | 2419 | CODE | |
| LOW | tools/check_library_v2.py | 2579 | CODE | |
| LOW | tools/check_library_v2.py | 2652 | CODE | |
| LOW | tools/check_library_v2.py | 2918 | CODE | |
| LOW | tools/check_library_v2.py | 3388 | CODE | |
| LOW | tools/check_library_v2.py | 4011 | CODE | |
| LOW | tools/check_library_v2.py | 4041 | 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 | 564 | 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_excel_folder_contents.py | 96 | 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/tisax/tools/convert_tisax.py | 160 | 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 | |
| 163 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_excel_folder_contents.py | 13 | CODE | |
| LOW | tools/misc/check_converted_excels_against_libraries.py | 14 | CODE | |
| LOW | tools/misc/check_excel_duplicates.py | 8 | 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/tools/convert_tisax_5.1.py | 7 | CODE | |
| LOW | tools/excel/tisax/tools/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 | …/netherlands/tools/cbw_nis2_annotation_en_corrector.py | 1 | 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 | …l/ccb/tools/cyfun2025_fix_remaining_inconsistencies.py | 9 | CODE | |
| LOW | …excel/ccb/tools/generate_cyfun2025_iso27001_mapping.py | 8 | CODE | |
| LOW | tools/excel/mitre/tools/compare_mitre_ref_ids.py | 4 | CODE | |
| LOW | …ls/excel/mitre/tools/mitre-attack_framework_builder.py | 31 | CODE | |
| LOW | tools/excel/mitre/tools/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/serializers.py | 2 | CODE | |
| LOW | enterprise/backend/enterprise_core/serializers.py | 16 | CODE | |
| LOW | enterprise/backend/enterprise_core/apps.py | 50 | CODE | |
| LOW | enterprise/backend/enterprise_core/settings.py | 12 | 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 | |
| 155 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/check_library_v2.py | 259 | # Define the required, optional, and translatable keys of a meta sheet | COMMENT |
| MEDIUM | tools/check_library_v2.py | 464 | # Define the validation constraints that can be applied to a content column | COMMENT |
| MEDIUM | tools/check_library_v2.py | 595 | # Define the required, optional, and translatable columns and their constraints | COMMENT |
| MEDIUM | tools/prepare_framework_v2.py | 563 | # 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 | 1950 | # Create a subquery to get the highest version in StoredLibrary for the same urn. | COMMENT |
| MEDIUM | backend/core/models.py | 6684 | # Create a mapping of scenario ID to scenario object with prefetched controls | COMMENT |
| MEDIUM | backend/core/serializers.py | 5609 | # Create the validation flow | COMMENT |
| MEDIUM | backend/core/generators.py | 223 | # Create the plot | COMMENT |
| MEDIUM | backend/core/generators.py | 291 | # Create the plot | COMMENT |
| MEDIUM | backend/core/helpers.py | 2241 | # Create the new object | COMMENT |
| MEDIUM | backend/core/views.py | 4573 | # Create the quantitative risk study with [QUANT] prefix | COMMENT |
| MEDIUM | backend/core/views.py | 5371 | # Create the local object first | COMMENT |
| MEDIUM | backend/core/views.py | 7645 | # 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 | 5560 | # Create the entity first, then handle parent relationship | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 5681 | # Create the solution | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6023 | # Create the contract | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6390 | # Create the primary asset | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6691 | # Create a new terminology entry for this risk origin | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6751 | # Create the RoTo couple | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6834 | # Create a new terminology entry | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6962 | # Create the stakeholder | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 7223 | # Create the strategic scenario | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 7235 | # Create the attack path if provided | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 7328 | # Create the elementary action | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 7452 | # 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 | 156 | # Create the quantitative risk scenario | COMMENT |
| MEDIUM | backend/crq/serializers.py | 264 | # Create the hypothesis | COMMENT |
| MEDIUM | backend/integrations/views.py | 54 | # 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 |
| 9 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose-build.sh | 75 | # 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/check_library_v2.py | 3689 | # Check if values in "importance" columns are valid | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3692 | # Check if the number of lines in cells of "questions" are coherent with lines in cells of "answer" | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3695 | # Check if the number of lines in cells of "questions" are coherent with lines in cells of "depends_on" | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3698 | # Check if values in "depends_on" columns are valid | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3701 | # Check if values in "condition" columns are valid | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3704 | # Check if values in "scores_definition" columns are valid | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3709 | # Check if "condition" exists when "depends_on" is defined | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3712 | # Check if values in "weight" columns are valid | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3832 | # Check if the "implementation_groups" sheet is actually used in a "framework" sheet | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3836 | # Check if every implementation groups are actually used in "framework" sheets | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3930 | # Check if values in "question_type" column are valid | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3933 | # Check if values in "compute_result" column are valid | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3936 | # Check if values in "color" column are valid | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3939 | # Check if values in "add_score" columns are valid | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3942 | # Check if values in "select_implementation_groups" exist in an implementation groups sheet | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3949 | # Check if the "answers" sheet is actually used in a "framework" sheet | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3953 | # Check if every answers are actually used in "framework" sheets | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3957 | # Check if the number of lines in cells of "question_choices" are coherent with lines in cells of "description" | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3960 | # Check if the number of lines in cells of "question_choices" are coherent with lines in cells of "select_implementa | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3963 | # Check if the number of lines in cells of "question_choices" are coherent with lines in cells of "add_score" | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3966 | # Check if the number of lines in cells of "question_choices" are coherent with lines in cells of "compute_result" | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3969 | # Check if the number of lines in cells of "question_choices" are coherent with lines in cells of "color" | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3994 | # Check if URN Prefix IDs are used in "framework" sheets | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 3997 | # Check if "prefix_value" come from internal sheets or external framework | COMMENT |
| LOW | tools/check_library_v2.py | 267 | # Check if every keys are from the same Enum family | COMMENT |
| LOW | tools/check_library_v2.py | 604 | # Check if every column is from the same Enum family | COMMENT |
| LOW | tools/check_library_v2.py | 1305 | # Check if base key exists in the meta sheet | COMMENT |
| LOW | tools/check_library_v2.py | 1771 | # Check if the entire column is empty (i.e., all values are NaN or blank) | COMMENT |
| LOW | tools/check_library_v2.py | 1885 | # Check if base column exists | COMMENT |
| LOW | tools/check_library_v2.py | 1982 | # Check if a content sheet is referenced in any 'framework' meta sheet via a specific meta field (e.g., 'scores_definiti | COMMENT |
| LOW | tools/check_library_v2.py | 3151 | # Check if it exists in the ref_ids from reference sheet | COMMENT |
| LOW | tools/check_library_v2.py | 3268 | # Check if it exists in the ref_ids from YAML | COMMENT |
| LOW | tools/check_library_v2.py | 3564 | # Check if sheets mentioned by "scores_definition" exist and don't repeat framework's default | COMMENT |
| LOW | tools/check_library_v2.py | 3765 | # Check if values in "category" and "csf_function" columns are valid | COMMENT |
| LOW | tools/check_library_v2.py | 3790 | # Check if values in "type" column are valid | COMMENT |
| LOW | tools/check_library_v2.py | 3863 | # Check if there are duplicated mappings | COMMENT |
| LOW | tools/check_library_v2.py | 3866 | # Check if values in "relationship" and "rationale" columns are valid | COMMENT |
| LOW | tools/check_library_v2.py | 3900 | # Check if the "score" sheet is actually used in a "framework" sheet | 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 | 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 | 5200 | # Set folder to match the evidence's folder | COMMENT |
| LOW⚡ | backend/core/models.py | 5208 | # Check if this is a new attachment or if it has changed | COMMENT |
| LOW⚡ | backend/core/models.py | 5214 | # Check if attachment changed | COMMENT |
| LOW | backend/core/models.py | 1260 | # Check if score boundaries changed (triggers warning + strategy prompt) | COMMENT |
| LOW | backend/core/models.py | 4129 | # Check if this asset should be skipped due to an ancestor's override | COMMENT |
| LOW | backend/core/models.py | 4193 | # Check if this asset should be skipped due to an ancestor's override | COMMENT |
| LOW | backend/core/models.py | 8247 | # Check if the framework has any threats mappings | COMMENT |
| LOW | backend/core/models.py | 8563 | # Check if assessable requirement assessment with compliant result has no evidence | COMMENT |
| 83 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 |
| HIGH | backend/custom_fields/tests/test_custom_fields.py | 0 | idp_groups is enterprise-only (declared on the ee featureflagsserializer, hence unsupported on ce); the idp-group inheri | STRING |
| HIGH | backend/app_tests/api/test_api_scim.py | 0 | idp_groups is enterprise-only (declared on the ee featureflagsserializer, hence unsupported on ce); the idp-group inheri | STRING |
| HIGH | backend/iam/tests/test_role_assignments.py | 0 | idp_groups is enterprise-only (declared on the ee featureflagsserializer, hence unsupported on ce); the idp-group inheri | STRING |
| HIGH | backend/iam/tests/test_service_accounts.py | 0 | idp_groups is enterprise-only (declared on the ee featureflagsserializer, hence unsupported on ce); the idp-group inheri | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/convert_library_v2.py | 1937 | # Step 1: Load library_meta | COMMENT |
| LOW⚡ | tools/convert_library_v2.py | 1947 | # Step 2: Format publication_date | COMMENT |
| LOW⚡ | tools/convert_library_v2.py | 1957 | # Step 3: Build library with fixed key order | COMMENT |
| LOW | tools/convert_library_v2.py | 2018 | # Step 4: Detect all object blocks | COMMENT |
| LOW | tools/convert_library_v2.py | 2067 | # Step 5: Ordered object insertion (reference_controls before threats) | COMMENT |
| LOW | tools/convert_library_v2.py | 2121 | # Step 6: Validate name lengths | COMMENT |
| LOW | tools/convert_library_v2.py | 2133 | # 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 | 62 | ### Step 0: Get the MCP Server Code | COMMENT |
| LOW | product-docs/integrations/mcp.md | 103 | ### Step 1: Generate a Personal Access Token (PAT) | COMMENT |
| LOW | product-docs/integrations/mcp.md | 116 | ### Step 2: Configure the MCP Server | COMMENT |
| LOW | product-docs/integrations/mcp.md | 351 | #### Step 1: Open the MCP configuration | COMMENT |
| LOW | product-docs/integrations/mcp.md | 360 | #### Step 2: Add the CISO Assistant server | COMMENT |
| LOW | product-docs/integrations/mcp.md | 414 | #### 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 | 6215 | # Step 1: Create Assets (primary and supporting) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6475 | # Step 2: Create Applied Controls | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6538 | # Step 3: Create EBIOS RM Study | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6575 | # Step 4: Create Feared Events | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6658 | # Step 5: Create RoTo Couples (Workshop 2) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6806 | # Step 6: Create Stakeholders (Workshop 3) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7042 | # Step 7: Create Strategic Scenarios and Attack Paths (Workshop 3) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7282 | # Step 8: Create Elementary Actions (Workshop 4) | COMMENT |
| LOW⚡ | backend/chat/views.py | 515 | # Step 2: Knowledge graph + Semantic RAG search | COMMENT |
| LOW | backend/chat/views.py | 173 | # Step 1: Route to tool or workflow | COMMENT |
| LOW | backend/chat/views.py | 534 | # 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 | 327 | # Step 1: Restore database backup | COMMENT |
| LOW⚡ | backend/serdes/views.py | 407 | # 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 | 1937 | # Step 1: Load library_meta | COMMENT |
| LOW⚡ | backend/scripts/convert_library_v2.py | 1947 | # Step 2: Format publication_date | COMMENT |
| 21 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/convert_library_v2.py | 1410 | # 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 | 10688 | """Template definition. Library-backed (urn set) or user-authored (urn null).""" | STRING |
| HIGH | backend/core/helpers.py | 1500 | data.append({"name": "(undefined)", "value": undefined}) | CODE |
| HIGH | backend/core/views.py | 357 | # Separate "--" (null) from other actual values | COMMENT |
| HIGH | backend/core/views.py | 8699 | # csf_functions ships display labels ("Govern", "(undefined)"); | COMMENT |
| HIGH | backend/core/views.py | 6075 | "(undefined)": "#505372", | CODE |
| HIGH | backend/data_wizard/arm_helpers.py | 244 | Empty or invalid values return 0 (undefined). | STRING |
| HIGH | backend/pmbok/views.py | 164 | # Returns: {role: {id, code, name, color} | null, assignment_id: uuid | null}. | COMMENT |
| HIGH | backend/serdes/utils.py | 579 | # Required (non-null) FK targets MUST travel or the import crashes on a | COMMENT |
| HIGH | backend/serdes/tests/test_tprm_export_import.py | 7 | is collected, and the required (non-null) FK closure pulls in referenced | STRING |
| HIGH | backend/library/framework_editor.py | 447 | # library YAML. Key absent (or null) → the payload does not model | COMMENT |
| HIGH | backend/scripts/convert_library_v2.py | 1410 | # Optional: importance: mandatory/recommended/nice_to_have or empty (= undefined) | COMMENT |
| HIGH | cli/ca_mcp/tools/read_tools.py | 1402 | 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 | 1194 | severity: -1 (undefined) | 0 (info) | 1 (low) | 2 (medium) | 3 (high) | 4 (critical) | STRING |
| HIGH⚡ | cli/ca_mcp/tools/ebios_rm_tools.py | 1096 | 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 | 1097 | 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 | 1098 | 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 | 114 | 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 | 1168 | severity: -1 (undefined) | 0 (info) | 1 (low) | 2 (medium) | 3 (high) | 4 (critical) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/convert_library_v2.py | 1937 | # Step 1: Load library_meta | COMMENT |
| LOW⚡ | tools/convert_library_v2.py | 1947 | # Step 2: Format publication_date | COMMENT |
| LOW⚡ | tools/convert_library_v2.py | 1957 | # Step 3: Build library with fixed key order | COMMENT |
| LOW | tools/convert_library_v2.py | 2018 | # Step 4: Detect all object blocks | COMMENT |
| LOW | tools/convert_library_v2.py | 2067 | # Step 5: Ordered object insertion (reference_controls before threats) | COMMENT |
| LOW | tools/convert_library_v2.py | 2121 | # Step 6: Validate name lengths | COMMENT |
| LOW | tools/convert_library_v2.py | 2133 | # 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 | 6215 | # Step 1: Create Assets (primary and supporting) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6475 | # Step 2: Create Applied Controls | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6538 | # Step 3: Create EBIOS RM Study | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6575 | # Step 4: Create Feared Events | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6658 | # Step 5: Create RoTo Couples (Workshop 2) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6806 | # Step 6: Create Stakeholders (Workshop 3) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7042 | # Step 7: Create Strategic Scenarios and Attack Paths (Workshop 3) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7282 | # Step 8: Create Elementary Actions (Workshop 4) | COMMENT |
| LOW⚡ | backend/chat/views.py | 515 | # Step 2: Knowledge graph + Semantic RAG search | COMMENT |
| LOW | backend/chat/views.py | 173 | # Step 1: Route to tool or workflow | COMMENT |
| LOW | backend/chat/views.py | 534 | # 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 | 327 | # Step 1: Restore database backup | COMMENT |
| LOW⚡ | backend/serdes/views.py | 407 | # 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 | 1937 | # Step 1: Load library_meta | COMMENT |
| LOW⚡ | backend/scripts/convert_library_v2.py | 1947 | # Step 2: Format publication_date | COMMENT |
| LOW⚡ | backend/scripts/convert_library_v2.py | 1957 | # Step 3: Build library with fixed key order | COMMENT |
| LOW | backend/scripts/convert_library_v2.py | 2018 | # Step 4: Detect all object blocks | COMMENT |
| LOW | backend/scripts/convert_library_v2.py | 2067 | # Step 5: Ordered object insertion (reference_controls before threats) | COMMENT |
| LOW | backend/scripts/convert_library_v2.py | 2121 | # Step 6: Validate name lengths | COMMENT |
| LOW | backend/scripts/convert_library_v2.py | 2133 | # Step 7: Export to YAML | COMMENT |
| LOW | cli/clica.py | 852 | # Step 1: Backup database | COMMENT |
| LOW | cli/clica.py | 870 | # 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 |
|---|---|---|---|---|
| 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/installation/helm-chart.md | 58 | ## AI assistant (chat / RAG) | COMMENT |
| MEDIUM | …rimental/library-builder/[id=uuid]/preset/+page.svelte | 178 | // One-time massage: ensure every scaffold has step_ref_id pointing at an existing step. | COMMENT |
| MEDIUM | …rimental/library-builder/[id=uuid]/preset/+page.svelte | 270 | // Drop focus if it pointed to a scaffold whose type no longer matches the new model | COMMENT |
| MEDIUM | …rimental/library-builder/[id=uuid]/preset/+page.svelte | 357 | // Clear target_ref on any step that focused on a deleted scaffold | COMMENT |
| MEDIUM | …rimental/library-builder/[id=uuid]/preset/+page.svelte | 439 | // to focus on a scaffold "owned" by another step (e.g. iso27001-full's iso_audit | COMMENT |
| MEDIUM | …rimental/library-builder/[id=uuid]/preset/+page.svelte | 478 | // scaffold.framework holds a *library* URN; look up the Framework whose | COMMENT |
| MEDIUM | …rimental/library-builder/[id=uuid]/preset/+page.svelte | 522 | {#snippet scaffoldFields(scaffold: Scaffold, idx: number)} | CODE |
| MEDIUM | …rimental/library-builder/[id=uuid]/preset/+page.svelte | 523 | {#if scaffold.type === 'compliance_assessment'} | CODE |
| MEDIUM | …rimental/library-builder/[id=uuid]/preset/+page.svelte | 538 | {#if scaffold.framework} | CODE |
| MEDIUM | …rimental/library-builder/[id=uuid]/preset/+page.svelte | 1102 | {#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 | 386 | # Allow raw uuids too — but in editor we only use scaffold refs. | 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 | 515 | # Step 2: Knowledge graph + Semantic RAG search | COMMENT |
| MEDIUM | backend/chat/views.py | 145 | # Try tool calling first, fall back to RAG semantic search | COMMENT |
| MEDIUM | backend/chat/views.py | 558 | # Replace the RAG context entirely — the attach cards ARE the response | COMMENT |
| MEDIUM | backend/library/builder.py | 571 | # Presets scaffold other libraries' objects by URN: carry the source | 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 | README.md | 601 | COMMENT | |
| LOW | README.md | 641 | # but not recommended for production, as it can break the sessions (see | 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 | 41 | # | COMMENT |
| LOW | tools/prepare_framework_v2_config.yaml | 81 | framework_sheet_base_name: "framework" | COMMENT |
| LOW | tools/prepare_framework_v2_config.yaml | 101 | # --- To enable extra locales (localized framework versions), uncomment the block below --- | COMMENT |
| LOW | tools/prepare_framework_v2_config.yaml | 121 | # - ref_id: "grp003" | 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/utils/table.ts | 3421 | 'operational-scenarios': [{ component: SelectObject, props: {} }], | COMMENT |
| LOW | frontend/src/lib/components/SideBar/navData.ts | 1 | export const navData = { | COMMENT |
| LOW | …)/(internal)/workflows/[id=uuid]/WorkflowCanvas.svelte | 301 | registrations = Array.isArray(data) ? data : (data?.results ?? []); | COMMENT |
| LOW | …outes/(app)/(internal)/workflows/[id=uuid]/hook-url.ts | 1 | import { env } from '$env/dynamic/public'; | COMMENT |
| LOW | …ooks/[workflow_id=uuid]/[node_ref]/[secret]/+server.ts | 1 | import { BASE_API_URL } from '$lib/utils/constants'; | 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/models.py | 9181 | # (result set by the result-driven path, or score committed by the | 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 | 681 | has_explicit_thinking = True | COMMENT |
| 7 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 | 518 | Compares two version strings at the specified level of granularity. Parameters: version_a (str): A ver | STRING |
| HIGH | backend/serdes/utils.py | 287 | Perform a topological sort with cycle detection. Args: graph: Dependency graph Returns: L | STRING |
| HIGH | backend/serdes/utils.py | 350 | 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 | 816 | # NOTE: if we want to skip empty values, we could just use the user_group by using annotation | COMMENT |
| MEDIUM | backend/core/views.py | 3719 | # Build comprehensive description from EBIOS RM components | COMMENT |
| MEDIUM | backend/core/views.py | 13888 | # Note: no IAM filtering here — coverage metrics must be comprehensive | COMMENT |
| MEDIUM | backend/core/views.py | 13955 | # 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 | 494 | # or rely on a known cache, but let's do the robust lookup. | COMMENT |
| MEDIUM | backend/iam/models.py | 93 | """helper function outside of class to facilitate serialization | STRING |
| MEDIUM | backend/doc_management/template_import.py | 103 | # 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/check_library_v2.py | 1086 | CODE | |
| LOW | tools/misc/convert_library_v1.py | 446 | CODE | |
| LOW | …/excel/netherlands/tools/cbw_nis2_framework_builder.py | 218 | 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 | 1046 | CODE | |
| LOW | backend/core/helpers.py | 1566 | 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 | backend/automation/workflows/import_export.py | 776 | CODE | |
| LOW | backend/automation/workflows/import_export.py | 826 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 396 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 663 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 751 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 836 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 1044 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 23 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 254 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 407 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 505 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 689 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 911 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 1037 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 1173 | CODE | |
| LOW | cli/ca_mcp/tools/ebios_rm_tools.py | 1643 | CODE | |
| LOW | cli/ca_mcp/tools/ebios_rm_tools.py | 1876 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 92 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 412 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 700 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 889 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 1043 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 1149 | 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 | 16 | "email": "user@example.com", | CODE |
| LOW | backend/integrations/itsm/jira/tests.py | 187 | "email": "user@example.com", | CODE |
| LOW⚡ | backend/app_tests/api/test_api_builtin_immutability.py | 39 | response = authenticated_client.patch(url, {"name": "Acme Corp"}, format="json") | CODE |
| LOW⚡ | backend/app_tests/api/test_api_builtin_immutability.py | 43 | assert entity.name == "Acme Corp" # user-owned builtin, fully editable | 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 | 185 | 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/scripts/convert_library_v2.py | 185 | def set_optional_fields(entry: dict, data: dict, fields: list) -> None: | CODE |
| LOW | cli/ca_mcp/auth.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | cli/ca_mcp/server.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | cli/ca_mcp/__init__.py | 5 | __all__ = ["main", "run_http", "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 | 701 | 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 | 4193 | def process_data( | CODE |