Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.
15 of your 72 findings came from Repobility's proprietary detections. ✓ Repobility tags below mark them.

Scan timing: clone 1.95s · analysis 4.58s · 1.4 MB · GitHub preflight 673ms

NVIDIA/SkillSpector

https://github.com/NVIDIA/SkillSpector.git · scanned 2026-06-18 08:45 UTC (1 day ago) · 10 languages

95 raw signals (60 security + 35 graph) 12th percentile · Python · small (2-20K LoC)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 1 day ago · v1 · 92 actionable findings from 2 signal sources. 3 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 85.0 0.15 12.75
security_score 50.1 0.25 12.53
testing_score 100.0 0.20 20.00
documentation_score 100.0 0.15 15.00
practices_score 52.0 0.15 7.80
code_quality 60.5 0.10 6.05
Overall 1.00 74.1
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

All 1276 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.

LabelLayerStatusPath
mock_resolve_context_length software healthy tests/conftest.py:25
safe_skill_dir software healthy tests/conftest.py:35
malicious_skill_dir software healthy tests/conftest.py:60
_infer_file_type software healthy tests/test_mcp_least_privilege.py:61
_parse_yaml_frontmatter software healthy tests/test_mcp_least_privilege.py:67
_make_state software healthy tests/test_mcp_least_privilege.py:84
test_wildcard_detected software healthy tests/test_mcp_least_privilege.py:175
test_underdeclared_detected software healthy tests/test_mcp_least_privilege.py:191
test_underdeclared_has_high_severity_for_lp1 software healthy tests/test_mcp_least_privilege.py:207
test_no_permissions_field software healthy tests/test_mcp_least_privilege.py:248
test_over_declared_detected software healthy tests/test_mcp_least_privilege.py:262
test_no_findings software healthy tests/test_mcp_least_privilege.py:280
test_no_manifest_skips software healthy tests/test_mcp_least_privilege.py:292
test_docs_only_skill_skips software healthy tests/test_mcp_least_privilege.py:304
test_permission_matching_case_insensitive software healthy tests/test_mcp_least_privilege.py:338
test_lp1_test_files_reduced_confidence software healthy tests/test_mcp_least_privilege.py:378
_infer_file_type software healthy tests/test_mcp_tool_poisoning.py:63
_parse_yaml_frontmatter software healthy tests/test_mcp_tool_poisoning.py:69
_make_state software healthy tests/test_mcp_tool_poisoning.py:86
test_html_comment software healthy tests/test_mcp_tool_poisoning.py:200
test_markdown_comment software healthy tests/test_mcp_tool_poisoning.py:218
test_zero_width_chars software healthy tests/test_mcp_tool_poisoning.py:233
test_base64_in_description software healthy tests/test_mcp_tool_poisoning.py:251
test_data_uri_in_metadata software healthy tests/test_mcp_tool_poisoning.py:272
test_instruction_keyword_in_comment software healthy tests/test_mcp_tool_poisoning.py:290
test_homoglyph_in_name software healthy tests/test_mcp_tool_poisoning.py:318
test_rtl_override software healthy tests/test_mcp_tool_poisoning.py:337
test_mixed_script software healthy tests/test_mcp_tool_poisoning.py:355
test_invisible_formatting_chars software healthy tests/test_mcp_tool_poisoning.py:376
test_injection_in_param_description software healthy tests/test_mcp_tool_poisoning.py:401
test_system_token_in_param software healthy tests/test_mcp_tool_poisoning.py:421
test_exfiltration_in_param_description software healthy tests/test_mcp_tool_poisoning.py:444
test_malicious_default_value software healthy tests/test_mcp_tool_poisoning.py:466
test_excessive_description_length software healthy tests/test_mcp_tool_poisoning.py:489
test_clean_fixture software healthy tests/test_mcp_tool_poisoning.py:524
test_tags_present software healthy tests/test_mcp_tool_poisoning.py:534
test_fixture_triggers_tp1_tp2_tp3 software healthy tests/test_mcp_tool_poisoning.py:552
test_mismatch_detected software healthy tests/test_mcp_tool_poisoning.py:579
test_no_mismatch_clean software healthy tests/test_mcp_tool_poisoning.py:586
test_skipped_no_llm software healthy tests/test_mcp_tool_poisoning.py:594
test_skipped_no_description software healthy tests/test_mcp_tool_poisoning.py:600
test_llm_call_failure_returns_empty software healthy tests/test_mcp_tool_poisoning.py:606
test_unparseable_response_returns_empty software healthy tests/test_mcp_tool_poisoning.py:618
test_full_pipeline_poisoned_skill software healthy tests/test_mcp_tool_poisoning.py:644
test_full_pipeline_clean_skill software healthy tests/test_mcp_tool_poisoning.py:662
test_sarif_output_contains_tp_rules software healthy tests/test_mcp_tool_poisoning.py:679
test_no_llm_mode_excludes_tp4 software healthy tests/test_mcp_tool_poisoning.py:700
_skip_without_env software healthy tests/provider/test_provider_endpoint.py:39
_model_from_env software healthy tests/provider/test_provider_endpoint.py:48
test_openai_provider_makes_live_structured_request software healthy tests/provider/test_provider_endpoint.py:52

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
TestLP2WildcardPermission software healthy tests/test_mcp_least_privilege.py:174
TestLP1UnderdeclaredCapability software healthy tests/test_mcp_least_privilege.py:190
TestLP3NoPermissions software healthy tests/test_mcp_least_privilege.py:247
TestLP4OverDeclared software healthy tests/test_mcp_least_privilege.py:261
TestCleanSkill software healthy tests/test_mcp_least_privilege.py:279
TestEdgeCases software healthy tests/test_mcp_least_privilege.py:291
TestTP1HiddenInstructions software healthy tests/test_mcp_tool_poisoning.py:199
TestTP2UnicodeDeception software healthy tests/test_mcp_tool_poisoning.py:317
TestTP3ParameterInjection software healthy tests/test_mcp_tool_poisoning.py:400
TestCrossCutting software healthy tests/test_mcp_tool_poisoning.py:523
TestTP4DescriptionBehaviorMismatch software healthy tests/test_mcp_tool_poisoning.py:578
TestTP4Fallbacks software healthy tests/test_mcp_tool_poisoning.py:593
TestFullPipelineIntegration software healthy tests/test_mcp_tool_poisoning.py:637
ProviderResult software healthy tests/provider/test_provider_endpoint.py:33
TestGraphScanSafeSkill software healthy tests/integration/test_graph_scanner.py:23
TestGraphScanMaliciousSkill software healthy tests/integration/test_graph_scanner.py:88
TestGraphRiskScoring software healthy tests/integration/test_graph_scanner.py:104
TestEstimateCvssSeverity software healthy tests/unit/test_osv_client.py:45
TestSeverityFromVuln software healthy tests/unit/test_osv_client.py:90
TestQueryBatch software healthy tests/unit/test_osv_client.py:121
TestLayer1NvidiaApi software healthy tests/unit/test_model_info.py:94
TestLayer2Registry software healthy tests/unit/test_model_info.py:171
TestFallback software healthy tests/unit/test_model_info.py:253
TestPublicApi software healthy tests/unit/test_model_info.py:285
TestExcessiveAgency software healthy tests/unit/test_patterns_new.py:75
TestOutputHandling software healthy tests/unit/test_patterns_new.py:205
TestSystemPromptLeakage software healthy tests/unit/test_patterns_new.py:294
TestMemoryPoisoning software healthy tests/unit/test_patterns_new.py:360
TestToolMisuse software healthy tests/unit/test_patterns_new.py:438
TestRogueAgent software healthy tests/unit/test_patterns_new.py:688
TestSupplyChainDependencies software healthy tests/unit/test_patterns_new.py:765
TestSupplyChainSafePatterns software healthy tests/unit/test_patterns_new.py:876
TestTriggerAnalysis software healthy tests/unit/test_patterns_new.py:928
TestSupplyChainHelpers software healthy tests/unit/test_patterns_new.py:992
TestNvBuildProvider software healthy tests/unit/test_providers.py:76
TestNvInferenceProvider software healthy tests/unit/test_providers.py:133
TestOpenAIProvider software healthy tests/unit/test_providers.py:193
TestAnthropicProvider software healthy tests/unit/test_providers.py:230
TestOpenAICompatibleConstructor software healthy tests/unit/test_providers.py:265
TestProviderSelection software healthy tests/unit/test_providers.py:290
TestPromptInjection software healthy tests/unit/test_patterns.py:36
TestDataExfiltration software healthy tests/unit/test_patterns.py:98
TestPrivilegeEscalation software healthy tests/unit/test_patterns.py:134
TestSupplyChain software healthy tests/unit/test_patterns.py:207
TestHarmfulContent software healthy tests/unit/test_patterns.py:250
TestCredentialResolution software healthy tests/unit/test_llm_utils.py:56
TestFetchModelTokenLimits software healthy tests/unit/test_llm_utils.py:116
TestChatCompletion software healthy tests/unit/test_llm_utils.py:125
_FakeLLM software healthy tests/unit/test_llm_utils.py:156
TestIsLlmAvailable software healthy tests/unit/test_llm_utils.py:164

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
model_registry.yaml software healthy model_registry.yaml
langgraph.json software healthy langgraph.json
README.md software healthy README.md
THIRD_PARTY_NOTICES.md software healthy THIRD_PARTY_NOTICES.md
CONTRIBUTING.md software healthy CONTRIBUTING.md
Dockerfile software healthy Dockerfile
.pre-commit-config.yaml software healthy .pre-commit-config.yaml
.env.example software healthy .env.example
pyproject.toml software healthy pyproject.toml
Makefile software healthy Makefile
LICENSE software healthy LICENSE
SECURITY.md software healthy SECURITY.md
__init__.py software healthy tests/__init__.py
conftest.py software healthy tests/conftest.py
test_mcp_least_privilege.py software healthy tests/test_mcp_least_privilege.py
test_mcp_tool_poisoning.py software healthy tests/test_mcp_tool_poisoning.py
smoke.sh software healthy tests/docker/smoke.sh
test_provider_endpoint.py software healthy tests/provider/test_provider_endpoint.py
__init__.py software healthy tests/provider/__init__.py
__init__.py software healthy tests/integration/__init__.py
conftest.py software healthy tests/integration/conftest.py
test_graph_scanner.py software healthy tests/integration/test_graph_scanner.py
test_graph.py software healthy tests/integration/test_graph.py
test_meta_analyzer_use_llm.py software healthy tests/integration/test_meta_analyzer_use_llm.py
test_sarif.py software healthy tests/unit/test_sarif.py
__init__.py software healthy tests/unit/__init__.py
test_osv_client.py software healthy tests/unit/test_osv_client.py
test_model_info.py software healthy tests/unit/test_model_info.py
test_patterns_new.py software healthy tests/unit/test_patterns_new.py
test_input_handler.py software healthy tests/unit/test_input_handler.py
test_cli.py software healthy tests/unit/test_cli.py
test_providers.py software healthy tests/unit/test_providers.py
test_patterns.py software healthy tests/unit/test_patterns.py
test_llm_utils.py software healthy tests/unit/test_llm_utils.py
SKILL.md software healthy tests/fixtures/malicious_skill/SKILL.md
helper.py software healthy tests/fixtures/malicious_skill/scripts/helper.py
SKILL.md software healthy tests/fixtures/ssd/ssd_clean/SKILL.md
SKILL.md software healthy tests/fixtures/ssd/ssd3_nl_exfiltration/SKILL.md
SKILL.md software healthy tests/fixtures/ssd/ssd4_narrative_deception/SKILL.md
SKILL.md software healthy tests/fixtures/ssd/ssd1_semantic_injection/SKILL.md
SKILL.md software healthy tests/fixtures/ssd/ssd2_novel_phrasing/SKILL.md
SKILL.md software healthy tests/fixtures/mcp_underdeclared_skill/SKILL.md
agent.py software healthy tests/fixtures/mcp_underdeclared_skill/scripts/agent.py
SKILL.md software healthy tests/fixtures/mcp_overprivileged_skill/SKILL.md
helper.py software healthy tests/fixtures/mcp_overprivileged_skill/scripts/helper.py
summarizer.py software healthy tests/fixtures/sdi/sdi1_mismatch/summarizer.py
SKILL.md software healthy tests/fixtures/sdi/sdi1_mismatch/SKILL.md
SKILL.md software healthy tests/fixtures/sdi/sdi2_inappropriate/SKILL.md
formatter.py software healthy tests/fixtures/sdi/sdi2_inappropriate/formatter.py
processor.py software healthy tests/fixtures/sdi/sdi4_divergence/processor.py

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
tests software healthy tests
docker software healthy tests/docker
provider software healthy tests/provider
integration software healthy tests/integration
unit software healthy tests/unit
fixtures software healthy tests/fixtures
malicious_skill software healthy tests/fixtures/malicious_skill
scripts software healthy tests/fixtures/malicious_skill/scripts
ssd software healthy tests/fixtures/ssd
ssd_clean software healthy tests/fixtures/ssd/ssd_clean
ssd3_nl_exfiltration software healthy tests/fixtures/ssd/ssd3_nl_exfiltration
ssd4_narrative_deception software healthy tests/fixtures/ssd/ssd4_narrative_deception
ssd1_semantic_injection software healthy tests/fixtures/ssd/ssd1_semantic_injection
ssd2_novel_phrasing software healthy tests/fixtures/ssd/ssd2_novel_phrasing
mcp_underdeclared_skill software healthy tests/fixtures/mcp_underdeclared_skill
scripts software healthy tests/fixtures/mcp_underdeclared_skill/scripts
mcp_overprivileged_skill software healthy tests/fixtures/mcp_overprivileged_skill
scripts software healthy tests/fixtures/mcp_overprivileged_skill/scripts
sdi software healthy tests/fixtures/sdi
sdi1_mismatch software healthy tests/fixtures/sdi/sdi1_mismatch
sdi2_inappropriate software healthy tests/fixtures/sdi/sdi2_inappropriate
sdi4_divergence software healthy tests/fixtures/sdi/sdi4_divergence
sdi3_scope_creep software healthy tests/fixtures/sdi/sdi3_scope_creep
sdi_clean software healthy tests/fixtures/sdi/sdi_clean
mcp_mismatched_skill software healthy tests/fixtures/mcp_mismatched_skill
scripts software healthy tests/fixtures/mcp_mismatched_skill/scripts
mcp_poisoned_tool software healthy tests/fixtures/mcp_poisoned_tool
scripts software healthy tests/fixtures/mcp_poisoned_tool/scripts
safe_skill software healthy tests/fixtures/safe_skill
sqp software healthy tests/fixtures/sqp
sqp1_clean software healthy tests/fixtures/sqp/sqp1_clean
sqp3_clean software healthy tests/fixtures/sqp/sqp3_clean
sqp1_vague_triggers software healthy tests/fixtures/sqp/sqp1_vague_triggers
sqp2_clean software healthy tests/fixtures/sqp/sqp2_clean
sqp3_locale_forcing software healthy tests/fixtures/sqp/sqp3_locale_forcing
sqp2_missing_warnings software healthy tests/fixtures/sqp/sqp2_missing_warnings
mcp_clean_skill software healthy tests/fixtures/mcp_clean_skill
scripts software healthy tests/fixtures/mcp_clean_skill/scripts
nodes software healthy tests/nodes
analyzers software healthy tests/nodes/analyzers
docs software healthy docs
plans software healthy docs/plans
src software healthy src
skillspector software healthy src/skillspector
providers software healthy src/skillspector/providers
openai software healthy src/skillspector/providers/openai
nv_build software healthy src/skillspector/providers/nv_build
anthropic software healthy src/skillspector/providers/anthropic
nodes software healthy src/skillspector/nodes
analyzers software healthy src/skillspector/nodes/analyzers

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
vps::azure hardware healthy model_registry.yaml
vps::aws hardware healthy tests/unit/test_patterns.py

LabelLayerStatusPath
repobility-clone-vs8t71bu software healthy /tmp/repobility-clone-vs8t71bu

LabelLayerStatusPath
redis data healthy src/skillspector/nodes/analyzers/static_patterns_supply_cha…

LabelLayerStatusPath
celery data healthy src/skillspector/nodes/analyzers/static_patterns_supply_cha…

LabelLayerStatusPath
nginx network healthy tests/unit/test_patterns_new.py

LabelLayerStatusPath
127.0.0.1 network healthy src/skillspector/nodes/analyzers/mcp_tool_poisoning.py

LabelLayerStatusPath
image::Dockerfile hardware healthy Dockerfile

LabelLayerStatusPath
gpu (detected) hardware healthy README.md

LabelLayerStatusPath
auth::src/skillspector/nodes/analyzers/static_patterns_supp… security healthy src/skillspector/nodes/analyzers/static_patterns_supply_cha…
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/5af0a74e-3409-4ffe-985d-4356097a0e01/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/5af0a74e-3409-4ffe-985d-4356097a0e01/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.