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 summarizes scanner evidence for intuitem/ciso-assistant-community, a Python project with 4,499 GitHub stars. SynthScan examined 1,655,591 lines of code across 3373 source files, recording 7604 pattern matches distributed across 25 syntactic categories. The legacy adjusted pattern signal is 5.9 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 5931 finding(s).
Are imports declared and package/API names verified? 332 finding(s).
Are wrappers, guards, and repeated structures necessary? 6521 finding(s).
Which changes need focused human review? 7604 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 7604 distinct pattern matches across 25 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| 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 | 337 | 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 | 1615 | def _handle_metric_definitions(obj, library, compat_mode, verbose): | CODE |
| LOW | tools/convert_library_v2.py | 1714 | def _handle_requirement_mapping_set(obj, library, wb, sheets, compat_mode, verbose): | CODE |
| LOW | tools/check_library_v2.py | 110 | def get_warning_count_by_sheet(self) -> Dict[str, int]: | CODE |
| LOW | tools/check_library_v2.py | 116 | def get_verbose_count_by_sheet(self) -> Dict[str, int]: | CODE |
| LOW | tools/check_library_v2.py | 858 | def translatable_column_values(self) -> tuple[str, ...]: | CODE |
| LOW | tools/check_library_v2.py | 1229 | def get_meta_sheets_with_type(wb: Workbook, context: str) -> Dict[str, str]: | CODE |
| LOW | tools/check_library_v2.py | 1256 | def get_meta_sheets_names_from_type( | CODE |
| LOW | tools/check_library_v2.py | 1331 | def get_non_empty_column_values( | CODE |
| LOW | tools/check_library_v2.py | 1349 | def parse_multiline_with_custom_separator( | CODE |
| LOW | tools/check_library_v2.py | 1430 | def validate_ref_id_with_spaces( | CODE |
| LOW | tools/check_library_v2.py | 1725 | def validate_optional_values_meta_sheet( | CODE |
| LOW | tools/check_library_v2.py | 1760 | def validate_extra_locales_in_meta( | CODE |
| LOW | tools/check_library_v2.py | 1815 | def validate_related_content_sheet_from_name_key( | CODE |
| LOW | tools/check_library_v2.py | 1838 | def _framework_validate_definition_keys( | CODE |
| LOW | tools/check_library_v2.py | 1867 | def _framework_validate_meta_min_max_score(df: pd.DataFrame, sheet_name: str): | CODE |
| LOW | tools/check_library_v2.py | 2133 | def validate_ttp_catalog_meta( | CODE |
| LOW | tools/check_library_v2.py | 2329 | def validate_reference_controls_meta( | CODE |
| LOW | tools/check_library_v2.py | 2371 | def validate_risk_matrix_meta( | CODE |
| LOW | tools/check_library_v2.py | 2419 | def validate_implementation_groups_meta( | CODE |
| LOW | tools/check_library_v2.py | 2453 | def validate_requirement_mapping_set_meta( | CODE |
| LOW | tools/check_library_v2.py | 2741 | def validate_optional_columns_content_sheet( | CODE |
| LOW | tools/check_library_v2.py | 2779 | def validate_columns_presence_together( | CODE |
| LOW | tools/check_library_v2.py | 2803 | def validate_column_max_length( | CODE |
| LOW | tools/check_library_v2.py | 2840 | def validate_unique_column_values( | CODE |
| LOW | tools/check_library_v2.py | 2891 | def validate_extra_locales_in_content( | CODE |
| LOW | tools/check_library_v2.py | 2985 | def get_content_sheet_base_name(content_sheet_name: str) -> str: | CODE |
| LOW | tools/check_library_v2.py | 3016 | def get_corresponding_type_sheet_names( | CODE |
| LOW | tools/check_library_v2.py | 3043 | def check_content_sheet_usage_in_frameworks( | CODE |
| LOW | tools/check_library_v2.py | 3093 | def check_unused_ids_in_frameworks( | CODE |
| LOW | tools/check_library_v2.py | 3175 | def _implementation_groups_check_unused_default_ids_in_frameworks( | CODE |
| LOW | tools/check_library_v2.py | 3220 | def validate_allowed_column_values( | CODE |
| LOW | tools/check_library_v2.py | 3348 | def validate_cell_line_count_alignment( | CODE |
| LOW | tools/check_library_v2.py | 3821 | def _req_map_set_validate_unique_mappings( | CODE |
| LOW | tools/check_library_v2.py | 3872 | def _req_map_set_validate_mapping_node_ids_against_sheets( | CODE |
| LOW | tools/check_library_v2.py | 4016 | def _framework_validate_minimum_fields_and_ref_id(df: pd.DataFrame, sheet_name: str): | CODE |
| LOW | tools/check_library_v2.py | 4075 | def _framework_validate_column_against_reference_sheet( | CODE |
| LOW | tools/check_library_v2.py | 4180 | def _framework_validate_framework_column_urns( | CODE |
| LOW | tools/check_library_v2.py | 4694 | def _answers_validate_question_choices(df: pd.DataFrame, sheet_name: str): | CODE |
| LOW | tools/check_library_v2.py | 4726 | def _answers_validate_select_implementation_groups( | CODE |
| LOW | tools/check_library_v2.py | 4813 | def get_yaml_section_from_files( | CODE |
| LOW | tools/check_library_v2.py | 4984 | def _framework_validate_depth_consistency(df: pd.DataFrame, sheet_name: str): | CODE |
| LOW | tools/check_library_v2.py | 5032 | def _framework_validate_scores_definition_column( | CODE |
| LOW | tools/check_library_v2.py | 5105 | def validate_framework_content( | CODE |
| LOW | tools/check_library_v2.py | 5332 | def validate_ttp_catalog_content( | CODE |
| LOW | tools/check_library_v2.py | 5356 | def validate_ttp_groups_content( | CODE |
| LOW | tools/check_library_v2.py | 5404 | def validate_techniques_content( | CODE |
| 5079 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 | 45 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 47 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 1151 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 1153 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 1384 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 1386 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 1686 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 1688 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 2672 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 2674 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 3261 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 3263 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 3302 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 3304 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4203 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4205 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4275 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4277 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4292 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4294 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4373 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4375 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4442 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4444 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4535 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 4537 | # ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 6011 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 6013 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 6108 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 6110 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 6234 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_library_v2.py | 6236 | # ───────────────────────────────────────────────────────────── | 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 |
| 570 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | documentation/notification-system.md | 350 | 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 | 146 | except Exception as e: | CODE |
| LOW | tools/convert_library_v2.py | 1389 | except Exception as e: | CODE |
| LOW | tools/convert_library_v2.py | 2259 | except Exception as e: | CODE |
| LOW | tools/convert_library_v2.py | 2285 | except Exception as e: | CODE |
| LOW | tools/convert_library_v2.py | 2330 | 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 | 1651 | except Exception: | CODE |
| LOW | tools/check_library_v2.py | 2721 | except Exception as e: | CODE |
| LOW | tools/check_library_v2.py | 3645 | except Exception as e: | CODE |
| LOW | tools/check_library_v2.py | 3741 | except Exception as e: | CODE |
| LOW | tools/check_library_v2.py | 4054 | except Exception as e: | CODE |
| LOW | tools/check_library_v2.py | 6338 | except Exception as e: | CODE |
| LOW | tools/check_library_v2.py | 6401 | 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 |
| 587 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …(internal)/compliance-assessments/compare/+page.svelte | 194 | colors={data.baseAudit.donut_data.result.values.map( | CODE |
| CRITICAL | …(internal)/compliance-assessments/compare/+page.svelte | 207 | colors={data.baseAudit.donut_data.status.values.map( | CODE |
| CRITICAL | …(internal)/compliance-assessments/compare/+page.svelte | 253 | colors={data.compareAudit.donut_data.result.values.map( | CODE |
| CRITICAL | …(internal)/compliance-assessments/compare/+page.svelte | 266 | 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 | 28 | 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 | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/core/models.py | 27 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/core/models.py | 4183 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/core/models.py | 5155 | all_links = self.__class__.parent_assets.through.objects.values_list( | CODE |
| CRITICAL | backend/core/models.py | 5182 | all_links = self.__class__.parent_assets.through.objects.values_list( | CODE |
| CRITICAL | backend/core/models.py | 8663 | all_links = self.__class__.antecedent_scenarios.through.objects.values_list( | CODE |
| CRITICAL | backend/core/validators.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/core/serializers.py | 36 | 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/answer_attachments.py | 10 | from django.core.exceptions import ValidationError | 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_attachment_filenames.py | 6 | 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 | 22 | 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/serdes/tests/test_score_scale_export_import.py | 192 | from django.core.exceptions import ValidationError | STRING |
| 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 | 7 | 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 | 12 | 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 | 19 | 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/build_owasp_samm.py | 193 | CODE | |
| LOW | tools/convert_v1_to_v2.py | 62 | CODE | |
| LOW | tools/check_library_v2.py | 1462 | CODE | |
| LOW | tools/check_library_v2.py | 1530 | CODE | |
| LOW | tools/check_library_v2.py | 1725 | CODE | |
| LOW | tools/check_library_v2.py | 2678 | CODE | |
| LOW | tools/check_library_v2.py | 2741 | CODE | |
| LOW | tools/check_library_v2.py | 2840 | CODE | |
| LOW | tools/check_library_v2.py | 2891 | CODE | |
| LOW | tools/check_library_v2.py | 3093 | CODE | |
| LOW | tools/check_library_v2.py | 3220 | CODE | |
| LOW | tools/check_library_v2.py | 3459 | CODE | |
| LOW | tools/check_library_v2.py | 3568 | CODE | |
| LOW | tools/check_library_v2.py | 3779 | CODE | |
| LOW | tools/check_library_v2.py | 3872 | CODE | |
| LOW | tools/check_library_v2.py | 4180 | CODE | |
| LOW | tools/check_library_v2.py | 4813 | CODE | |
| LOW | tools/check_library_v2.py | 6016 | CODE | |
| LOW | tools/check_library_v2.py | 6064 | 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 | |
| 203 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/check_library_v2.py | 293 | # Define the required, optional, and translatable keys of a meta sheet | COMMENT |
| MEDIUM | tools/check_library_v2.py | 581 | # Define the validation constraints that can be applied to a content column | COMMENT |
| MEDIUM | tools/check_library_v2.py | 815 | # 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/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 | 2815 | # Create a subquery to get the highest version in StoredLibrary for the same urn. | COMMENT |
| MEDIUM | backend/core/models.py | 8135 | # Create a mapping of scenario ID to scenario object with prefetched controls | COMMENT |
| MEDIUM | backend/core/serializers.py | 6985 | # Create the validation flow | COMMENT |
| MEDIUM | backend/core/generators.py | 227 | # Create the plot | COMMENT |
| MEDIUM | backend/core/generators.py | 295 | # Create the plot | COMMENT |
| MEDIUM | backend/core/helpers.py | 2315 | # Create the new object | COMMENT |
| MEDIUM | backend/core/views.py | 5240 | # Create the quantitative risk study with [QUANT] prefix | COMMENT |
| MEDIUM | backend/core/views.py | 6196 | # Create the local object first | COMMENT |
| MEDIUM | backend/core/views.py | 8606 | # 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 | …core/management/commands/benchmark_n_plus_1_queries.py | 551 | # This function isn't used by the script. | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 5997 | # Create the entity first, then handle parent relationship | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6123 | # Create the solution | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6465 | # Create the contract | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 6842 | # Create the primary asset | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 7143 | # Create a new terminology entry for this risk origin | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 7203 | # Create the RoTo couple | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 7286 | # Create a new terminology entry | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 7414 | # Create the stakeholder | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 7675 | # Create the strategic scenario | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 7687 | # Create the attack path if provided | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 7780 | # Create the elementary action | COMMENT |
| MEDIUM | backend/data_wizard/views.py | 7904 | # 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 |
| 13 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/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 | 57 | 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 | 9 | CODE | |
| LOW | enterprise/backend/enterprise_core/serializers.py | 10 | 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 | |
| 165 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/convert_library_v2.py | 1457 | # 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/ebios_rm/rating_kit.py | 176 | """Stored pertinence: 0 when undefined, else 1-based level from the grid.""" | STRING |
| HIGH | backend/core/models.py | 13341 | """Template definition. Library-backed (urn set) or user-authored (urn null).""" | STRING |
| HIGH | backend/core/helpers.py | 1499 | data.append({"name": "(undefined)", "value": undefined}) | CODE |
| HIGH | backend/core/views.py | 403 | # Separate "--" (null) from other actual values | COMMENT |
| HIGH | backend/core/views.py | 10226 | # csf_functions ships display labels ("Govern", "(undefined)"); | COMMENT |
| HIGH | backend/core/views.py | 6946 | "(undefined)": "#505372", | CODE |
| HIGH | backend/core/tests/test_framework_outcomes.py | 562 | "expression": 'values.avg >= assessment.target_score && sections["one"].depth == 1', | STRING |
| HIGH | backend/core/tests/test_quick_form_scoring.py | 138 | "expression": f"!({KNOCKOUT}) && response.score > 2.5 && response.score <= 3.5", | CODE |
| HIGH | backend/core/tests/test_quick_form_scoring.py | 142 | "expression": f"!({KNOCKOUT}) && response.score > 1.5 && response.score <= 2.5", | CODE |
| HIGH | backend/core/tests/test_quick_form_scoring.py | 343 | expression: 'response.score > 2 && pages["cat_a"].score == 3.0' | CODE |
| HIGH⚡ | backend/core/tests/test_quick_form_values.py | 141 | "expression": f"!({KNOCKOUT}) && values.avg > 2.5 && values.avg <= 3.5", | CODE |
| HIGH⚡ | backend/core/tests/test_quick_form_values.py | 145 | "expression": f"!({KNOCKOUT}) && values.avg > 1.5 && values.avg <= 2.5", | CODE |
| HIGH | backend/data_wizard/arm_helpers.py | 316 | Empty or invalid values return 0 (undefined). | STRING |
| HIGH | backend/pmbok/views.py | 165 | # Returns: {role: {id, code, name, color} | null, assignment_id: uuid | null}. | COMMENT |
| HIGH | backend/serdes/utils.py | 626 | # Required (non-null) FK targets MUST travel or the import crashes on a | COMMENT |
| HIGH | …end/serdes/tests/test_ebios_technique_export_import.py | 206 | # A null catalog/parent in the dump must stay null, not bind to | 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 | 536 | # library YAML. Key absent (or null) → the payload does not model | COMMENT |
| HIGH | backend/library/tests/test_library_builder.py | 3234 | ("assessment.score_sum > 0 && size(hidden_requirements) == 0", None), | CODE |
| HIGH | backend/scripts/convert_library_v2.py | 1457 | # Optional: importance: mandatory/recommended/nice_to_have or empty (= undefined) | COMMENT |
| HIGH⚡ | …kend/automation/workflows/tests/test_compute_action.py | 106 | assert evaluate("count < weight || count == 3.0", context) is True | CODE |
| HIGH⚡ | …kend/automation/workflows/tests/test_compute_action.py | 156 | assert evaluate("n > 2 && severity != 'low'", context) is True | CODE |
| HIGH | cli/ca_mcp/tools/read_tools.py | 1547 | 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 | 127 | sec_confidentiality: Confidentiality objective 0-4 (0=undefined,1=low,2=med,3=high,4=critical) | STRING |
| HIGH | cli/ca_mcp/tools/update_tools.py | 1426 | severity: -1 (undefined) | 0 (info) | 1 (low) | 2 (medium) | 3 (high) | 4 (critical) | STRING |
| HIGH⚡ | cli/ca_mcp/tools/ebios_rm_tools.py | 1148 | 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 | 1149 | 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 | 1150 | 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 | 395 | sec_confidentiality: Confidentiality objective 0-4 (0=undefined,1=low,2=med,3=high,4=critical) | STRING |
| HIGH | cli/ca_mcp/tools/write_tools.py | 1539 | severity: -1 (undefined) | 0 (info) | 1 (low) | 2 (medium) | 3 (high) | 4 (critical) | STRING |
| 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 | 5269 | # Check if values in "scores_definition" columns are valid | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 5273 | # Check if "condition" exists when "depends_on" is defined | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 5276 | # Check if values in "weight" columns are valid | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 5876 | # Check if values in "select_implementation_groups" exist in an implementation groups sheet | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 5884 | # Check if the "answers" sheet is actually used in a "framework" sheet | COMMENT |
| LOW⚡ | tools/check_library_v2.py | 5892 | # Check if every answers are actually used in "framework" sheets | COMMENT |
| LOW | tools/check_library_v2.py | 301 | # Check if every keys are from the same Enum family | COMMENT |
| LOW | tools/check_library_v2.py | 824 | # Check if every column is from the same Enum family | COMMENT |
| LOW | tools/check_library_v2.py | 1788 | # Check if base key exists in the meta sheet | COMMENT |
| LOW | tools/check_library_v2.py | 2764 | # Check if the entire column is empty (i.e., all values are NaN or blank) | COMMENT |
| LOW | tools/check_library_v2.py | 2914 | # Check if base column exists | COMMENT |
| LOW | tools/check_library_v2.py | 3042 | # 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 | 4515 | # Check if it exists in the ref_ids from reference sheet | COMMENT |
| LOW | tools/check_library_v2.py | 4652 | # Check if it exists in the ref_ids from YAML | COMMENT |
| LOW | tools/check_library_v2.py | 5031 | # Check if sheets mentioned by "scores_definition" exist and don't repeat framework's default | COMMENT |
| LOW | tools/check_library_v2.py | 5215 | # Check if values in "importance" columns are valid | COMMENT |
| LOW | tools/check_library_v2.py | 5225 | # 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 | 5236 | # 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 | 5247 | # Check if values in "depends_on" columns are valid | COMMENT |
| LOW | tools/check_library_v2.py | 5258 | # Check if values in "condition" columns are valid | COMMENT |
| LOW | tools/check_library_v2.py | 5543 | # Check if values in "category" and "csf_function" columns are valid | COMMENT |
| LOW | tools/check_library_v2.py | 5586 | # Check if values in "type" column are valid | COMMENT |
| LOW | tools/check_library_v2.py | 5653 | # Check if the "implementation_groups" sheet is actually used in a "framework" sheet | COMMENT |
| LOW | tools/check_library_v2.py | 5665 | # Check if every implementation groups are actually used in "framework" sheets | COMMENT |
| LOW | tools/check_library_v2.py | 5716 | # Check if there are duplicated mappings | COMMENT |
| LOW | tools/check_library_v2.py | 5719 | # Check if values in "relationship" and "rationale" columns are valid | COMMENT |
| LOW | tools/check_library_v2.py | 5787 | # Check if the "score" sheet is actually used in a "framework" sheet | COMMENT |
| LOW | tools/check_library_v2.py | 5833 | # Check if values in "question_type" column are valid | COMMENT |
| LOW | tools/check_library_v2.py | 5843 | # Check if values in "compute_result" column are valid | COMMENT |
| LOW | tools/check_library_v2.py | 5854 | # Check if values in "color" column are valid | COMMENT |
| LOW | tools/check_library_v2.py | 5865 | # Check if values in "add_score" columns are valid | COMMENT |
| LOW | tools/check_library_v2.py | 5906 | # 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 | 5918 | # 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 | 5929 | # 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 | 5940 | # 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 | 5951 | # 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 | 5997 | # Check if URN Prefix IDs are used in "framework" sheets | COMMENT |
| LOW | tools/check_library_v2.py | 6000 | # Check if "prefix_value" come from internal sheets or external framework | 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 | 106 | # Check if any result is missing an id field | COMMENT |
| LOW | backend/ebios_rm/views.py | 942 | # Check if feared event already exists in the study | COMMENT |
| LOW | backend/metrology/serializers.py | 113 | # 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 | 1901 | # Check if score boundaries changed (triggers warning + strategy prompt) | COMMENT |
| LOW | backend/core/models.py | 5397 | # Check if this asset should be skipped due to an ancestor's override | COMMENT |
| LOW | backend/core/models.py | 5461 | # Check if this asset should be skipped due to an ancestor's override | COMMENT |
| LOW | backend/core/models.py | 6467 | # Set folder to match the evidence's folder | COMMENT |
| LOW | backend/core/models.py | 6480 | # Check if this is a new attachment or if it has changed | COMMENT |
| LOW | backend/core/models.py | 6489 | # Check if attachment changed | COMMENT |
| LOW | backend/core/models.py | 10001 | # Check if the framework has any threats mappings | COMMENT |
| LOW | backend/core/models.py | 5983 | if parent_dict: # Check if parent exists | CODE |
| 82 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 | 1984 | # Step 1: Load library_meta | COMMENT |
| LOW⚡ | tools/convert_library_v2.py | 1994 | # Step 2: Format publication_date | COMMENT |
| LOW⚡ | tools/convert_library_v2.py | 2004 | # Step 3: Build library with fixed key order | COMMENT |
| LOW | tools/convert_library_v2.py | 2065 | # Step 4: Detect all object blocks | COMMENT |
| LOW | tools/convert_library_v2.py | 2114 | # Step 5: Ordered object insertion (reference_controls before threats) | COMMENT |
| LOW | tools/convert_library_v2.py | 2168 | # Step 6: Validate name lengths | COMMENT |
| LOW | tools/convert_library_v2.py | 2180 | # 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 | 76 | ### Step 0: Get the MCP Server Code | COMMENT |
| LOW | product-docs/integrations/mcp.md | 117 | ### Step 1: Generate a Personal Access Token (PAT) | COMMENT |
| LOW | product-docs/integrations/mcp.md | 130 | ### Step 2: Configure the MCP Server | COMMENT |
| LOW | product-docs/integrations/mcp.md | 365 | #### Step 1: Open the MCP configuration | COMMENT |
| LOW | product-docs/integrations/mcp.md | 374 | #### Step 2: Add the CISO Assistant server | COMMENT |
| LOW | product-docs/integrations/mcp.md | 428 | #### 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 | 6667 | # Step 1: Create Assets (primary and supporting) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6927 | # Step 2: Create Applied Controls | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6990 | # Step 3: Create EBIOS RM Study | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7027 | # Step 4: Create Feared Events | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7110 | # Step 5: Create RoTo Couples (Workshop 2) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7258 | # Step 6: Create Stakeholders (Workshop 3) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7494 | # Step 7: Create Strategic Scenarios and Attack Paths (Workshop 3) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7734 | # 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 | 1984 | # Step 1: Load library_meta | COMMENT |
| LOW⚡ | backend/scripts/convert_library_v2.py | 1994 | # Step 2: Format publication_date | COMMENT |
| 21 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/mapping_builder/semantic_mapper.py | 484 | except json.JSONDecodeError: | CODE |
| HIGH | tools/mapping_builder/semantic_mapper.py | 521 | except json.JSONDecodeError: | CODE |
| HIGH | tools/mapping_builder/semantic_mapper.py | 494 | except json.JSONDecodeError: | CODE |
| HIGH | …eference-controls-enricher/scripts/apply_enrichment.py | 155 | except (TypeError, ValueError): | CODE |
| HIGH | …e/skills/mapping-builder/scripts/write_mapping_yaml.py | 133 | except (TypeError, ValueError): | CODE |
| HIGH | …laude/skills/mapping-builder/scripts/audit_verdicts.py | 83 | except (TypeError, ValueError): | CODE |
| HIGH | …trology/management/commands/cleanup_builtin_metrics.py | 155 | except ContentType.DoesNotExist: | CODE |
| HIGH | backend/core/tests/sandbox/test_sandbox_isolation.py | 27 | except SandboxViolationError: | CODE |
| HIGH | backend/core/tests/sandbox/test_sandbox_isolation.py | 58 | except SandboxViolationError: | CODE |
| HIGH | …core/management/commands/benchmark_n_plus_1_queries.py | 60 | except ModuleNotFoundError: | CODE |
| HIGH | backend/core/management/commands/metrics_server.py | 215 | except KeyboardInterrupt: | CODE |
| HIGH | backend/crq/models.py | 410 | except QuantitativeRiskStudy.DoesNotExist: | CODE |
| HIGH | backend/crq/models.py | 1019 | except QuantitativeRiskHypothesis.DoesNotExist: | CODE |
| HIGH | backend/global_settings/models.py | 17 | except ValueError: | CODE |
| HIGH | backend/iam/tests/test_role_assignments.py | 241 | except Folder.IAMNotImplementedError: | CODE |
| HIGH | backend/iam/tests/test_folders.py | 105 | except Folder.InconsistencyError: | CODE |
| HIGH | backend/iam/tests/test_folders.py | 161 | except Exception: | CODE |
| HIGH | cli/ca_mcp/resolvers.py | 1164 | except ValueError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …on/architecture/iam-refactor/review-iam-and-scoping.md | 294 | ## 9. RAG / chat retrieval scope | COMMENT |
| 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/README.md | 63 | ### Qdrant (AI assistant / RAG) | COMMENT |
| MEDIUM | charts/ciso-assistant-next/values.yaml | 510 | ## 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 | 613 | # Presets scaffold other libraries' objects by URN: carry the source | COMMENT |
| MEDIUM | backend/library/libraries/owasp-asi-top-10-2026.yaml | 8 | agentic application. https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/ | CODE |
| MEDIUM | backend/library/libraries/owasp-asi-top-10-2026.yaml | 224 | one agentic application. https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/ | CODE |
| MEDIUM | backend/library/libraries/mas-threats.yaml | 9 | additional complexity and new attack surfaces.\nhttps://genai.owasp.org/resource/multi-agentic-system-threat-modeling- | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/convert_library_v2.py | 1984 | # Step 1: Load library_meta | COMMENT |
| LOW⚡ | tools/convert_library_v2.py | 1994 | # Step 2: Format publication_date | COMMENT |
| LOW⚡ | tools/convert_library_v2.py | 2004 | # Step 3: Build library with fixed key order | COMMENT |
| LOW | tools/convert_library_v2.py | 2065 | # Step 4: Detect all object blocks | COMMENT |
| LOW | tools/convert_library_v2.py | 2114 | # Step 5: Ordered object insertion (reference_controls before threats) | COMMENT |
| LOW | tools/convert_library_v2.py | 2168 | # Step 6: Validate name lengths | COMMENT |
| LOW | tools/convert_library_v2.py | 2180 | # 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 | 6667 | # Step 1: Create Assets (primary and supporting) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6927 | # Step 2: Create Applied Controls | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 6990 | # Step 3: Create EBIOS RM Study | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7027 | # Step 4: Create Feared Events | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7110 | # Step 5: Create RoTo Couples (Workshop 2) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7258 | # Step 6: Create Stakeholders (Workshop 3) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7494 | # Step 7: Create Strategic Scenarios and Attack Paths (Workshop 3) | COMMENT |
| LOW⚡ | backend/data_wizard/views.py | 7734 | # 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 | 1984 | # Step 1: Load library_meta | COMMENT |
| LOW⚡ | backend/scripts/convert_library_v2.py | 1994 | # Step 2: Format publication_date | COMMENT |
| LOW⚡ | backend/scripts/convert_library_v2.py | 2004 | # Step 3: Build library with fixed key order | COMMENT |
| LOW | backend/scripts/convert_library_v2.py | 2065 | # Step 4: Detect all object blocks | COMMENT |
| LOW | backend/scripts/convert_library_v2.py | 2114 | # Step 5: Ordered object insertion (reference_controls before threats) | COMMENT |
| LOW | backend/scripts/convert_library_v2.py | 2168 | # Step 6: Validate name lengths | COMMENT |
| LOW | backend/scripts/convert_library_v2.py | 2180 | # Step 7: Export to YAML | COMMENT |
| LOW | cli/clica.py | 904 | # Step 1: Backup database | COMMENT |
| LOW | cli/clica.py | 922 | # Step 2: Backup attachments using streaming approach | COMMENT |
| LOW | …ion/n8n/n8n-nodes-ca/nodes/handlers/EvidenceHandler.ts | 135 | // Step 1: Create a new evidence revision | COMMENT |
| LOW | …ion/n8n/n8n-nodes-ca/nodes/handlers/EvidenceHandler.ts | 150 | // Step 2: Upload the file to the new revision | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | README.md | 621 | # these environment variables are automatically injected by the pod's service account. | 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 | 3901 | COMMENT | |
| LOW | frontend/src/lib/components/SideBar/navData.ts | 1 | export const navData = { | COMMENT |
| LOW | …)/(internal)/workflows/[id=uuid]/WorkflowCanvas.svelte | 321 | // branch finishes by simply having nothing wired after its last step, | 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 | ## dangling on the image entrypoint | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 201 | extraVolumeMounts: [] | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 221 | localStorage: | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 241 | # -- Repository to use for the backend | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 281 | env: [] | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 321 | podAnnotations: {} # @schema additionalProperties: true | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 341 | ## Frontend image | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 361 | # requests: | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 381 | # -- Override the frontend container arguments | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 421 | # -- Additional ingress annotations | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 441 | # ... | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 461 | ## matchLabels: | COMMENT |
| LOW | charts/ciso-assistant-next/values.yaml | 501 | password: "" | COMMENT |
| LOW | .claude/skills/ciso-assistant-bootstrap/SKILL.md | 181 | -H "Authorization: Token <TOKEN>" \ | COMMENT |
| LOW | backend/core/models.py | 10981 | COMMENT | |
| LOW | backend/core/models.py | 11001 | # complete-questionnaire discipline in recompute_assessment — both | COMMENT |
| LOW | backend/core/utils.py | 1821 | # respondent_alignment is only ever populated by the respondent answering | 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 |
| 13 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 | 14 | 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 | 576 | Compares two version strings at the specified level of granularity. Parameters: version_a (str): A ver | STRING |
| HIGH | backend/serdes/utils.py | 298 | Perform a topological sort with cycle detection. Args: graph: Dependency graph Returns: L | STRING |
| HIGH | backend/serdes/utils.py | 361 | 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 | 242 | # NOTE: For now, just set it as done. Will allow undoing this later. | COMMENT |
| MEDIUM | backend/ebios_rm/views.py | 471 | # Build comprehensive report data | COMMENT |
| LOW | backend/core/helpers.py | 815 | # NOTE: if we want to skip empty values, we could just use the user_group by using annotation | COMMENT |
| MEDIUM | backend/core/views.py | 4372 | # Build comprehensive description from EBIOS RM components | COMMENT |
| MEDIUM | backend/core/views.py | 15754 | # Note: no IAM filtering here — coverage metrics must be comprehensive | COMMENT |
| MEDIUM | backend/core/views.py | 15821 | # 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 | 534 | # or rely on a known cache, but let's do the robust lookup. | COMMENT |
| MEDIUM | backend/iam/models.py | 91 | """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 | 1530 | 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 | 1045 | CODE | |
| LOW | backend/core/helpers.py | 1565 | 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 | 602 | CODE | |
| LOW | backend/app_tests/api/test_utils.py | 747 | CODE | |
| LOW | backend/resilience/models.py | 207 | CODE | |
| LOW | backend/automation/workflows/import_export.py | 893 | CODE | |
| LOW | backend/automation/workflows/import_export.py | 943 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 397 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 679 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 767 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 862 | CODE | |
| LOW | cli/ca_mcp/tools/tprm_tools.py | 1070 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 37 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 317 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 483 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 594 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 737 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 921 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 1143 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 1269 | CODE | |
| LOW | cli/ca_mcp/tools/update_tools.py | 1405 | CODE | |
| LOW | cli/ca_mcp/tools/ebios_rm_tools.py | 958 | CODE | |
| LOW | cli/ca_mcp/tools/ebios_rm_tools.py | 1740 | CODE | |
| LOW | cli/ca_mcp/tools/ebios_rm_tools.py | 1935 | CODE | |
| LOW | cli/ca_mcp/tools/ebios_rm_tools.py | 2012 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 338 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 543 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 625 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 747 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 1072 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 1261 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 1415 | CODE | |
| LOW | cli/ca_mcp/tools/write_tools.py | 1520 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | product-docs/installation/updating.md | 57 | python manage.py consolidate_entity_workspaces --entity "Acme Corp" # print the plan | CODE |
| LOW | product-docs/installation/updating.md | 58 | python manage.py consolidate_entity_workspaces --entity "Acme Corp" --apply # write it | CODE |
| LOW | frontend/src/lib/utils/i18n.test.ts | 54 | expect(translateChoiceLabel('Acme Corp', 'b3f1c0de-0000-4000-8000-000000000000')).toBe( | CODE |
| LOW | frontend/src/lib/utils/i18n.test.ts | 55 | 'Acme Corp' | CODE |
| 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 | …end/core/typst/packages/preview/merman/0.3.0/README.md | 159 | Raw-block show rules default to `error-mode: "placeholder"`, so one invalid fence stays visible as a marked block instea | CODE |
| LOW | …end/core/typst/packages/preview/merman/0.3.0/README.md | 226 | - `error-mode`: `"panic"` by default. Use `"placeholder"` or `"text"` to show diagram errors in the document instead of | 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 | backend/iam/tests/test_sso_slo_urls.py | 41 | "name_id": "user@example.com", | CODE |
| LOW | backend/iam/tests/test_sso_slo_urls.py | 290 | get_nameid=lambda: "user@example.com", | CODE |
| LOW | …mation/workflows/tests/test_evidence_collection_e2e.py | 396 | entry, domain, user=publisher_user(), secrets={"tool_token": "placeholder"} | CODE |
| LOW | …d/automation/workflows/tests/test_shipped_libraries.py | 64 | name: "placeholder" | CODE |
| LOW | …on/n8n/n8n-nodes-ca/nodes/CisoAssistantService.node.ts | 1064 | 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 | backend/core/xlsx_template.py | 71 | def _set_value(cell, value) -> 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 | 16 | 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 | backend/notifications/channels.py | 85 | def set_channel(notification_type: str, channel: str, enabled: bool) -> None: | CODE |
| LOW | cli/ca_mcp/auth.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | cli/ca_mcp/server.py | 15 | 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 | 902 | 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 | 4631 | def process_data( | CODE |