Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package skillspector for openSUSE:Factory 
checked in at 2026-11-03 17:58:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/skillspector (Old)
 and      /work/SRC/openSUSE:Factory/.skillspector.new.1257 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "skillspector"

Tue Nov  3 17:58:24 2026 rev:13 rq:1394609 version:2.13.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/skillspector/skillspector.changes        
2026-10-31 23:11:40.121119571 +0100
+++ /work/SRC/openSUSE:Factory/.skillspector.new.1257/skillspector.changes      
2026-11-03 17:59:47.533932164 +0100
@@ -1,0 +2,21 @@
+Mon Nov  2 13:22:36 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 2.13.3:
+  * Scan integrity: baseline and recursive reports can no longer
+    overwrite the primary input or a child skill input, missing
+    custom YARA rule directories report incomplete inspection,
+    and artifact inspection continues after a matcher timeout
+  * Detection coverage: npx commands in JSON MCP configs, Pipenv
+    dependencies and locked versions, urllib-header credential
+    flows, agent-memory writes from test carriers, CRLF-shebang
+    launchers, and restored PowerShell SC3/P2 checks
+  * Deselect two retry-after deadline tests: the Factory SDK names
+    the rate-limit failure OpenAIRateLimitError, not RateLimitError
+    (deterministic mismatch; deadline behavior itself still passes
+    and stays covered by the build_context deadline tests)
+  * Fewer false incomplete scans: bounded shell syntax, generated
+    browser-template text, and Markdown code-fence line handling
+  * Large scans: configurable tool-description batch limit and a
+    longer default workflow deadline
+
+-------------------------------------------------------------------

Old:
----
  skillspector-2.13.1.tar.gz
  skillspector-2.13.2.tar.gz

New:
----
  skillspector-2.13.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ skillspector.spec ++++++
--- /var/tmp/diff_new_pack.KcJRDD/_old  2026-11-03 17:59:48.461971024 +0100
+++ /var/tmp/diff_new_pack.KcJRDD/_new  2026-11-03 17:59:48.466971233 +0100
@@ -21,7 +21,7 @@
 # %%{primary_python} so it stays correct as the primary interpreter moves.
 %define pythons %{primary_python}
 Name:           skillspector
-Version:        2.13.2
+Version:        2.13.3
 Release:        0
 Summary:        Security scanner for AI agent skills
 License:        Apache-2.0
@@ -217,13 +217,22 @@
 #     the spawned cone import overruns the 1 s bound on aarch64 (cold
 #     "import skillspector" alone measures 9.8 s here).
 #
+# 2.13.3 deselects two retry-after deadline tests of a different family:
+# test_formatting_retry_after_cannot_exceed_shared_deadline[True/False]
+# expects the preserved provider failure to be named "RateLimitError",
+# but the Factory SDK names it "OpenAIRateLimitError", so both
+# parametrizations fail deterministically. The deadline behavior itself
+# is fine (RUNTIME_LIMIT is reported); only the class-name assertion
+# mismatches. Deadline behavior stays covered by the build_context
+# deadline tests, which do run.
+#
 # Deselecting keeps the build gate meaningful without hiding a detection
 # failure: the same resource bounds are asserted deterministically by the
 # tests that monkeypatch the budget rather than racing it (e.g.
 # test_static_runtime_limit_is_reported_as_partial,
 # test_static_output_limit_is_reported_as_partial, and the build_context
 # deadline tests), and those do run.
-%pytest --deselect 
tests/unit/test_mcp_server.py::test_mcp_stdio_initialize_registers_scan_skill 
--deselect 
tests/unit/test_baseline_mcp.py::test_stdio_mcp_preserves_compact_verdicts_and_ignores_shipped_baseline
 --deselect 
tests/unit/test_input_handler_ssrf.py::TestGitCloneSSRF::test_github_url_allowed
 --deselect 
tests/unit/test_input_handler_ssrf.py::TestGitCloneSSRF::test_gitlab_url_allowed
 --deselect 
tests/unit/test_input_handler_ssrf.py::TestDownloadSSRF::test_raw_githubusercontent_allowed
 --deselect 
tests/unit/test_input_handler_ssrf.py::TestDownloadSSRF::test_download_does_not_follow_redirects
 --deselect 
tests/unit/test_input_handler.py::test_validate_url_host_scp_extracts_github 
--deselect tests/unit/test_input_handler.py::test_scp_valid_host_clones 
--deselect tests/unit/test_input_handler.py::test_https_url_unchanged 
--deselect 
"tests/nodes/analyzers/test_bundled_execution_surface.py::test_discovery_parser_bounds_and_ledger_table[malformed_schema]"
 --deselect tests/test_bund
 led_execution_surface_acceptance.py::test_public_cli_exit_contract --deselect 
tests/test_bundled_execution_surface_acceptance.py::test_recursive_single_child_routes_execution_surfaces_from_child_root
 --deselect 
tests/test_bundled_execution_surface_acceptance.py::test_cli_fail_on_incomplete_is_opt_in
 --deselect 
tests/nodes/test_security_end_to_end.py::test_rd04_large_file_pair_detects_start_boundary_and_end
 --deselect 
tests/nodes/test_security_end_to_end.py::test_nine_case_contract_across_public_surfaces
 --deselect 
tests/nodes/test_security_remediation.py::test_five_megabyte_normalized_static_scan_stays_below_memory_ceiling
 --deselect 
tests/nodes/test_security_end_to_end.py::test_cross_window_separator_pair_across_public_surfaces
 --deselect 
tests/unit/test_patterns.py::TestPrivilegeEscalation::test_pe3_repeated_nouns_have_bounded_qualifier_cost
 --deselect 
tests/unit/test_cli_subprocess.py::test_registry_unsupported_options_stop_before_input_or_output_access
 --deselect tests/unit/test
 _cli_subprocess.py::test_registry_default_options_still_scan --deselect 
tests/unit/test_cli_subprocess.py::test_recursive_medium_recommendation_matches_direct_scan
 --deselect 
tests/nodes/test_nested_artifacts.py::test_typescript_declaration_near_misses_are_bounded_and_stay_executable
 --deselect 
tests/test_batch_scan_security.py::test_worker_startup_has_a_separate_bound
+%pytest --deselect 
tests/unit/test_mcp_server.py::test_mcp_stdio_initialize_registers_scan_skill 
--deselect 
tests/unit/test_baseline_mcp.py::test_stdio_mcp_preserves_compact_verdicts_and_ignores_shipped_baseline
 --deselect 
tests/unit/test_input_handler_ssrf.py::TestGitCloneSSRF::test_github_url_allowed
 --deselect 
tests/unit/test_input_handler_ssrf.py::TestGitCloneSSRF::test_gitlab_url_allowed
 --deselect 
tests/unit/test_input_handler_ssrf.py::TestDownloadSSRF::test_raw_githubusercontent_allowed
 --deselect 
tests/unit/test_input_handler_ssrf.py::TestDownloadSSRF::test_download_does_not_follow_redirects
 --deselect 
tests/unit/test_input_handler.py::test_validate_url_host_scp_extracts_github 
--deselect tests/unit/test_input_handler.py::test_scp_valid_host_clones 
--deselect tests/unit/test_input_handler.py::test_https_url_unchanged 
--deselect 
"tests/nodes/analyzers/test_bundled_execution_surface.py::test_discovery_parser_bounds_and_ledger_table[malformed_schema]"
 --deselect tests/test_bund
 led_execution_surface_acceptance.py::test_public_cli_exit_contract --deselect 
tests/test_bundled_execution_surface_acceptance.py::test_recursive_single_child_routes_execution_surfaces_from_child_root
 --deselect 
tests/test_bundled_execution_surface_acceptance.py::test_cli_fail_on_incomplete_is_opt_in
 --deselect 
tests/nodes/test_security_end_to_end.py::test_rd04_large_file_pair_detects_start_boundary_and_end
 --deselect 
tests/nodes/test_security_end_to_end.py::test_nine_case_contract_across_public_surfaces
 --deselect 
tests/nodes/test_security_remediation.py::test_five_megabyte_normalized_static_scan_stays_below_memory_ceiling
 --deselect 
tests/nodes/test_security_end_to_end.py::test_cross_window_separator_pair_across_public_surfaces
 --deselect 
tests/unit/test_patterns.py::TestPrivilegeEscalation::test_pe3_repeated_nouns_have_bounded_qualifier_cost
 --deselect 
tests/unit/test_cli_subprocess.py::test_registry_unsupported_options_stop_before_input_or_output_access
 --deselect tests/unit/test
 _cli_subprocess.py::test_registry_default_options_still_scan --deselect 
tests/unit/test_cli_subprocess.py::test_recursive_medium_recommendation_matches_direct_scan
 --deselect 
tests/nodes/test_nested_artifacts.py::test_typescript_declaration_near_misses_are_bounded_and_stay_executable
 --deselect 
tests/test_batch_scan_security.py::test_worker_startup_has_a_separate_bound 
--deselect 
"tests/unit/test_structured_response.py::test_formatting_retry_after_cannot_exceed_shared_deadline[False]"
 --deselect 
"tests/unit/test_structured_response.py::test_formatting_retry_after_cannot_exceed_shared_deadline[True]"
 
 %files
 %license LICENSE

++++++ skillspector-2.13.1.tar.gz -> skillspector-2.13.3.tar.gz ++++++
++++ 14678 lines of diff (skipped)

Reply via email to