troubadix 25.12.1__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.1 → troubadix-25.12.3}/PKG-INFO +1 -1
- {troubadix-25.12.1 → troubadix-25.12.3}/pyproject.toml +1 -1
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_grammar.py +71 -1
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/__version__.py +1 -1
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/codespell/codespell.additions +1 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/codespell/codespell.exclude +1 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/grammar.py +17 -4
- {troubadix-25.12.1 → troubadix-25.12.3}/LICENSE +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/README.md +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/__init__.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/helper/__init__.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/helper/test_date_format.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/helper/test_if_block_parser.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/helper/test_linguistic_exception_handler.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/helper/test_patterns.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/helper/test_remove_comments.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/helper/test_text_utils.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/manual_tests/comment_removal_diff.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/__init__.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/fail.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/fail2.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_badwords.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_copyright_text.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_copyright_year.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_creation_date.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_cve_format.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_cvss_format.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_dependencies.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_dependency_category_order.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_deprecated_dependency.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_deprecated_functions.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_double_end_points.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_duplicate_oid.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_duplicated_script_tags.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_encoding.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/fail_bad_new_line.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/fail_badwords.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/fail_name_newline.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/fail_permissions.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/fail_spelling.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail_solution_template.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/fail.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/test.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/test_valid_oid.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/test.inc +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/test.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/warning.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/ok_permissions.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/test_oid.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_forking_nasl_functions.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_get_kb_on_services.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_http_links_in_tags.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_if_statement_syntax.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_illegal_characters.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_log_messages.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_malformed_dependencies.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_misplaced_compare_in_if.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_missing_desc_exit.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_missing_tag_solution.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_multiple_re_parameters.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_newlines.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_overlong_description_lines.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_overlong_script_tags.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_qod.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_reporting_consistency.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_add_preference_id.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_add_preference_type.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_calls_empty_values.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_calls_recommended.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_category.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_copyright.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_family.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_tag_form.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_tag_whitespaces.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_tags_mandatory.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_version_and_last_modification_tags.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_xref_form.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_script_xref_url.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_security_messages.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_set_get_kb_calls.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_severity_date.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_severity_format.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_severity_origin.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_solution_text.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_solution_type.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_spaces_before_dots.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_spaces_in_filename.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_spelling.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_tabs.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_todo_tbd.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_trailing_spaces_tabs.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_using_display.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_valid_oid.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_valid_script_tag_names.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_variable_redefinition_in_foreach.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_vt_file_permissions.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_vt_placement.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/__init__.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/__init__.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/markers/__init__.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/markers/test_added_epoch.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/markers/test_added_release.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/markers/test_added_udeb.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/markers/test_changed_update.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/markers/test_dropped_architecture.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/test_changed_packages.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/changed_packages/test_package.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/nasl/21.04/21_script.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/nasl/22.04/22_script.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/nasl/common/bar.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/nasl/common/foo.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/nasl/common/foobar.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/nasl/common/gsf/enterprise_script.nasl +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/test_changed_creation_date.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/test_changed_cves.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/test_changed_oid.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/test_dependency_graph.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/test_deprecate_vts.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/test_file_extensions.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/test_last_modification.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/test_no_solution.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/standalone_plugins/test_version_updated.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/test_argparser.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/test_helper.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/test_naslinter.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/test_reporter.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/test_results.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/tests/test_runner.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/__init__.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/argparser.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/codespell/codespell.ignore +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/helper/__init__.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/helper/date_format.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/helper/helper.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/helper/if_block_parser.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/helper/linguistic_exception_handler.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/helper/patterns.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/helper/remove_comments.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/helper/text_utils.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugin.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/__init__.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/badwords.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/copyright_text.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/copyright_year.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/creation_date.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/cve_format.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/cvss_format.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/dependencies.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/dependency_category_order.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/deprecated_dependency.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/deprecated_functions.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/double_end_points.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/duplicate_oid.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/duplicated_script_tags.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/encoding.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/forking_nasl_functions.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/get_kb_on_services.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/http_links_in_tags.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/if_statement_syntax.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/illegal_characters.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/log_messages.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/malformed_dependencies.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/misplaced_compare_in_if.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/missing_desc_exit.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/missing_tag_solution.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/multiple_re_parameters.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/newlines.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/overlong_description_lines.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/overlong_script_tags.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/qod.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/reporting_consistency.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_add_preference_id.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_add_preference_type.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_calls_empty_values.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_calls_recommended.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_category.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_copyright.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_family.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_tag_form.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_tag_whitespaces.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_tags_mandatory.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_version_and_last_modification_tags.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_xref_form.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/script_xref_url.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/security_messages.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/set_get_kb_calls.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/severity_date.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/severity_format.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/severity_origin.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/solution_text.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/solution_type.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/spaces_before_dots.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/spaces_in_filename.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/spelling.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/tabs.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/todo_tbd.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/trailing_spaces_tabs.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/using_display.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/valid_oid.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/valid_script_tag_names.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/variable_assigned_in_if.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/variable_redefinition_in_foreach.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/vt_file_permissions.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/plugins/vt_placement.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/reporter.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/results.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/runner.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/__init__.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/allowed_rev_diff.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_creation_date.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_cves.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_oid.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/changed_packages.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/__init__.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/added_epoch.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/added_release.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/added_udeb.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/changed_update.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/marker/marker.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/package.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/common.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/__init__.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/checks.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/cli.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/dependency_graph.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/models.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/deprecate_vts.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/file_extensions.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/last_modification.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/no_solution.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/util.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/version_updated.py +0 -0
- {troubadix-25.12.1 → troubadix-25.12.3}/troubadix/troubadix.py +0 -0
|
@@ -321,13 +321,65 @@ class CheckNewlinesTestCase(PluginTestCase):
|
|
|
321
321
|
self.assertIsInstance(results[0], LinterError)
|
|
322
322
|
self.assertEqual(
|
|
323
323
|
"VT/Include has the following grammar problem:\n"
|
|
324
|
-
"- Hit: may allows
|
|
324
|
+
"- Hit: may allows\n"
|
|
325
325
|
'- Full line: script_tag(name:"impact", value:"Successful '
|
|
326
326
|
"exploitation may allows an attacker to run arbitrary code on the "
|
|
327
327
|
'affected IP cameras.");',
|
|
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)
|
|
@@ -1621,3 +1621,4 @@ xml += string( '<oval_system_characteristics xmlns="http://oval.mitre.org/XMLSch
|
|
|
1621
1621
|
- XSS via a crafted WAN name on the General Setup screen (CVE-2019-16534)");
|
|
1622
1622
|
"^[Xx]-[Aa]dobe-[Cc]ontent\s*:\s*AEM" );
|
|
1623
1623
|
Zhongling Wen discovered that the h323 conntrack handler did not correctly
|
|
1624
|
+
check_urls = make_list( "/olt/Login.do", "/otm/logon.do" );
|
|
@@ -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:
|
|
@@ -179,8 +184,16 @@ def get_grammer_pattern() -> re.Pattern:
|
|
|
179
184
|
# server-site template injection -> server-side template injection
|
|
180
185
|
r"cross[\s-]+side[\s-]+(request[\s-]+forgery|scripting)|"
|
|
181
186
|
r"server[\s-]+site[\s-]+(request[\s-]+forgery|template)[\s-]+injection|"
|
|
182
|
-
# e.g
|
|
183
|
-
|
|
187
|
+
# e.g.:
|
|
188
|
+
# Successful exploitation may allows an attacker to run arbitrary
|
|
189
|
+
# An error in INSTALL_JAR procedure might allows remote authenticated
|
|
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+|"
|
|
184
197
|
# nb: Next few could happen when copy'n'paste some text parts around
|
|
185
198
|
# like e.g.:
|
|
186
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.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl
RENAMED
|
File without changes
|
|
File without changes
|
{troubadix-25.12.1 → 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.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/fail.nasl
RENAMED
|
File without changes
|
{troubadix-25.12.1 → troubadix-25.12.3}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl
RENAMED
|
File without changes
|
{troubadix-25.12.1 → 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.1 → 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.1 → 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.1 → 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.1 → 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
|
{troubadix-25.12.1 → 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.1 → 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.1 → troubadix-25.12.3}/troubadix/standalone_plugins/changed_packages/package.py
RENAMED
|
File without changes
|
|
File without changes
|
{troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/__init__.py
RENAMED
|
File without changes
|
{troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/checks.py
RENAMED
|
File without changes
|
{troubadix-25.12.1 → troubadix-25.12.3}/troubadix/standalone_plugins/dependency_graph/cli.py
RENAMED
|
File without changes
|
|
File without changes
|
{troubadix-25.12.1 → 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
|