AI Slop Code RIsk Monitor

NVIDIA/SkillSpector

Security scanner for AI agent skills. Detect vulnerabilities, malicious patterns, security risks, prompt injection, data exfiltration, and supply-chain risks in Claude Code, Codex, and MCP skills before you install them.

32.7 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for NVIDIA/SkillSpector, a Python project with 19,888 GitHub stars. SynthScan examined 202,733 lines of code across 381 source files, recording 5963 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 32.7 (High 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.

32.7
Adjusted Signal
32.7
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
19.9K
Stars
Python
Language
202.7K
Lines of Code
381
Files
6.0K
Pattern Hits
2026-10-12
Scan Date
0.19
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 63.8/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 4968 finding(s).

Hallucinated Dependency & Supply Chain Risk 9.5/100 · LOW

Are imports declared and package/API names verified? 330 finding(s).

Agent Over-Engineering Ratio 76.0/100 · CRITICAL

Are wrappers, guards, and repeated structures necessary? 5156 finding(s).

PR Review Velocity Impact 84.0/100 · CRITICAL

Which changes need focused human review? 5963 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 0HIGH 72MEDIUM 555LOW 5336

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 5963 distinct pattern matches across 21 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.

Hyper-Verbose Identifiers4477 hits · 3665 pts
SeverityFileLineSnippetContext
LOWtests/test_bundled_execution_surface_acceptance.py89def test_issue_a_graph_reports_hook_mechanism_without_inventing_exfiltration(STRING
LOWtests/test_bundled_execution_surface_acceptance.py118def test_issue_b_graph_blocks_closed_project_permission_surface(STRING
LOWtests/test_bundled_execution_surface_acceptance.py137def test_bundled_project_disable_suppresses_ordinary_plugin_hook_findings(tmp_path: Path) -> None:STRING
LOWtests/test_bundled_execution_surface_acceptance.py162def test_issue_c_top_level_prefixed_zip_reports_full_chain(tmp_path: Path) -> None:STRING
LOWtests/test_bundled_execution_surface_acceptance.py176def test_issue_c_renders_all_public_report_formats(tmp_path: Path) -> None:STRING
LOWtests/test_bundled_execution_surface_acceptance.py209def test_document_surface_controls(STRING
LOWtests/test_bundled_execution_surface_acceptance.py223def test_malformed_sibling_keeps_valid_finding_and_is_incomplete(tmp_path: Path) -> None:STRING
LOWtests/test_bundled_execution_surface_acceptance.py244def test_malformed_modeled_settings_sibling_keeps_hook_findings_and_is_incomplete(STRING
LOWtests/test_bundled_execution_surface_acceptance.py288def test_public_cli_exit_contract(STRING
LOWtests/test_bundled_execution_surface_acceptance.py313def test_recursive_single_child_routes_execution_surfaces_from_child_root(STRING
LOWtests/test_bundled_execution_surface_acceptance.py349def test_cli_fail_on_incomplete_is_opt_in(tmp_path: Path) -> None:STRING
LOWtests/test_prompt_leakage_context_regressions.py95def test_context_classification_survives_graph_reports(CODE
LOWtests/test_prompt_leakage_context_regressions.py116def test_cross_window_extraction_survives_graph_reports(tmp_path: Path, output_format: str) -> None:CODE
LOWtests/test_prompt_leakage_context_regressions.py177def _assert_no_internal_security_metadata(value: object) -> None:CODE
LOW⚡tests/test_mcp_tool_poisoning.py519 def test_block_summary_uses_complete_padding_run_identity(self):CODE
LOW⚡tests/test_mcp_tool_poisoning.py884 def test_injection_in_param_description(self):CODE
LOW⚡tests/test_mcp_tool_poisoning.py1788 def test_skipped_no_description(self):CODE
LOW⚡tests/test_mcp_tool_poisoning.py1794 def test_llm_call_failure_returns_empty(self, monkeypatch: pytest.MonkeyPatch):CODE
LOW⚡tests/test_mcp_tool_poisoning.py1801 def test_persistently_malformed_response_returns_empty(self, monkeypatch: pytest.MonkeyPatch):CODE
LOWtests/test_mcp_tool_poisoning.py344 def test_truncated_previews_preserve_distinct_full_match_identity(CODE
LOWtests/test_mcp_tool_poisoning.py439 def test_data_uri_in_metadata(self):CODE
LOWtests/test_mcp_tool_poisoning.py457 def test_instruction_keyword_in_comment(self):CODE
LOWtests/test_mcp_tool_poisoning.py478 def test_zero_width_word_joiner_after_refactor(self):CODE
LOWtests/test_mcp_tool_poisoning.py495 def test_zero_width_bom_after_refactor(self):CODE
LOWtests/test_mcp_tool_poisoning.py632 def test_identifier_field_not_scanned(self):CODE
LOWtests/test_mcp_tool_poisoning.py772 def test_truncated_previews_preserve_distinct_full_text_identity(CODE
LOWtests/test_mcp_tool_poisoning.py859 def test_invisible_formatting_chars(self):CODE
LOWtests/test_mcp_tool_poisoning.py904 def test_system_token_in_param(self):CODE
LOWtests/test_mcp_tool_poisoning.py927 def test_exfiltration_in_param_description(self):CODE
LOWtests/test_mcp_tool_poisoning.py949 def test_malicious_default_value(self):CODE
LOWtests/test_mcp_tool_poisoning.py972 def test_long_default_url_preview_preserves_full_match_identity(self) -> None:CODE
LOWtests/test_mcp_tool_poisoning.py986 def test_excessive_description_length(self):CODE
LOWtests/test_mcp_tool_poisoning.py1014 def test_localhost_prefixed_attacker_url_is_flagged(self):CODE
LOWtests/test_mcp_tool_poisoning.py1037 def test_genuine_loopback_default_url_is_exempt(self):CODE
LOWtests/test_mcp_tool_poisoning.py1147 def test_finding_maps_result_metadata_for_unit_ci(self):CODE
LOWtests/test_mcp_tool_poisoning.py1196 def test_fences_reject_false_positives_and_keep_ranges(self):CODE
LOWtests/test_mcp_tool_poisoning.py1209 def test_common_markdown_executable_labels_are_normalized(self):CODE
LOWtests/test_mcp_tool_poisoning.py1218 def test_executable_candidates_precede_markdown_candidates(CODE
LOWtests/test_mcp_tool_poisoning.py1248 def test_markdown_artifact_cap_stops_before_prefix_and_fence_extraction(CODE
LOWtests/test_mcp_tool_poisoning.py1300 def test_executable_artifact_cap_stops_before_content_reads(CODE
LOWtests/test_mcp_tool_poisoning.py1346 def test_blank_executable_prefix_keeps_no_call_status(self, monkeypatch):CODE
LOWtests/test_mcp_tool_poisoning.py1362 def test_executable_cr_lines_keep_source_range(self, monkeypatch):CODE
LOWtests/test_mcp_tool_poisoning.py1388 def test_prompt_byte_stop_records_next_source(self, monkeypatch, source_order):CODE
LOWtests/test_mcp_tool_poisoning.py1420 def test_runtime_stop_records_next_source(self, monkeypatch, source_order):CODE
LOWtests/test_mcp_tool_poisoning.py1457 def test_markdown_whitespace_prefix_truncation_is_partial(self, monkeypatch):CODE
LOWtests/test_mcp_tool_poisoning.py1473 def test_markdown_batch_cap_stops_before_next_source(self, monkeypatch: pytest.MonkeyPatch):CODE
LOWtests/test_mcp_tool_poisoning.py1515 def test_markdown_deadline_stops_before_prefix_and_fence_extraction(CODE
LOWtests/test_mcp_tool_poisoning.py1571 def test_separated_markdown_fences_keep_independent_source_ranges(CODE
LOWtests/test_mcp_tool_poisoning.py1618 def test_no_applicable_markdown_keeps_clean_status(self, monkeypatch: pytest.MonkeyPatch):CODE
LOWtests/test_mcp_tool_poisoning.py1711 def test_reasoning_env_skips_preference_on_initial_and_refreshed_models(CODE
LOWtests/test_mcp_tool_poisoning.py1735 def test_model_reasoning_controls_skip_preference_on_construction_and_refresh(CODE
LOWtests/test_mcp_tool_poisoning.py1757 def test_explicit_method_choices_win_with_reasoning(CODE
LOWtests/test_mcp_tool_poisoning.py1772 def test_configured_output_language_is_included(self, monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_mcp_tool_poisoning.py1819 def test_wrapped_json_schema_response_stays_incomplete(CODE
LOWtests/test_mcp_tool_poisoning.py1838 def test_tool_refusal_stays_incomplete(self, monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_mcp_tool_poisoning.py1877 def test_malformed_response_is_retried(self, monkeypatch: pytest.MonkeyPatch):CODE
LOWtests/test_mcp_tool_poisoning.py1893 def test_cli_parse_error_is_retried(self, monkeypatch: pytest.MonkeyPatch):CODE
LOWtests/test_mcp_tool_poisoning.py1910 def test_out_of_range_confidence_is_retried(self, monkeypatch: pytest.MonkeyPatch):CODE
LOWtests/test_mcp_tool_poisoning.py1928 def test_batches_run_concurrently_within_the_shared_limit(CODE
LOWtests/test_mcp_tool_poisoning.py1974 def test_successful_call_records_ok_true(self, monkeypatch: pytest.MonkeyPatch):CODE
4417 more matches not shown…
Decorative Section Separators536 hits · 1805 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/test_mcp_tool_poisoning.py513# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_mcp_tool_poisoning.py515# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_mcp_tool_poisoning.py878# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_mcp_tool_poisoning.py880# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_poisoning.py38# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_poisoning.py40# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_poisoning.py288# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_poisoning.py290# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_poisoning.py729# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_poisoning.py731# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_poisoning.py1055# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_poisoning.py1057# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_poisoning.py1109# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_poisoning.py1111# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_poisoning.py2120# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_poisoning.py2122# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_least_privilege.py30# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_least_privilege.py32# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_least_privilege.py172# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_least_privilege.py174# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py116# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py118# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py140# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py142# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py226# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py228# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py238# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py240# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py394# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py396# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py423# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py425# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py461# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py463# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py580# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py582# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py592# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py594# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py605# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py607# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py694# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py696# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py785# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_agent_cli.py787# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_agent_cli.py57# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_agent_cli.py59# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_agent_cli.py655# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_agent_cli.py657# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_model_info.py65# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_model_info.py67# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_model_info.py86# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_model_info.py88# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_model_info.py164# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_model_info.py166# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_model_info.py246# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_model_info.py248# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_model_info.py278# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_model_info.py280# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_new_providers.py125# ── Azure OpenAI ────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/unit/test_new_providers.py257# ── Generic OpenAI-Compatible ───────────────────────────────────────────────COMMENT
476 more matches not shown…
Unused Imports301 hits · 266 pts
SeverityFileLineSnippetContext
LOWtests/test_bundled_execution_surface_acceptance.py6CODE
LOWtests/test_mcp_tool_poisoning.py18CODE
LOWtests/test_batch_scan_security.py6CODE
LOWtests/test_semantic_runtime.py6CODE
LOWtests/test_structured_skill.py6CODE
LOWtests/test_batch_scan_reports.py6CODE
LOWtests/test_python_ast.py6CODE
LOWtests/test_mcp_rug_pull.py18CODE
LOWtests/test_mcp_least_privilege.py18CODE
LOWtests/test_multi_skill.py18CODE
LOWtests/test_reference_destination_kinds.py6CODE
LOWtests/unit/test_agent_cli.py33CODE
LOWtests/unit/test_tp4_openai_http.py6CODE
LOWtests/unit/test_inference_usage.py6CODE
LOWtests/unit/test_llm_utils.py23CODE
LOWtests/unit/test_baseline_mcp.py10CODE
LOWtests/unit/test_providers.py23CODE
LOWtests/unit/test_gemini_provider.py18CODE
LOWtests/unit/test_suppression.py18CODE
LOWtests/unit/test_github_release_workflow.py6CODE
LOWtests/unit/test_prohibition_context.py6CODE
LOWtests/unit/test_cleanup.py6CODE
LOWtests/unit/test_yara_rop_chain.py23CODE
LOWtests/unit/test_llm_provenance.py6CODE
LOWtests/unit/test_defensive_language_reporting.py6CODE
LOWtests/unit/test_model_info.py18CODE
LOWtests/unit/test_model_info.py33CODE
LOWtests/unit/test_osv_client.py18CODE
LOWtests/unit/test_create_github_release.py6CODE
LOWtests/unit/test_input_handler_ssrf.py18CODE
LOWtests/unit/test_bedrock_provider.py24CODE
LOWtests/unit/test_static_runner_prepared_context.py6CODE
LOWtests/unit/test_baseline_coverage.py10CODE
LOWtests/unit/test_new_providers.py18CODE
LOWtests/unit/test_wheel_contents.py6CODE
LOWtests/unit/test_input_handler_bounds.py26CODE
LOWtests/unit/test_graph_proxy.py6CODE
LOWtests/unit/test_anthropic_proxy_provider.py18CODE
LOWtests/unit/test_compare_scan_accuracy.py4CODE
LOWtests/unit/test_cli_subprocess.py18CODE
LOWtests/unit/test_constants.py18CODE
LOWtests/unit/test_sarif.py18CODE
LOWtests/unit/test_patterns_new.py22CODE
LOWtests/nodes/test_deduplicate.py18CODE
LOWtests/nodes/test_python_execution_surface_end_to_end.py6CODE
LOWtests/nodes/test_report_occurrence_columns.py6CODE
LOWtests/nodes/test_nested_artifacts.py6CODE
LOWtests/nodes/test_transitive_analyzer_deadlines.py6CODE
LOWtests/nodes/test_security_remediation.py6CODE
LOWtests/nodes/test_analysis_completeness.py6CODE
LOWtests/nodes/test_llm_analyzer_base.py18CODE
LOWtests/nodes/test_report.py18CODE
LOWtests/nodes/test_sarif_rules_and_empty_findings.py18CODE
LOWtests/nodes/test_resolve_input.py18CODE
LOWtests/nodes/test_security_end_to_end.py6CODE
LOWtests/nodes/test_sarif_security_severity.py18CODE
LOWtests/nodes/test_report_provenance_boundary.py6CODE
LOWtests/nodes/test_meta_analyzer_fallback.py18CODE
LOWtests/nodes/test_finalize_inspection_ledger.py6CODE
LOWtests/nodes/test_json_quote_scan_end_to_end.py6CODE
241 more matches not shown…
Over-Commented Block226 hits · 198 pts
SeverityFileLineSnippetContext
LOWmodel_registry.yaml1# Model registry — context window and output token limits.COMMENT
LOW.skillspector-baseline.example.yaml1# SkillSpector baseline (example)COMMENT
LOWREADME.md361skillspector scan ./my-skill/COMMENT
LOWREADME.md381# data residency or in-region processing without appropriate organizational policies. Always verifyCOMMENT
LOWtests/test_mcp_tool_poisoning.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/conftest.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/__init__.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/test_mcp_rug_pull.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/test_mcp_least_privilege.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/test_multi_skill.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_agent_cli.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_transitive.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_mcp_server.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_llm_utils.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_providers.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_gemini_provider.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_suppression.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_patterns.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_yara_rop_chain.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/__init__.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_model_info.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_osv_client.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_input_handler_ssrf.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_bedrock_provider.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_reviewer_nits.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_new_providers.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_input_handler_bounds.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_anthropic_proxy_provider.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_cli.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_cli_subprocess.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_constants.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_input_handler.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_sarif.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/unit/test_patterns_new.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/test_deduplicate.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/test_llm_analyzer_base.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/__init__.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/test_report.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/test_sarif_rules_and_empty_findings.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/test_resolve_input.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/test_sarif_security_severity.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/test_meta_analyzer_fallback.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/test_meta_analyzer.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/test_build_context.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/test_report_sanitizer.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/test_as3_source_identity.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/test_semantic_quality_policy.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/analyzers/test_mp2_regex_backtracking.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOW…sts/nodes/analyzers/test_ea1_wildcard_line_boundary.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/analyzers/test_registry.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/analyzers/test_behavioral_ast.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/analyzers/test_semantic_developer_intent.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/analyzers/conftest.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/analyzers/test_sc2_command_boundaries.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/analyzers/test_whitespace_padding.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/analyzers/test_pe3_ignore_file_entries.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/analyzers/test_static_runner_filtering.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/analyzers/test_structured_skill_roles.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/analyzers/test_static_code_blank_lines.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
LOWtests/nodes/analyzers/test_static_patterns.py1# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.COMMENT
166 more matches not shown…
Empty Error Handlers34 hits · 170 pts
SeverityFileLineSnippetContext
HIGHtests/test_batch_scan_security.py531except ProcessLookupError:CODE
HIGHtests/unit/test_input_handler_ssrf.py167except Exception:CODE
HIGHcontrib/batch_scan/runner.py432except ImportError:CODE
HIGHcontrib/batch_scan/runner.py545except ImportError:CODE
HIGHcontrib/batch_scan/batch_scan.py55except ImportError:CODE
HIGHcontrib/batch_scan/batch_scan.py152except ProcessLookupError:CODE
HIGHcontrib/batch_scan/batch_scan.py161except (OSError, subprocess.TimeoutExpired):CODE
HIGHcontrib/batch_scan/__init__.py42except ImportError:CODE
HIGHcontrib/batch_scan/api_pool.py587except ImportError:CODE
HIGH…trib/batch_scan/tests/test_monkeypatch_invasiveness.py69except ImportError:CODE
HIGH…trib/batch_scan/tests/test_monkeypatch_invasiveness.py379except ValueError:CODE
HIGHcontrib/batch_scan/tests/tests-pro/mutation_max.py262except ImportError:CODE
HIGHcontrib/batch_scan/tests/tests-pro/test_api_pool.py442except RuntimeError:CODE
HIGH…trib/batch_scan/tests/tests-pro/test_runner_patches.py62except ImportError:CODE
HIGH…trib/batch_scan/tests/tests-pro/test_runner_patches.py182except ValueError:CODE
HIGHsrc/skillspector/inspection_ledger.py592except ValueError:CODE
HIGHsrc/skillspector/dependency_sources.py2157except configparser.Error:CODE
HIGHsrc/skillspector/cleanup.py37except Exception:CODE
HIGHsrc/skillspector/cli.py2589except ValueError:CODE
HIGHsrc/skillspector/llm_utils.py225except json.JSONDecodeError:CODE
HIGHsrc/skillspector/llm_utils.py233except json.JSONDecodeError:CODE
HIGHsrc/skillspector/input_handler.py203except ValueError:CODE
HIGHsrc/skillspector/input_handler.py521except OSError:CODE
HIGHsrc/skillspector/llm_analyzer_base.py337except (TypeError, ValueError):CODE
HIGHsrc/skillspector/llm_analyzer_base.py483except ValueError:CODE
HIGHsrc/skillspector/nodes/finalize_inspection_ledger.py566except (AttributeError, KeyError, TypeError, ValueError):CODE
HIGH…llspector/nodes/analyzers/bundled_execution_surface.py350except ValueError:CODE
HIGH…llspector/nodes/analyzers/bundled_execution_surface.py355except (OSError, ValueError):CODE
HIGHsrc/skillspector/nodes/analyzers/static_yara.py539except yara.SyntaxError:CODE
HIGHsrc/skillspector/providers/_agent_cli.py988except (OSError, ValueError):CODE
HIGHsrc/skillspector/providers/_agent_cli.py993except OSError:CODE
HIGHsrc/skillspector/providers/_agent_cli.py1054except (BrokenPipeError, OSError):CODE
HIGHsrc/skillspector/providers/_agent_cli.py1060except OSError:CODE
HIGHsrc/skillspector/providers/_agent_cli.py1085except subprocess.TimeoutExpired:CODE
Deep Nesting216 hits · 158 pts
SeverityFileLineSnippetContext
LOWtests/test_mcp_tool_poisoning.py95CODE
LOWtests/test_mcp_least_privilege.py87CODE
LOWtests/unit/test_tp4_openai_http.py26CODE
LOWtests/unit/test_tp4_openai_http.py34CODE
LOWtests/unit/test_baseline_mcp.py54CODE
LOWtests/unit/test_defensive_language_reporting.py136CODE
LOWtests/unit/test_mcp_registry.py685CODE
LOWtests/unit/test_cli.py582CODE
LOWtests/unit/test_cli.py7009CODE
LOWtests/nodes/test_security_end_to_end.py157CODE
LOWtests/nodes/test_security_end_to_end.py1494CODE
LOWtests/nodes/test_report_sanitizer.py221CODE
LOWtests/nodes/analyzers/test_json_quote_scan_runtime.py24CODE
LOW…s/nodes/analyzers/test_documentation_reconstruction.py108CODE
LOWtests/nodes/analyzers/test_python_ast_columns.py27CODE
LOWtests/nodes/analyzers/test_python_ast_columns.py154CODE
LOWtests/nodes/analyzers/test_python_ast_columns.py31CODE
LOWtests/nodes/analyzers/test_token_gap_fast_paths.py69CODE
LOWcontrib/batch_scan/detection.py50CODE
LOWcontrib/batch_scan/batch_scan.py203CODE
LOWcontrib/batch_scan/batch_scan.py270CODE
LOWcontrib/batch_scan/api_pool.py167CODE
LOWcontrib/batch_scan/api_pool.py270CODE
LOWcontrib/batch_scan/reports.py392CODE
LOWcontrib/batch_scan/tests/tests-pro/mutation_max.py120CODE
LOWsrc/skillspector/suppression.py693CODE
LOWsrc/skillspector/suppression.py753CODE
LOWsrc/skillspector/mcp_registry.py370CODE
LOWsrc/skillspector/mcp_registry.py466CODE
LOWsrc/skillspector/references.py97CODE
LOWsrc/skillspector/references.py201CODE
LOWsrc/skillspector/references.py272CODE
LOWsrc/skillspector/references.py448CODE
LOWsrc/skillspector/inspection_ledger.py398CODE
LOWsrc/skillspector/inspection_ledger.py746CODE
LOWsrc/skillspector/dependency_sources.py250CODE
LOWsrc/skillspector/dependency_sources.py416CODE
LOWsrc/skillspector/dependency_sources.py476CODE
LOWsrc/skillspector/dependency_sources.py633CODE
LOWsrc/skillspector/dependency_sources.py724CODE
LOWsrc/skillspector/dependency_sources.py853CODE
LOWsrc/skillspector/dependency_sources.py927CODE
LOWsrc/skillspector/dependency_sources.py982CODE
LOWsrc/skillspector/dependency_sources.py1418CODE
LOWsrc/skillspector/dependency_sources.py1498CODE
LOWsrc/skillspector/dependency_sources.py1557CODE
LOWsrc/skillspector/dependency_sources.py1610CODE
LOWsrc/skillspector/dependency_sources.py1940CODE
LOWsrc/skillspector/dependency_sources.py1985CODE
LOWsrc/skillspector/dependency_sources.py2137CODE
LOWsrc/skillspector/python_tokens.py114CODE
LOWsrc/skillspector/semantic_runtime.py119CODE
LOWsrc/skillspector/structured_skill.py277CODE
LOWsrc/skillspector/structured_skill.py339CODE
LOWsrc/skillspector/structured_skill.py392CODE
LOWsrc/skillspector/structured_skill.py689CODE
LOWsrc/skillspector/structured_skill.py355CODE
LOWsrc/skillspector/structured_skill.py400CODE
LOWsrc/skillspector/inference_usage.py132CODE
LOWsrc/skillspector/nested_artifacts.py424CODE
156 more matches not shown…
Cross-Language Confusion24 hits · 136 pts
SeverityFileLineSnippetContext
HIGHtests/test_mcp_rug_pull.py95 ("npx @scope/server-a && npx @scope/server-b@1.2.3\n", "npx @scope/server-a"),CODE
HIGHtests/unit/test_patterns.py696 content = "cat /etc/passwd && docker run -v /etc/passwd:/etc/passwd:ro image"CODE
HIGHtests/unit/test_patterns.py705 "cat /etc/passwd && docker run -v /etc/passwd:/etc/passwd:ro image",CODE
HIGHtests/unit/test_mcp_registry.py772 baseline.write_text('{"mcp_registry": true, "snapshots": [null]}')CODE
HIGHtests/unit/test_patterns_new.py421 "const match = condition ? /yes/.exec(output) : null;",CODE
HIGHtests/unit/test_patterns_new.py1638 'rm -rf "$BRANCH_CTX_PARENT" 2>/dev/null || true',CODE
HIGHtests/unit/test_patterns_new.py1678 pytest.param("ls && rm -rf /tmp", "cleanup.sh", "shell", id="chain_rm"),CODE
HIGHtests/unit/test_patterns_new.py1724 "RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*\n"CODE
HIGHtests/unit/test_patterns_new.py1738 "RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*\n"CODE
HIGHtests/unit/test_patterns_new.py1752 "RUN useradd --create-home appuser && chown -R appuser:appuser /app\n"CODE
HIGHtests/nodes/analyzers/test_sc2_command_boundaries.py37 "curl http://localhost:8000/health && echo '{}' | python3",CODE
HIGH⚡tests/nodes/analyzers/test_sc2_command_boundaries.py57 "curl http://localhost:8000/health\n-o result && sh result",CODE
HIGH⚡tests/nodes/analyzers/test_sc2_command_boundaries.py58 "wget http://localhost:8000/health\n-O result && sh result",CODE
HIGH⚡…ts/nodes/analyzers/test_skill_installation_patterns.py54 "mkdir -p ~/.claude/skills && crontab -e",CODE
HIGH⚡…ts/nodes/analyzers/test_skill_installation_patterns.py310 "mkdir -p build && cp agent.desktop ~/.config/autostart/",CODE
HIGH…ts/nodes/analyzers/test_skill_installation_patterns.py155 "cp -r ./payload ~/.claude/skills/helper && echo done",CODE
HIGH…ts/nodes/analyzers/test_skill_installation_patterns.py169 "git clone https://example.test/repo.git ~/.claude/skills/helper && echo done",CODE
HIGH⚡…ts/nodes/analyzers/test_cli_companion_documentation.py368 "widgetctl self-update && echo --verify-signature",CODE
HIGH⚡…ts/nodes/analyzers/test_cli_companion_documentation.py369 "widgetctl self-update || echo --verify-signature",CODE
HIGH…s/analyzers/test_parameter_expansion_reconstruction.py145 ('cd /tmp && X=$(printf "%s" "$X")', 11, True),CODE
HIGH⚡tests/nodes/analyzers/test_static_yara.py2105ssh target 'rm -rf ~/trt_profile_model && mkdir -p ~/trt_profile_model/results'CODE
HIGHtests/nodes/analyzers/test_security_reconstruction.py1721 pytest.param("rm harmless && echo -rf /", False, id="and-boundary"),CODE
HIGH⚡tests/provider/test_opencode_cli.py503 '{"type":"text","part":null}',STRING
HIGHcontrib/batch_scan/runner.py218 '"end_line": null, "confidence": 0.0-1.0, 'CODE
Cross-File Repetition11 hits · 55 pts
SeverityFileLineSnippetContext
HIGHtests/unit/test_providers.py0isolate provider-related env vars and the yaml cache for each test.STRING
HIGHtests/unit/test_bedrock_provider.py0isolate provider-related env vars and the yaml cache for each test.STRING
HIGHtests/unit/test_new_providers.py0isolate provider-related env vars and the yaml cache for each test.STRING
HIGHsrc/skillspector/providers/gemini/provider.py0resolve model: ``skillspector_model`` env > slot default > ``default_model``.STRING
HIGHsrc/skillspector/providers/azure_openai/provider.py0resolve model: ``skillspector_model`` env > slot default > ``default_model``.STRING
HIGHsrc/skillspector/providers/bedrock/provider.py0resolve model: ``skillspector_model`` env > slot default > ``default_model``.STRING
HIGHsrc/skillspector/providers/nv_build/provider.py0resolve model: ``skillspector_model`` env > slot default > ``default_model``.STRING
HIGH…c/skillspector/providers/openai_compatible/provider.py0resolve model: ``skillspector_model`` env > slot default > ``default_model``.STRING
HIGHsrc/skillspector/providers/anthropic/provider.py0resolve model: ``skillspector_model`` env > slot default > ``default_model``.STRING
HIGHsrc/skillspector/providers/ollama/provider.py0resolve model: ``skillspector_model`` env > slot default > ``default_model``.STRING
HIGHsrc/skillspector/providers/openai/provider.py0resolve model: ``skillspector_model`` env > slot default > ``default_model``.STRING
Excessive Try-Catch Wrapping55 hits · 46 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_gemini_provider.py377def call() -> None:CODE
LOWtests/unit/test_gemini_provider.py380 except Exception as exc:CODE
LOWtests/unit/test_input_handler_ssrf.py167 except Exception:CODE
LOWdocs/LLM_ANALYZER_BASE_GUIDE.md89 except Exception as e:CODE
LOWcontrib/batch_scan/runner.py159 except Exception as exc:CODE
LOWcontrib/batch_scan/runner.py204 except Exception as exc:CODE
LOWcontrib/batch_scan/runner.py785 except Exception as exc:CODE
LOWcontrib/batch_scan/batch_scan.py444 except Exception as exc:CODE
LOWcontrib/batch_scan/api_pool.py499 except Exception as exc:CODE
LOWcontrib/batch_scan/api_pool.py542 except Exception as exc:CODE
LOWcontrib/batch_scan/gap_fill.py237 except Exception as exc:CODE
LOWcontrib/batch_scan/gap_fill.py303 except Exception as exc:CODE
LOW…trib/batch_scan/tests/test_monkeypatch_invasiveness.py281 except Exception as exc:CODE
LOW⚡contrib/batch_scan/tests/tests-pro/mutation_max.py479 except Exception:CODE
LOWcontrib/batch_scan/tests/tests-pro/mutation_max.py321 except Exception:CODE
LOWcontrib/batch_scan/tests/tests-pro/mutation_max.py349 except Exception:CODE
LOWcontrib/batch_scan/tests/tests-pro/mutation_max.py396 except Exception:CODE
MEDIUMcontrib/batch_scan/tests/tests-pro/test_api_pool.py401def worker():CODE
LOWcontrib/batch_scan/tests/tests-pro/test_api_pool.py408 except Exception as e:CODE
MEDIUM…trib/batch_scan/tests/tests-pro/test_runner_patches.py393def test_chatopenai_init_receives_both_timeout_and_request_timeout(self):CODE
LOW…trib/batch_scan/tests/tests-pro/test_runner_patches.py469 except Exception:CODE
LOWcontrib/batch_scan/docs/DESIGN.md173except Exception:CODE
LOWcontrib/batch_scan/docs/archive/PITFALLS.md120except Exception:CODE
LOWscripts/compare_scan_accuracy.py793 except Exception as error:CODE
LOWsrc/skillspector/inspection_ledger.py1133 except Exception as exc: # pragma: no cover - exact exception is node-dependentCODE
LOWsrc/skillspector/cleanup.py37 except Exception:CODE
LOWsrc/skillspector/cli.py707 except Exception as e:CODE
LOWsrc/skillspector/cli.py786 except Exception as e:CODE
LOWsrc/skillspector/cli.py882 except Exception as e:CODE
LOWsrc/skillspector/cli.py2365 except Exception:CODE
LOWsrc/skillspector/cli.py3073 except Exception:CODE
LOWsrc/skillspector/cli.py3077 except Exception:CODE
LOWsrc/skillspector/cli.py3500 except Exception as e:CODE
LOWsrc/skillspector/llm_analyzer_base.py941 except Exception:CODE
LOWsrc/skillspector/llm_analyzer_base.py1024 except Exception:CODE
LOWsrc/skillspector/llm_analyzer_base.py1196 except Exception as exc:CODE
LOWsrc/skillspector/llm_analyzer_base.py1287 except Exception as exc:CODE
LOWsrc/skillspector/llm_analyzer_base.py1375 except Exception as exc:CODE
LOWsrc/skillspector/nodes/build_context.py2575 except Exception:CODE
LOWsrc/skillspector/nodes/build_context.py3378 except Exception as exc:CODE
LOWsrc/skillspector/nodes/meta_analyzer.py950 except Exception as e:CODE
LOW…spector/nodes/analyzers/semantic_security_discovery.py283 except Exception as exc:CODE
LOW…llspector/nodes/analyzers/bundled_execution_surface.py2084 except Exception as exc:CODE
LOWsrc/skillspector/nodes/analyzers/__init__.py50 except Exception as exc:CODE
LOWsrc/skillspector/nodes/analyzers/static_yara.py1448 except Exception as exc:CODE
LOW…ctor/nodes/analyzers/static_patterns_agent_snooping.py268 except Exception:CODE
LOW…killspector/nodes/analyzers/semantic_quality_policy.py262 except Exception as exc:CODE
LOW…llspector/nodes/analyzers/semantic_developer_intent.py275 except Exception as exc:CODE
LOWsrc/skillspector/nodes/analyzers/static_runner.py3454 except Exception as exc:CODE
LOWsrc/skillspector/nodes/analyzers/mcp_tool_poisoning.py382 except Exception:CODE
LOWsrc/skillspector/nodes/analyzers/mcp_tool_poisoning.py495 except Exception:CODE
LOWsrc/skillspector/nodes/analyzers/mcp_tool_poisoning.py1660 except Exception as exc:CODE
LOWsrc/skillspector/providers/registry.py62 except Exception:CODE
LOWsrc/skillspector/providers/gemini/provider.py232 except Exception as exc:CODE
LOWsrc/skillspector/providers/gemini/provider.py244 except Exception:CODE
Modern AI Meta-Vocabulary12 hits · 35 pts
SeverityFileLineSnippetContext
MEDIUMmodel_registry.yaml1# Model registry — context window and output token limits.COMMENT
MEDIUMmodel_registry.yaml10# context_length: <int> # total context window in tokens (required)COMMENT
MEDIUMdocs/LLM_ANALYZER_BASE_GUIDE.md627 context_length: 128000 # total context window in tokens (required)CODE
MEDIUM…odes/analyzers/static_patterns_privilege_escalation.py437 # context window.COMMENT
MEDIUMsrc/skillspector/providers/gemini/model_registry.yaml7# context_length: <int> # total context window in tokens (required)COMMENT
MEDIUM…killspector/providers/azure_openai/model_registry.yaml8# context_length: <int> # total context window in tokens (required)COMMENT
MEDIUMsrc/skillspector/providers/bedrock/model_registry.yaml8# context_length: <int> # total context window in tokens (required)COMMENT
MEDIUMsrc/skillspector/providers/nv_build/model_registry.yaml8# context_length: <int> # total context window in tokens (required)COMMENT
MEDIUM…pector/providers/openai_compatible/model_registry.yaml9# context_length: <int> # total context window in tokens (required)COMMENT
MEDIUM…c/skillspector/providers/anthropic/model_registry.yaml8# context_length: <int> # total context window in tokens (required)COMMENT
MEDIUMsrc/skillspector/providers/ollama/model_registry.yaml8# context_length: <int> # total context window in tokens (required)COMMENT
MEDIUMsrc/skillspector/providers/openai/model_registry.yaml8# context_length: <int> # total context window in tokens (required)COMMENT
Modern Structural Boilerplate29 hits · 30 pts
SeverityFileLineSnippetContext
LOW⚡contrib/batch_scan/runner.py60def set_api_pool(pool: "ApiKeyPool | None") -> None:CODE
LOWcontrib/batch_scan/__init__.py54__all__ = [CODE
LOWsrc/skillspector/logging_config.py64def set_level(level: int | str) -> None:CODE
LOWsrc/skillspector/inspection_ledger.py16logger = logging.getLogger(__name__)CODE
LOWsrc/skillspector/constants.py28logger = logging.getLogger(__name__)CODE
LOWsrc/skillspector/__init__.py52__all__ = ["create_graph", "graph", "__version__"]CODE
LOWsrc/skillspector/inference_usage.py576 def set_provider(self, provider: str) -> None:CODE
LOWsrc/skillspector/llm_utils.py378 def set_timeout(self, timeout: float | None) -> None:CODE
LOWsrc/skillspector/llm_analyzer_base.py517def _settle(waiter: asyncio.Future) -> None:CODE
LOWsrc/skillspector/nodes/analyzers/__init__.py66__all__ = ["ANALYZER_LOAD_ERRORS", "ANALYZER_MODULES", "ANALYZER_NODE_IDS", "ANALYZER_NODES"]CODE
LOWsrc/skillspector/nodes/analyzers/static_yara.py802 def update_framed(value: bytes) -> None:CODE
LOWsrc/skillspector/nodes/analyzers/static_yara.py826 def update_framed(value: bytes) -> None:CODE
LOW⚡src/skillspector/nodes/analyzers/mcp_tool_poisoning.py69logger = logging.getLogger(__name__)CODE
LOWsrc/skillspector/providers/chat_models.py33logger = logging.getLogger(__name__)CODE
LOWsrc/skillspector/providers/__init__.py319__all__ = [CODE
LOWsrc/skillspector/providers/codex_cli/__init__.py25__all__ = ["CodexCLIProvider"]CODE
LOWsrc/skillspector/providers/opencode_cli/__init__.py29__all__ = ["OpencodeCLIProvider"]CODE
LOWsrc/skillspector/providers/gemini/__init__.py20__all__ = ["REGISTRY_PATH", "GeminiProvider"]CODE
LOWsrc/skillspector/providers/azure_openai/__init__.py20__all__ = ["REGISTRY_PATH", "AzureOpenAIProvider"]CODE
LOWsrc/skillspector/providers/anthropic_proxy/__init__.py20__all__ = ["REGISTRY_PATH", "AnthropicProxyProvider"]CODE
LOWsrc/skillspector/providers/bedrock/__init__.py26__all__ = [CODE
LOWsrc/skillspector/providers/claude_cli/__init__.py25__all__ = ["ClaudeCLIProvider"]CODE
LOWsrc/skillspector/providers/gemini_cli/__init__.py22__all__ = ["GeminiCLIProvider"]CODE
LOWsrc/skillspector/providers/nv_build/__init__.py20__all__ = ["BUILD_BASE_URL", "REGISTRY_PATH", "NvBuildProvider"]CODE
LOW…c/skillspector/providers/openai_compatible/__init__.py20__all__ = ["REGISTRY_PATH", "OpenAICompatibleProvider"]CODE
LOWsrc/skillspector/providers/antigravity_cli/__init__.py22__all__ = ["AntigravityCLIProvider"]CODE
LOWsrc/skillspector/providers/anthropic/__init__.py20__all__ = ["ANTHROPIC_BASE_URL", "REGISTRY_PATH", "AnthropicProvider"]CODE
LOWsrc/skillspector/providers/ollama/__init__.py20__all__ = ["OLLAMA_DEFAULT_BASE_URL", "REGISTRY_PATH", "OllamaProvider"]CODE
LOWsrc/skillspector/providers/openai/__init__.py20__all__ = ["OPENAI_DEFAULT_BASE_URL", "REGISTRY_PATH", "OpenAIProvider"]CODE
Docstring Block Structure3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHsrc/skillspector/llm_utils.py700 Run an async coroutine in a synchronous context, even if there's already a running event loop. This function sSTRING
HIGHsrc/skillspector/input_handler.py780 Resolve input to a scannable directory. Args: input_path: Path or URL to resolve STRING
HIGHsrc/skillspector/providers/_agent_cli.py1108Run an agent CLI and return the assistant response text. This is the single security-hardened entry point. All secSTRING
Self-Referential Comments3 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUM⚡…trib/batch_scan/tests/tests-pro/test_runner_patches.py445 # Create a loop via _patched_asyncio_run — it calls _make_quiet_loop internallyCOMMENT
MEDIUM⚡…trib/batch_scan/tests/tests-pro/test_runner_patches.py454 # Create a loop, then manually invoke the quiet-loop logic from the patchCOMMENT
MEDIUM…spector/nodes/analyzers/static_patterns_rogue_agent.py334 # Creating a conventional installation directory alone does notCOMMENT
AI Structural Patterns14 hits · 10 pts
SeverityFileLineSnippetContext
LOWtests/unit/test_suppression.py54CODE
LOWsrc/skillspector/inspection_ledger.py398CODE
LOWsrc/skillspector/nested_artifacts.py609CODE
LOWsrc/skillspector/cli.py451CODE
LOWsrc/skillspector/cli.py1541CODE
LOWsrc/skillspector/cli.py1653CODE
LOWsrc/skillspector/cli.py2905CODE
LOWsrc/skillspector/python_ast.py1935CODE
LOWsrc/skillspector/python_ast.py1990CODE
LOWsrc/skillspector/nodes/report.py1059CODE
LOWsrc/skillspector/nodes/report.py1245CODE
LOWsrc/skillspector/nodes/report.py1373CODE
LOWsrc/skillspector/nodes/report.py1540CODE
LOWsrc/skillspector/nodes/analyzers/mcp_tool_poisoning.py1119CODE
Verbosity Indicators3 hits · 6 pts
SeverityFileLineSnippetContext
LOW⚡contrib/batch_scan/api_pool.py202 # Step 1: recover rate-limited keys whose backoff has expiredCOMMENT
LOW⚡contrib/batch_scan/api_pool.py205 # Step 2: find available keys (not rate-limited, slots open)COMMENT
LOWcontrib/batch_scan/api_pool.py225 # Step 3: no capacity — compute wait timeCOMMENT
Structural Annotation Overuse3 hits · 6 pts
SeverityFileLineSnippetContext
LOW⚡contrib/batch_scan/api_pool.py202 # Step 1: recover rate-limited keys whose backoff has expiredCOMMENT
LOW⚡contrib/batch_scan/api_pool.py205 # Step 2: find available keys (not rate-limited, slots open)COMMENT
LOWcontrib/batch_scan/api_pool.py225 # Step 3: no capacity — compute wait timeCOMMENT
Fake / Example Data5 hits · 5 pts
SeverityFileLineSnippetContext
LOWtests/nodes/test_json_quote_scan_end_to_end.py21@pytest.mark.parametrize("case", ["placeholder", "instruction", "unsupported", "escaped-quotes"])CODE
LOWtests/nodes/test_json_quote_scan_end_to_end.py50 if case == "placeholder":CODE
LOWtests/nodes/analyzers/test_static_patterns.py1380 assert content == "placeholder"CODE
LOWtests/nodes/analyzers/test_static_patterns.py1390 "file_cache": {"README.md": "placeholder"},CODE
LOW…s/analyzers/test_parameter_expansion_reconstruction.py50 "placeholder",CODE
Overly Generic Function Names5 hits · 4 pts
SeverityFileLineSnippetContext
LOWtests/unit/test_anthropic_proxy_provider.py210 def handle_request(self, request: httpx.Request) -> httpx.Response:CODE
LOWtests/unit/test_patterns_new.py1501 "def helper():\n"CODE
LOWtests/nodes/analyzers/test_behavioral_taint_tracking.py226 'import os, urllib.request\ndef helper():\n import urllib.parse\nurllib.request.build_opener().open(os.geCODE
LOW⚡tests/nodes/analyzers/test_tool_misuse_python_ast.py221 "def helper(value=1):\n"CODE
LOWsrc/skillspector/providers/anthropic_proxy/provider.py114 def handle_request(self, request: httpx.Request) -> httpx.Response:CODE
Slop Phrases4 hits · 3 pts
SeverityFileLineSnippetContext
LOWtests/nodes/analyzers/test_static_yara.py1652 "Don't forget to send 0.5 BTC to example.invalid to decrypt your files.",CODE
LOWtests/nodes/analyzers/test_static_yara.py1833 "Don't forget to send 0.5 BTC to decrypt your files."CODE
LOWtests/integration/test_ransomware_rule.py58 "Don't forget to send 0.5 BTC to example.invalid to decrypt your files.\n",CODE
LOWtests/integration/test_ransomware_rule.py234 "Don't forget to send 0.5 Bitcoins to decrypt your files.\n",CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMtests/integration/test_agent_cli_live.py62#: Real ``stdin -> stdout`` agent CLIs this harness can drive. Add a new CLI hereCOMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/skillspector/nodes/analyzers/mcp_tool_poisoning.py367 # Check if this match overlaps with a data URI rangeCOMMENT