MCPcopy Create free account

hub / github.com/NVIDIA/SkillSpector / functions

Functions2,044 in github.com/NVIDIA/SkillSpector

↓ 1 callersFunction_analyze_python
(content: str, file_path: str)
src/skillspector/nodes/analyzers/behavioral_taint_tracking.py:320
↓ 1 callersFunction_analyze_python
(content: str, file_path: str)
src/skillspector/nodes/analyzers/behavioral_ast.py:151
↓ 1 callersFunction_analyze_triggers
Analyze the triggers field from SKILL.md manifest for abuse patterns.
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:854
↓ 1 callersFunction_assert_all_restored
Assert all 5 method references point to originals.
contrib/multilingual/tests/test_monkeypatch_fragility.py:535
↓ 1 callersMethod_augment
(self, prompt: str)
src/skillspector/llm_utils.py:170
↓ 1 callersFunction_build_component_metadata
Build component_metadata list and has_executable_scripts from paths.
src/skillspector/nodes/build_context.py:121
↓ 1 callersFunction_build_message
Build a human-readable finding message from YARA match metadata.
src/skillspector/nodes/analyzers/static_yara.py:191
↓ 1 callersFunction_build_metadata
Build the metadata section shared by all output formats.
src/skillspector/nodes/report.py:450
↓ 1 callersFunction_build_namespace_map
Build a {namespace: filepath} dict from rule files, deduplicating namespace names.
src/skillspector/nodes/analyzers/static_yara.py:85
↓ 1 callersFunction_build_query
(name: str, version: str | None, ecosystem: str)
src/skillspector/nodes/analyzers/osv_client.py:106
↓ 1 callersFunction_check_rp1
Detect unpinned MCP server command references in skill files.
src/skillspector/nodes/analyzers/mcp_rug_pull.py:116
↓ 1 callersFunction_check_rp2
Detect manifest permission patterns that suggest pre-staging for future abuse.
src/skillspector/nodes/analyzers/mcp_rug_pull.py:269
↓ 1 callersFunction_check_rp3
Detect when skill version is unpinned or uses broad constraints.
src/skillspector/nodes/analyzers/mcp_rug_pull.py:307
↓ 1 callersFunction_check_tp1
Detect hidden instructions in metadata text. Checks for: HTML comments, markdown comments, zero-width chars, base64 blobs, and data URIs.
src/skillspector/nodes/analyzers/mcp_tool_poisoning.py:148
↓ 1 callersFunction_check_tp2
Detect Unicode-based deception in metadata text.
src/skillspector/nodes/analyzers/mcp_tool_poisoning.py:344
↓ 1 callersFunction_check_tp3
Detect injection patterns in parameter definitions.
src/skillspector/nodes/analyzers/mcp_tool_poisoning.py:522
↓ 1 callersFunction_check_tp4
TP4: LLM-based description-behavior mismatch detection. Returns ``(findings, record)`` where *record* is the LLM-call telemetry for ``llm_cal
src/skillspector/nodes/analyzers/mcp_tool_poisoning.py:685
↓ 1 callersFunction_clamp
(value: float, lo: float = 0.0, hi: float = 1.0)
src/skillspector/nodes/analyzers/mcp_rug_pull.py:71
↓ 1 callersFunction_collect_rule_files
Collect all YARA rule files under one or more directories, sorted for determinism.
src/skillspector/nodes/analyzers/static_yara.py:61
↓ 1 callersFunction_compile_rules
Compile YARA rules from a namespace map. Falls back to per-file compilation on error. Returns (compiled_rules, skipped_count).
src/skillspector/nodes/analyzers/static_yara.py:96
↓ 1 callersFunction_content_hash
Hash over rule file paths and content for cache invalidation. Uses actual file content (not just size) so that edits which preserve file leng
src/skillspector/nodes/analyzers/static_yara.py:72
↓ 1 callersFunction_count_lines
Count lines in a file, handling binary and errors gracefully.
src/skillspector/nodes/build_context.py:111
↓ 1 callersFunction_cross_file_key
Build a cross-file deduplication key from rule_id and normalized matched_text.
src/skillspector/nodes/deduplicate.py:42
↓ 1 callersFunction_deduplicate_findings
Keep the highest-confidence finding per (file, line, rule_id).
src/skillspector/nodes/analyzers/static_patterns_anti_refusal.py:157
↓ 1 callersFunction_deduplicate_findings
(findings: list[AnalyzerFinding])
src/skillspector/nodes/analyzers/static_patterns_harmful_content.py:198
↓ 1 callersFunction_degr_finding
(rule_id: str = "P1", severity: str = "HIGH")
tests/nodes/test_meta_analyzer.py:240
↓ 1 callersFunction_detect_capabilities
Return set of capability categories found in *content*.
src/skillspector/nodes/analyzers/mcp_least_privilege.py:141
↓ 1 callersFunction_dynamic_import_target
Return the imported module name for an ``importlib.import_module('mod')`` call. Recognizes both ``importlib.import_module('os')`` and the bare-im
src/skillspector/nodes/analyzers/common.py:164
↓ 1 callersFunction_edit_distance
Compute Levenshtein edit distance between two strings.
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:275
↓ 1 callersFunction_ensure_utf8_streams
Reconfigure stdout/stderr to UTF-8 so Unicode report output does not crash. On Windows the default console encoding (e.g. cp1252) cannot encode t
src/skillspector/cli.py:45
↓ 1 callersMethod_estimate_extra_overhead
Token overhead beyond the base prompt (e.g. formatted findings). Override in subclasses that add findings text to the prompt.
src/skillspector/llm_analyzer_base.py:283
↓ 1 callersFunction_extract_match_strings
Extract the first match offset and a joined matched-text snippet from a YARA match.
src/skillspector/nodes/analyzers/static_yara.py:157
↓ 1 callersFunction_extract_metadata_texts
Extract (text, source_field, is_identifier) tuples from a manifest. Returns a list of: - (skill_name, "name", True) - (description, "
src/skillspector/nodes/analyzers/mcp_tool_poisoning.py:83
↓ 1 callersFunction_extract_packages_from_package_json
Extract (package_name, version_or_None, line_number) from package.json content.
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:419
↓ 1 callersFunction_extract_packages_from_pyproject
Extract (package_name, version_or_None, line_number) from pyproject.toml. Reads PEP 621 ``[project]`` ``dependencies`` / ``optional-dependencies`
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:441
↓ 1 callersFunction_extract_packages_from_requirements
Extract (package_name, version_or_None, line_number) from requirements.txt format.
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:404
↓ 1 callersMethod_extract_scp_host
Return the host from an scp-style Git URL, or None if not scp form.
src/skillspector/input_handler.py:164
↓ 1 callersFunction_extract_skill_name
Extract skill name from SKILL.md frontmatter, falling back to directory name.
src/skillspector/multi_skill.py:99
↓ 1 callersFunction_fetch_vuln_details
Fetch full vulnerability details for a list of IDs.
src/skillspector/nodes/analyzers/osv_client.py:200
↓ 1 callersFunction_find_nested_sources
Walk children to find source calls nested inside a sink call.
src/skillspector/nodes/analyzers/behavioral_taint_tracking.py:250
↓ 1 callersFunction_find_source_in_expr
Find a source call anywhere in an expression tree (handles chained calls). Handles patterns like ``open("f").read()``, ``requests.get(url).text``
src/skillspector/nodes/analyzers/behavioral_taint_tracking.py:228
↓ 1 callersFunction_find_tainted_in_expr
Return the first tainted variable referenced in *node*, or None. Handles Name references, container literals (dict, list, tuple, set), and f-
src/skillspector/nodes/analyzers/behavioral_taint_tracking.py:305
↓ 1 callersFunction_find_tainted_names_in_args
Find references to tainted variables in a call's arguments and keywords.
src/skillspector/nodes/analyzers/behavioral_taint_tracking.py:268
↓ 1 callersFunction_first_smuggled_tag_offset
Return the char offset of the first Unicode Tag character that is *not* part of a well-formed emoji tag sequence, or ``None`` if there is none.
src/skillspector/nodes/analyzers/static_patterns_prompt_injection.py:145
↓ 1 callersFunction_format_json
Generate JSON report string.
src/skillspector/nodes/report.py:538
↓ 1 callersFunction_format_markdown
Generate Markdown report string.
src/skillspector/nodes/report.py:586
↓ 1 callersFunction_format_metadata
Format manifest for the LLM prompt.
src/skillspector/nodes/meta_analyzer.py:186
↓ 1 callersFunction_format_terminal
Generate Rich terminal output and export as string.
src/skillspector/nodes/report.py:308
↓ 1 callersFunction_format_terminal_plain
(results: list[dict[str, object]])
contrib/multilingual/reports.py:229
↓ 1 callersFunction_format_vuln_ids
Build a human-readable summary string from OSV results.
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:645
↓ 1 callersFunction_get_cached
(key: tuple[str, str | None, str])
src/skillspector/nodes/analyzers/osv_client.py:81
↓ 1 callersFunction_get_script_prefix
Get the Unicode script prefix from a character's name. Uses unicodedata.name() to get script information. Returns a short script label (e.g.
src/skillspector/nodes/analyzers/mcp_tool_poisoning.py:314
↓ 1 callersFunction_infer_file_type
Infer file type from path (extension).
src/skillspector/nodes/build_context.py:104
↓ 1 callersFunction_infer_file_type
Infer file type from path (extension).
src/skillspector/nodes/analyzers/static_runner.py:64
↓ 1 callersFunction_infer_file_type
(path: str)
tests/test_mcp_least_privilege.py:61
↓ 1 callersFunction_infer_file_type
(path: str)
tests/test_mcp_tool_poisoning.py:63
↓ 1 callersMethod_invoke_with_retry
Sync retry loop — acquire slot, call LLM, release, retry on 429.
contrib/multilingual/api_pool.py:443
↓ 1 callersFunction_is_educational_context
(context: str)
src/skillspector/nodes/analyzers/static_patterns_harmful_content.py:157
↓ 1 callersFunction_is_eval_dataset
Return True for authored eval datasets that contain test-case prose.
src/skillspector/nodes/analyzers/static_runner.py:163
↓ 1 callersMethod_is_file_url
Check if path is a direct file URL.
src/skillspector/input_handler.py:158
↓ 1 callersFunction_is_instructional_context
(content: str, match_start: int)
src/skillspector/nodes/analyzers/static_patterns_harmful_content.py:136
↓ 1 callersFunction_is_safe_container_command
Return True for standard Docker/Podman commands that are not parameter abuse.
src/skillspector/nodes/analyzers/static_patterns_tool_misuse.py:190
↓ 1 callersFunction_is_safe_supply_chain_pattern
Return True when the matched text is a known-safe install or fetch pattern.
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:614
↓ 1 callersFunction_is_test_file
Return True if *path* looks like a test file (test_* or *_test.*).
src/skillspector/nodes/analyzers/mcp_least_privilege.py:121
↓ 1 callersFunction_is_trusted_source
(text: str)
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:602
↓ 1 callersFunction_is_typosquat
Return the popular package name if pkg_name is a close-but-not-exact match.
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:291
↓ 1 callersFunction_is_warning_context
(context: str)
src/skillspector/nodes/analyzers/static_patterns_harmful_content.py:182
↓ 1 callersFunction_load_rules
Compile YARA rules from built-in and optional user-supplied directories. Results are cached at module level and reused if directory contents have
src/skillspector/nodes/analyzers/static_yara.py:121
↓ 1 callersFunction_lr_icon
Language Reliability indicator for the LR column.
contrib/multilingual/reports.py:173
↓ 1 callersFunction_main_impl
Body of main(), wrapped by deepseek_compat context manager.
contrib/multilingual/batch_scan.py:192
↓ 1 callersFunction_make_pooled_model
(pool: ApiKeyPool)
contrib/multilingual/tests/tests-pro/test_api_pool.py:62
↓ 1 callersFunction_map_allowed_tools_to_categories
Map Agent Skills ``allowed-tools`` tool names to capability category names.
src/skillspector/nodes/analyzers/mcp_least_privilege.py:184
↓ 1 callersFunction_map_permissions_to_categories
Map declared permission strings to capability category names.
src/skillspector/nodes/analyzers/mcp_least_privilege.py:152
↓ 1 callersFunction_mark_targets
( targets: list[ast.expr], tainted: dict[str, _TaintedVar], src_name: str, lineno: int, )
src/skillspector/nodes/analyzers/behavioral_taint_tracking.py:290
↓ 1 callersFunction_match_file
Run compiled YARA rules against *content* and return AnalyzerFindings.
src/skillspector/nodes/analyzers/static_yara.py:201
↓ 1 callersFunction_normalize_allowed_tools
Coerce a manifest ``allowed-tools`` value into a list of tool names. Accepts the list form (``[Bash, Read]``) and the comma-separated string
src/skillspector/nodes/analyzers/mcp_least_privilege.py:128
↓ 1 callersFunction_osv_severity_to_app
(sev: str)
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:634
↓ 1 callersFunction_parse_meta
Extract rule_id, severity, confidence, and description from a YARA match's meta.
src/skillspector/nodes/analyzers/static_yara.py:172
↓ 1 callersFunction_parse_vuln
(vuln: dict)
src/skillspector/nodes/analyzers/osv_client.py:190
↓ 1 callersFunction_parse_yaml_frontmatter
Parse YAML frontmatter from SKILL.md content. Returns raw dict (no normalization).
tests/test_mcp_least_privilege.py:67
↓ 1 callersFunction_parse_yaml_frontmatter
Parse YAML frontmatter from SKILL.md content.
tests/test_mcp_tool_poisoning.py:69
↓ 1 callersFunction_print_language_breakdown
(c, results: list[dict[str, object]])
contrib/multilingual/reports.py:206
↓ 1 callersFunction_print_source_breakdown
(c, results: list[dict[str, object]])
contrib/multilingual/reports.py:180
↓ 1 callersFunction_read_file_cache
Build file_cache: relative path -> file contents. Uses utf-8 with replace for errors.
src/skillspector/nodes/build_context.py:154
↓ 1 callersFunction_resolve_default_chat_model
Return the default chat model for the endpoint that will be used.
src/skillspector/llm_utils.py:72
↓ 1 callersFunction_resolve_language
Determine the language for a skill directory. When *cli_lang* is ``"auto"``, reads files and runs heuristic detection. Otherwise returns *cl
contrib/multilingual/batch_scan.py:115
↓ 1 callersFunction_resolve_openai_project_headers
()
src/skillspector/providers/openai/provider.py:39
↓ 1 callersFunction_resolve_sink_name
Resolve a call to its canonical sink name, including dynamic-import chains. Wraps :func:`resolve_call_name_typed` (type-/alias-aware resolution)
src/skillspector/nodes/analyzers/behavioral_taint_tracking.py:174
↓ 1 callersFunction_resolve_skill_dir
Resolve state skill_path to an existing directory Path.
src/skillspector/nodes/build_context.py:64
↓ 1 callersFunction_resolve_slot_model
Resolve the model for *slot* with per-slot env var override support. Precedence: ``SKILLSPECTOR_MODEL_{SLOT}`` env var > provider ``resolve_m
src/skillspector/constants.py:53
↓ 1 callersFunction_same_file_key
Build a deduplication key for same-file matches.
src/skillspector/nodes/deduplicate.py:36
↓ 1 callersFunction_sc4_from_fallback
Emit SC4 findings from the static fallback list (offline mode).
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:711
↓ 1 callersFunction_sc4_from_osv
Query OSV.dev and emit SC4 findings for vulnerable packages. Returns: A tuple of (findings, covered_packages) where *covered_packages* is
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:661
↓ 1 callersFunction_ssl_verify
Return the SSL verification setting from ``SKILLSPECTOR_SSL_VERIFY``.
src/skillspector/providers/anthropic_proxy/provider.py:146
↓ 1 callersFunction_validate_model_config
Warn about models not found in the provider's model registry. When ``SKILLSPECTOR_STRICT_MODEL_VALIDATION=true``, raises ``ValueError`` inste
src/skillspector/constants.py:70
↓ 1 callersFunction_version_lt
Simple version comparison: True if v1 < v2 (numeric tuple comparison).
src/skillspector/nodes/analyzers/static_patterns_supply_chain.py:489
↓ 1 callersFunction_walk_skill_files
Walk skill directory and return sorted relative path strings. Skips _SKIP_DIRS and hidden files except those starting with .claude.
src/skillspector/nodes/build_context.py:78
↓ 1 callersFunction_write_result
Write report_body to file or stdout. Uses sarif_report if report_body missing.
src/skillspector/cli.py:149
↓ 1 callersMethodainvoke
Async invoke with automatic key switching on rate-limit.
contrib/multilingual/api_pool.py:437
↓ 1 callersFunctionbuildScanArgs
(params: SkillSpectorScanParams, cwd: string)
extensions/skillspector.ts:66
← previousnext →301–400 of 2,044, ranked by callers