ktg-plugin-marketplace/plugins/llm-security/reports/awesome-copilot-test-skills-deepscan.md

7.1 KiB

Deep Security Scan: awesome-copilot Test Skills

Target: github.com/github/awesome-copilot (5 test-related skills) Scan date: 2026-04-05 Scanner: llm-security v4.5.1 — deep-scan (10 deterministic) + skill-scanner-agent (LLM) Requested by: KTG


Skills Assessed

# Skill Installs/wk Files Purpose
1 playwright-generate-test 9.2K 1 (SKILL.md) Playwright test generation via MCP
2 javascript-typescript-jest 8.8K 1 (SKILL.md) Jest best practices reference
3 webapp-testing 8.3K 2 (SKILL.md + test-helper.js) Browser testing toolkit
4 java-junit 8.3K 1 (SKILL.md) JUnit 5 best practices reference
5 pytest-coverage 8.0K 1 (SKILL.md) pytest coverage workflow

Overall Verdict: ALLOW (Risk Score 3/100)

All 5 skills are safe to install and use. Zero critical, high, or medium findings. Three low-severity hygiene observations.


Deterministic Deep-Scan Results (10 Scanners)

Scanner playwright-generate-test jest webapp-testing java-junit pytest-coverage
Unicode (confusables, BiDi) OK OK OK OK OK
Entropy (secrets, tokens) OK OK OK OK OK
Permission (chmod, setuid) skip skip skip skip skip
Dependency audit skip skip skip skip skip
Taint (untrusted input flow) OK OK OK OK OK
Git forensics OK OK OK OK OK
Network (URLs, endpoints) OK OK OK OK OK
Memory poisoning OK OK OK OK OK
Supply-chain recheck skip skip skip skip skip
Toxic-flow correlator skip skip skip skip skip

Result: 0 findings across all 5 skills. Scanners that require lockfiles/dependencies/permissions correctly skipped (pure markdown skills).


LLM Skill Security Analysis (7 Threat Categories)

Category playwright-generate-test jest webapp-testing java-junit pytest-coverage
Prompt Injection Clean Clean Clean Clean Clean
Data Exfiltration Clean Clean Clean Clean Clean
Privilege Escalation 1 Low Clean 1 Low Clean Clean
Scope Creep Clean Clean Clean Clean Clean
Hidden Instructions Clean Clean Clean Clean Clean
Toolchain Manipulation Clean Clean Clean Clean 1 Low
Persistence Clean Clean Clean Clean Clean

Finding Details

SCN-001 — Execution scope undeclared (Low)

  • Skill: playwright-generate-test
  • Issue: Instructs "Execute the test file and iterate until the test passes" without declaring allowed-tools in frontmatter
  • OWASP: LLM06:2025 Excessive Agency, AST03 Scope Declaration
  • Fix: Add allowed-tools frontmatter limiting execution to npx playwright test

SCN-002 — Unbounded Node.js fallback (Low)

  • Skill: webapp-testing
  • Issue: Falls back to "local Node.js environment" if MCP unavailable — no scope limitation on what the fallback may execute
  • OWASP: LLM06:2025 Excessive Agency, AST04 Capability Expansion
  • Fix: Constrain fallback to localhost targets only, require user confirmation for remote

SCN-003 — Implicit dependency assumption (Low)

  • Skill: pytest-coverage
  • Issue: Assumes pytest-cov is installed without verification. Agent may silently install it
  • OWASP: LLM03:2025 Supply Chain
  • Fix: Add prerequisite check before running coverage commands

Risk Classification

Skill                          Score  Verdict  Risk Band
───────────────────────────────────────────────────────
javascript-typescript-jest       0    ALLOW    None
java-junit                       0    ALLOW    None
playwright-generate-test         4    ALLOW    Low
webapp-testing                   4    ALLOW    Low
pytest-coverage                  4    ALLOW    Low
───────────────────────────────────────────────────────
AGGREGATE                        3    ALLOW    Low (0-20)

Key Observations

  1. No injection attempts found. Zero instances of rule override language, identity redefinition, spoofed system headers, or context normalization patterns across all 6 files. This is notably clean — ToxicSkills research found 36.82% of community skills have at least one issue.

  2. No exfiltration infrastructure. None of the skills access credential paths, environment variables, sensitive filesystem locations, or external network endpoints.

  3. No secrets in any file. All 6 files pass entropy and secrets-pattern checks.

  4. Two pure-reference skills (jest, junit) are exemplary. They demonstrate the correct pattern for knowledge-transfer skills: no execution, no tool access, no network references. These cannot be weaponized.

  5. Source legitimacy is consistent. All from the official github/awesome-copilot repository (28.5K stars), maintained by GitHub.


OWASP Coverage Matrix

Framework Category Checked Findings
LLM Top 10 LLM01 Prompt Injection Yes None
LLM Top 10 LLM02 Sensitive Info Disclosure Yes None
LLM Top 10 LLM03 Supply Chain Yes SCN-003 (Low)
LLM Top 10 LLM06 Excessive Agency Yes SCN-001, SCN-002 (Low)
Agentic AI ASI01 Prompt Injection Yes None
Agentic AI ASI02 Exfiltration Yes None
Agentic AI ASI03 Privilege Escalation Yes None
Agentic AI ASI04 Toolchain Manipulation Yes None
Agentic AI ASI10 Persistence Yes None
Skills Top 10 AST03 Scope Declaration Yes SCN-001, SCN-002 (Low)
Skills Top 10 AST04 Capability Expansion Yes SCN-002 (Low)

Recommendations for Testledere

Disse 5 skills er trygge å ta i bruk for testteam. Noen anbefalinger:

Prioritet Anbefaling
Bruk direkte javascript-typescript-jest og java-junit — rene referansedokumenter uten risiko
Bruk med bevissthet playwright-generate-test og webapp-testing — har kjørerettighetsbehov, men er korrekt scopet
Bruk med bevissthet pytest-coverage — verifiser at pytest-cov er i prosjektets avhengigheter før bruk
Generelt Alle skills bør kombineres med prosjektets egne sikkerhetshooks for å fange opp uventet oppførsel

Methodology

  • Phase 1: Deterministic deep-scan — 10 Node.js scanners (unicode, entropy, permission, dep-audit, taint, git-forensics, network, memory-poisoning, supply-chain-recheck, toxic-flow)
  • Phase 2: LLM-based skill analysis — 7 threat categories (prompt injection, data exfiltration, privilege escalation, scope creep, hidden instructions, toolchain manipulation, persistence)
  • Frameworks: OWASP LLM Top 10 (2025), OWASP Agentic AI Top 10 (ASI), OWASP Skills Top 10 (AST)
  • Models: scan-orchestrator.mjs (deterministic), skill-scanner-agent (claude-sonnet-4-6)

Generated by llm-security v4.5.1