troubadix 25.12.2__tar.gz → 25.12.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {troubadix-25.12.2 → troubadix-25.12.3}/PKG-INFO +1 -1
- {troubadix-25.12.2 → troubadix-25.12.3}/pyproject.toml +1 -1
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_grammar.py +70 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/__version__.py +1 -1
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/grammar.py +13 -2
- {troubadix-25.12.2 → troubadix-25.12.3}/LICENSE +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/README.md +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/__init__.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/helper/__init__.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/helper/test_date_format.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/helper/test_if_block_parser.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/helper/test_linguistic_exception_handler.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/helper/test_patterns.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/helper/test_remove_comments.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/helper/test_text_utils.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/manual_tests/comment_removal_diff.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/__init__.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/fail.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/fail2.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_badwords.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_copyright_text.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_copyright_year.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_creation_date.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_cve_format.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_cvss_format.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_dependencies.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_dependency_category_order.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_deprecated_dependency.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_deprecated_functions.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_double_end_points.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_duplicate_oid.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_duplicated_script_tags.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_encoding.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/fail_bad_new_line.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/fail_badwords.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/fail_name_newline.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/fail_permissions.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/fail_spelling.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail_solution_template.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/fail.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/test.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/test_valid_oid.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/test.inc +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/test.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/warning.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/ok_permissions.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/test_oid.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_forking_nasl_functions.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_get_kb_on_services.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_http_links_in_tags.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_if_statement_syntax.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_illegal_characters.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_log_messages.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_malformed_dependencies.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_misplaced_compare_in_if.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_missing_desc_exit.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_missing_tag_solution.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_multiple_re_parameters.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_newlines.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_overlong_description_lines.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_overlong_script_tags.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_qod.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_reporting_consistency.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_add_preference_id.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_add_preference_type.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_calls_empty_values.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_calls_recommended.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_category.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_copyright.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_family.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_tag_form.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_tag_whitespaces.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_tags_mandatory.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_version_and_last_modification_tags.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_xref_form.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_script_xref_url.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_security_messages.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_set_get_kb_calls.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_severity_date.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_severity_format.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_severity_origin.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_solution_text.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_solution_type.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_spaces_before_dots.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_spaces_in_filename.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_spelling.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_tabs.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_todo_tbd.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_trailing_spaces_tabs.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_using_display.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_valid_oid.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_valid_script_tag_names.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_variable_redefinition_in_foreach.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_vt_file_permissions.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_vt_placement.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/__init__.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/__init__.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/markers/__init__.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/markers/test_added_epoch.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/markers/test_added_release.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/markers/test_added_udeb.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/markers/test_changed_update.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/markers/test_dropped_architecture.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/test_changed_packages.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/test_package.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/nasl/21.04/21_script.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/nasl/22.04/22_script.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/nasl/common/bar.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/nasl/common/foo.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/nasl/common/foobar.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/nasl/common/gsf/enterprise_script.nasl +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/test_changed_creation_date.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/test_changed_cves.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/test_changed_oid.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/test_dependency_graph.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/test_deprecate_vts.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/test_file_extensions.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/test_last_modification.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/test_no_solution.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/test_version_updated.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/test_argparser.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/test_helper.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/test_naslinter.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/test_reporter.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/test_results.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/tests/test_runner.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/__init__.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/argparser.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/codespell/codespell.additions +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/codespell/codespell.exclude +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/codespell/codespell.ignore +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/helper/__init__.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/helper/date_format.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/helper/helper.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/helper/if_block_parser.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/helper/linguistic_exception_handler.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/helper/patterns.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/helper/remove_comments.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/helper/text_utils.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugin.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/__init__.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/badwords.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/copyright_text.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/copyright_year.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/creation_date.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/cve_format.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/cvss_format.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/dependencies.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/dependency_category_order.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/deprecated_dependency.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/deprecated_functions.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/double_end_points.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/duplicate_oid.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/duplicated_script_tags.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/encoding.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/forking_nasl_functions.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/get_kb_on_services.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/http_links_in_tags.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/if_statement_syntax.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/illegal_characters.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/log_messages.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/malformed_dependencies.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/misplaced_compare_in_if.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/missing_desc_exit.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/missing_tag_solution.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/multiple_re_parameters.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/newlines.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/overlong_description_lines.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/overlong_script_tags.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/qod.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/reporting_consistency.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_add_preference_id.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_add_preference_type.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_calls_empty_values.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_calls_recommended.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_category.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_copyright.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_family.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_tag_form.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_tag_whitespaces.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_tags_mandatory.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_version_and_last_modification_tags.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_xref_form.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/script_xref_url.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/security_messages.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/set_get_kb_calls.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/severity_date.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/severity_format.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/severity_origin.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/solution_text.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/solution_type.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/spaces_before_dots.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/spaces_in_filename.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/spelling.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/tabs.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/todo_tbd.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/trailing_spaces_tabs.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/using_display.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/valid_oid.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/valid_script_tag_names.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/variable_assigned_in_if.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/variable_redefinition_in_foreach.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/vt_file_permissions.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/vt_placement.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/reporter.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/results.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/runner.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/__init__.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/allowed_rev_diff.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_creation_date.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_cves.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_oid.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/changed_packages.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/__init__.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/added_epoch.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/added_release.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/added_udeb.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/changed_update.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/marker.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/package.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/common.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/__init__.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/checks.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/cli.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/dependency_graph.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/models.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/deprecate_vts.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/file_extensions.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/last_modification.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/no_solution.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/util.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/version_updated.py +0 -0
- {troubadix-25.12.2 → troubadix-25.12.3}/troubadix/troubadix.py +0 -0
|
@@ -328,6 +328,58 @@ class CheckNewlinesTestCase(PluginTestCase):
|
|
|
328
328
|
results[0].message,
|
|
329
329
|
)
|
|
330
330
|
|
|
331
|
+
def test_grammar11(self):
|
|
332
|
+
nasl_file = Path(__file__).parent / "test.nasl"
|
|
333
|
+
content = (
|
|
334
|
+
' script_tag(name:"cvss_base", value:"4.0");\n'
|
|
335
|
+
' script_tag(name:"impact", value:"Inadequate checks in '
|
|
336
|
+
"com_contact could allowed mail submission\n"
|
|
337
|
+
' script_tag(name:"solution_type", value:"VendorFix");\n'
|
|
338
|
+
)
|
|
339
|
+
|
|
340
|
+
fake_context = self.create_file_plugin_context(
|
|
341
|
+
nasl_file=nasl_file, file_content=content
|
|
342
|
+
)
|
|
343
|
+
plugin = CheckGrammar(fake_context)
|
|
344
|
+
|
|
345
|
+
results = list(plugin.run())
|
|
346
|
+
|
|
347
|
+
self.assertEqual(len(results), 1)
|
|
348
|
+
self.assertIsInstance(results[0], LinterError)
|
|
349
|
+
self.assertEqual(
|
|
350
|
+
"VT/Include has the following grammar problem:\n"
|
|
351
|
+
"- Hit: could allowed\n"
|
|
352
|
+
'- Full line: script_tag(name:"impact", value:"Inadequate checks '
|
|
353
|
+
"in com_contact could allowed mail submission",
|
|
354
|
+
results[0].message,
|
|
355
|
+
)
|
|
356
|
+
|
|
357
|
+
def test_grammar12(self):
|
|
358
|
+
nasl_file = Path(__file__).parent / "test.nasl"
|
|
359
|
+
content = (
|
|
360
|
+
' script_tag(name:"cvss_base", value:"4.0");\n'
|
|
361
|
+
' script_tag(name:"impact", value:"This allow an attacker to gain '
|
|
362
|
+
"administrative access to the\n"
|
|
363
|
+
' script_tag(name:"solution_type", value:"VendorFix");\n'
|
|
364
|
+
)
|
|
365
|
+
|
|
366
|
+
fake_context = self.create_file_plugin_context(
|
|
367
|
+
nasl_file=nasl_file, file_content=content
|
|
368
|
+
)
|
|
369
|
+
plugin = CheckGrammar(fake_context)
|
|
370
|
+
|
|
371
|
+
results = list(plugin.run())
|
|
372
|
+
|
|
373
|
+
self.assertEqual(len(results), 1)
|
|
374
|
+
self.assertIsInstance(results[0], LinterError)
|
|
375
|
+
self.assertEqual(
|
|
376
|
+
"VT/Include has the following grammar problem:\n"
|
|
377
|
+
"- Hit: This allow\n"
|
|
378
|
+
'- Full line: script_tag(name:"impact", value:"This allow an '
|
|
379
|
+
"attacker to gain administrative access to the",
|
|
380
|
+
results[0].message,
|
|
381
|
+
)
|
|
382
|
+
|
|
331
383
|
def test_grammar_fp(self):
|
|
332
384
|
nasl_file = Path(__file__).parent / "test.nasl"
|
|
333
385
|
content = (
|
|
@@ -383,3 +435,21 @@ class CheckNewlinesTestCase(PluginTestCase):
|
|
|
383
435
|
results = list(plugin.run())
|
|
384
436
|
|
|
385
437
|
self.assertEqual(len(results), 0)
|
|
438
|
+
|
|
439
|
+
def test_grammar_fp3(self):
|
|
440
|
+
nasl_file = Path(__file__).parent / "test.nasl"
|
|
441
|
+
content = (
|
|
442
|
+
' script_tag(name:"cvss_base", value:"4.0");\n'
|
|
443
|
+
' script_tag(name:"insight", value:"*snip* connection string to '
|
|
444
|
+
'provide\nproperties that are not on this allow list.");\n'
|
|
445
|
+
' script_tag(name:"solution_type", value:"VendorFix");\n'
|
|
446
|
+
' script_tag(name:"solution", value:"meh");\n'
|
|
447
|
+
)
|
|
448
|
+
fake_context = self.create_file_plugin_context(
|
|
449
|
+
nasl_file=nasl_file, file_content=content
|
|
450
|
+
)
|
|
451
|
+
plugin = CheckGrammar(fake_context)
|
|
452
|
+
|
|
453
|
+
results = list(plugin.run())
|
|
454
|
+
|
|
455
|
+
self.assertEqual(len(results), 0)
|
|
@@ -43,8 +43,13 @@ exceptions = [
|
|
|
43
43
|
# From several Ubuntu LSCs like e.g.:
|
|
44
44
|
# 2021/ubuntu/gb_ubuntu_USN_4711_1.nasl
|
|
45
45
|
TextCheck("An attacker with access to at least one LUN in a multiple"),
|
|
46
|
-
# nb:
|
|
47
|
-
|
|
46
|
+
# nb:
|
|
47
|
+
# - The regex to catch e.g. "this files" or "This allow an attacker" might
|
|
48
|
+
# catch this wrongly...
|
|
49
|
+
# - Cases like "this filesystem" vs. "these filesystems" are also handled /
|
|
50
|
+
# excluded here
|
|
51
|
+
PatternCheck(r'this\s+(filesystem|allow\s+list)[\s.",]+', re.IGNORECASE),
|
|
52
|
+
PatternCheck(r'these\s+(filesystem|allow\s+list)s[\s.",]+', re.IGNORECASE),
|
|
48
53
|
# Like seen in e.g. 2008/freebsd/freebsd_mod_php4-twig.nasl
|
|
49
54
|
PatternCheck(r'(\s+|")[Aa]\s+multiple\s+of'),
|
|
50
55
|
# WITH can be used like e.g. the following which is valid:
|
|
@@ -183,6 +188,12 @@ def get_grammer_pattern() -> re.Pattern:
|
|
|
183
188
|
# Successful exploitation may allows an attacker to run arbitrary
|
|
184
189
|
# An error in INSTALL_JAR procedure might allows remote authenticated
|
|
185
190
|
r"(could|may|will|might|should|can)\s+allows\s+|"
|
|
191
|
+
# e.g.:
|
|
192
|
+
# - Inadequate checks in com_contact could allowed mail submission
|
|
193
|
+
r"(could|may|will|might|should|can)\s+allowed\s+|"
|
|
194
|
+
# e.g.:
|
|
195
|
+
# This allow an attacker to gain administrative access to the
|
|
196
|
+
r"This\s+allow\s+|"
|
|
186
197
|
# nb: Next few could happen when copy'n'paste some text parts around
|
|
187
198
|
# like e.g.:
|
|
188
199
|
# is prone to a to a remote denial-of-service vulnerability
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl
RENAMED
|
File without changes
|
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl
RENAMED
|
File without changes
|
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/fail.nasl
RENAMED
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl
RENAMED
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/test.nasl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/tests/plugins/test_variable_redefinition_in_foreach.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/test_package.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/tests/standalone_plugins/test_changed_creation_date.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/troubadix/plugins/variable_redefinition_in_foreach.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_creation_date.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/package.py
RENAMED
|
File without changes
|
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/__init__.py
RENAMED
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/checks.py
RENAMED
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/cli.py
RENAMED
|
File without changes
|
|
File without changes
|
{troubadix-25.12.2 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|