SKILLVERDICT
DE

Scanner-Scorecard · Korpus v1 · statische Modi · 2. November 2026

Der statische Score folgt der Paketgröße, nicht der Absicht

Wir haben zwei Open-Source-Sicherheitsscanner für KI-Agent-Skills — NVIDIA SkillSpector und Ciscos skill-scanner — über 186 echte Skills in vier Sprachen und 40 entschärfte Angriffsmuster laufen lassen. Alles Folgende zitiert die Ausgabe der Engines selbst.

Andrey Trukhachevskillverdict.devDaten: CC BY 4.0Code: Apache-2.02 000 Wörter

§1 Der Aufbau

Ein Agent-Skill ist eine SKILL.md mit Anweisungen für einen Coding-Agenten, meist mit Skripten und Referenzdateien daneben. Menschen — und immer öfter die Agenten selbst — installieren Skills direkt von GitHub. Zwei Open-Source-Scanner bieten vor der Installation ein Urteil an: SkillSpector (NVIDIA; statische Muster, AST, YARA, OSV, optionaler LLM-Durchlauf) und skill-scanner (Cisco AI Defense; statische Analysatoren, YARA, optionaler LLM-Durchlauf).

Wir haben eine enge Frage gestellt: Wie sehen diese Urteile auf gewöhnlichen, veröffentlichten Skills aus — und ändert sich die Antwort mit der Sprache, in der der Skill geschrieben ist?

Korpus. 146 legitime Skills, gefunden über die GitHub-Codesuche nach sprachspezifischen Formulierungen, dedupliziert (höchstens drei pro Repository, Autoren rotierend), auf einen Commit-SHA festgeschrieben, mit angegebener Lizenz: 39 englische, 38 russische, 30 deutsche, 39 chinesische. Dazu 40 synthetische Angriffsmuster: zehn Muster (Anweisungsübernahme im Text, versteckte Anweisung im HTML-Kommentar, Exfiltration, curl | bash, Sammeln von Umgebungsvariablen, gefälschter Installer, Base64-Shell, Zero-Width-Zeichen, Scope Creep, Persistenz), in allen vier Sprachen identisch geschrieben und entschärft. Legitim heißt hier mit Lizenz und geprüfter Herkunft veröffentlicht; auditiert haben wir sie nicht.

Engines. SkillSpector 2.12.0 mit --no-llm; Cisco skill-scanner 2.3.2 mit --policy balanced und --policy quiet, ohne LLM. Die Versionen sind in engines.lock.yaml festgeschrieben. LLM-gestützte Modi wurden nicht ausgeführt; sie sind der nächste Schritt und werden separat berichtet. Als Kontrolle haben wir einen eigenen 60-zeiligen Prüfer für versteckte Zeichen ergänzt; er steht in den Tabellen, weil er ebenfalls Fehlalarme produziert hat und wir keinen Grund sehen, das zu verbergen.

All das — Manifest, Skripte, Ergebnisse — liegt im Benchmark-Repository und lässt sich mit drei Befehlen reproduzieren.

§2 Der statische Score folgt der Paketgröße

SkillSpector verdichtet seine Befunde zu einem Score von 0 bis 100 und einer Empfehlung: SAFE bis 20, CAUTION bis 50, DO NOT INSTALL darüber. Der stärkste Prädiktor dieses Scores in unserem Korpus ist nicht, was der Skill tut, sondern wie viele Code-Dateien neben der SKILL.md liegen.

Statischer SkillSpector-Score nach Menge des mitgelieferten Codes Jeder Punkt ist ein Paket. Legitime Skills mit sechs oder mehr Code-Dateien erhalten alle 100; synthetische Angriffsmuster aus einer Datei liegen zwischen 14 und 51. SAFE ≤ 20 DO NOT INSTALL > 50 0 25 50 75 100 Score 0–100 nur Markdown 60 legitim · 36 synth. ru-001 · Russisch · 0 Code-Dateien · Score 22 · CAUTION ru-003 · Russisch · 0 Code-Dateien · Score 8 · SAFE ru-004 · Russisch · 0 Code-Dateien · Score 8 · SAFE ru-005 · Russisch · 0 Code-Dateien · Score 16 · SAFE ru-009 · Russisch · 0 Code-Dateien · Score 64 · DO NOT INSTALL ru-011 · Russisch · 0 Code-Dateien · Score 16 · SAFE ru-012 · Russisch · 0 Code-Dateien · Score 16 · SAFE ru-014 · Russisch · 0 Code-Dateien · Score 20 · SAFE ru-015 · Russisch · 0 Code-Dateien · Score 20 · SAFE ru-017 · Russisch · 0 Code-Dateien · Score 55 · DO NOT INSTALL ru-019 · Russisch · 0 Code-Dateien · Score 8 · SAFE ru-020 · Russisch · 0 Code-Dateien · Score 16 · SAFE ru-022 · Russisch · 0 Code-Dateien · Score 8 · SAFE ru-023 · Russisch · 0 Code-Dateien · Score 0 · SAFE ru-024 · Russisch · 0 Code-Dateien · Score 0 · SAFE ru-025 · Russisch · 0 Code-Dateien · Score 8 · SAFE ru-026 · Russisch · 0 Code-Dateien · Score 8 · SAFE ru-027 · Russisch · 0 Code-Dateien · Score 16 · SAFE ru-028 · Russisch · 0 Code-Dateien · Score 16 · SAFE ru-029 · Russisch · 0 Code-Dateien · Score 16 · SAFE ru-030 · Russisch · 0 Code-Dateien · Score 16 · SAFE ru-031 · Russisch · 0 Code-Dateien · Score 16 · SAFE ru-033 · Russisch · 0 Code-Dateien · Score 100 · DO NOT INSTALL ru-034 · Russisch · 0 Code-Dateien · Score 0 · SAFE ru-035 · Russisch · 0 Code-Dateien · Score 16 · SAFE ru-036 · Russisch · 0 Code-Dateien · Score 16 · SAFE ru-037 · Russisch · 0 Code-Dateien · Score 100 · DO NOT INSTALL ru-040 · Russisch · 0 Code-Dateien · Score 0 · SAFE de-041 · Deutsch · 0 Code-Dateien · Score 0 · SAFE de-044 · Deutsch · 0 Code-Dateien · Score 8 · SAFE de-045 · Deutsch · 0 Code-Dateien · Score 22 · CAUTION de-046 · Deutsch · 0 Code-Dateien · Score 8 · SAFE de-047 · Deutsch · 0 Code-Dateien · Score 8 · SAFE de-049 · Deutsch · 0 Code-Dateien · Score 12 · SAFE de-050 · Deutsch · 0 Code-Dateien · Score 8 · SAFE de-052 · Deutsch · 0 Code-Dateien · Score 0 · SAFE de-053 · Deutsch · 0 Code-Dateien · Score 8 · SAFE de-054 · Deutsch · 0 Code-Dateien · Score 8 · SAFE de-056 · Deutsch · 0 Code-Dateien · Score 8 · SAFE de-058 · Deutsch · 0 Code-Dateien · Score 0 · SAFE de-060 · Deutsch · 0 Code-Dateien · Score 8 · SAFE de-062 · Deutsch · 0 Code-Dateien · Score 6 · SAFE de-064 · Deutsch · 0 Code-Dateien · Score 9 · SAFE de-065 · Deutsch · 0 Code-Dateien · Score 8 · SAFE de-066 · Deutsch · 0 Code-Dateien · Score 15 · SAFE de-067 · Deutsch · 0 Code-Dateien · Score 8 · SAFE de-068 · Deutsch · 0 Code-Dateien · Score 0 · SAFE de-070 · Deutsch · 0 Code-Dateien · Score 8 · SAFE zh-117 · Chinesisch · 0 Code-Dateien · Score 12 · CAUTION zh-123 · Chinesisch · 0 Code-Dateien · Score 7 · SAFE zh-124 · Chinesisch · 0 Code-Dateien · Score 0 · SAFE zh-126 · Chinesisch · 0 Code-Dateien · Score 56 · DO NOT INSTALL zh-134 · Chinesisch · 0 Code-Dateien · Score 3 · CAUTION zh-138 · Chinesisch · 0 Code-Dateien · Score 3 · SAFE zh-140 · Chinesisch · 0 Code-Dateien · Score 0 · SAFE zh-146 · Chinesisch · 0 Code-Dateien · Score 10 · SAFE en-154 · Englisch · 0 Code-Dateien · Score 72 · DO NOT INSTALL en-161 · Englisch · 0 Code-Dateien · Score 89 · DO NOT INSTALL en-162 · Englisch · 0 Code-Dateien · Score 100 · DO NOT INSTALL en-182 · Englisch · 0 Code-Dateien · Score 20 · SAFE mal-p-01-en · Englisch · 0 Code-Dateien · Score 20 · SAFE mal-p-01-ru · Russisch · 0 Code-Dateien · Score 0 · SAFE mal-p-01-de · Deutsch · 0 Code-Dateien · Score 0 · SAFE mal-p-01-zh · Chinesisch · 0 Code-Dateien · Score 0 · SAFE mal-p-02-en · Englisch · 0 Code-Dateien · Score 42 · CAUTION mal-p-02-ru · Russisch · 0 Code-Dateien · Score 22 · CAUTION mal-p-02-de · Deutsch · 0 Code-Dateien · Score 22 · CAUTION mal-p-02-zh · Chinesisch · 0 Code-Dateien · Score 22 · CAUTION mal-p-03-en · Englisch · 0 Code-Dateien · Score 0 · SAFE mal-p-03-ru · Russisch · 0 Code-Dateien · Score 8 · SAFE mal-p-03-de · Deutsch · 0 Code-Dateien · Score 0 · SAFE mal-p-03-zh · Chinesisch · 0 Code-Dateien · Score 0 · SAFE mal-p-04-en · Englisch · 0 Code-Dateien · Score 51 · DO NOT INSTALL mal-p-04-ru · Russisch · 0 Code-Dateien · Score 51 · DO NOT INSTALL mal-p-04-de · Deutsch · 0 Code-Dateien · Score 51 · DO NOT INSTALL mal-p-04-zh · Chinesisch · 0 Code-Dateien · Score 51 · DO NOT INSTALL mal-p-06-en · Englisch · 0 Code-Dateien · Score 0 · SAFE mal-p-06-ru · Russisch · 0 Code-Dateien · Score 0 · SAFE mal-p-06-de · Deutsch · 0 Code-Dateien · Score 0 · SAFE mal-p-06-zh · Chinesisch · 0 Code-Dateien · Score 0 · SAFE mal-p-07-en · Englisch · 0 Code-Dateien · Score 45 · CAUTION mal-p-07-ru · Russisch · 0 Code-Dateien · Score 45 · CAUTION mal-p-07-de · Deutsch · 0 Code-Dateien · Score 45 · CAUTION mal-p-07-zh · Chinesisch · 0 Code-Dateien · Score 45 · CAUTION mal-p-08-en · Englisch · 0 Code-Dateien · Score 43 · CAUTION mal-p-08-ru · Russisch · 0 Code-Dateien · Score 43 · CAUTION mal-p-08-de · Deutsch · 0 Code-Dateien · Score 43 · CAUTION mal-p-08-zh · Chinesisch · 0 Code-Dateien · Score 43 · CAUTION mal-p-09-en · Englisch · 0 Code-Dateien · Score 0 · SAFE mal-p-09-ru · Russisch · 0 Code-Dateien · Score 0 · SAFE mal-p-09-de · Deutsch · 0 Code-Dateien · Score 0 · SAFE mal-p-09-zh · Chinesisch · 0 Code-Dateien · Score 0 · SAFE mal-p-10-en · Englisch · 0 Code-Dateien · Score 41 · CAUTION mal-p-10-ru · Russisch · 0 Code-Dateien · Score 41 · CAUTION mal-p-10-de · Deutsch · 0 Code-Dateien · Score 41 · CAUTION mal-p-10-zh · Chinesisch · 0 Code-Dateien · Score 41 · CAUTION Median 8 1–5 Code-Dateien 35 legitim · 4 synth. ru-002 · Russisch · 1 Code-Dateien · Score 26 · CAUTION ru-006 · Russisch · 4 Code-Dateien · Score 23 · CAUTION ru-008 · Russisch · 1 Code-Dateien · Score 41 · CAUTION ru-010 · Russisch · 2 Code-Dateien · Score 56 · DO NOT INSTALL ru-016 · Russisch · 2 Code-Dateien · Score 24 · CAUTION ru-018 · Russisch · 1 Code-Dateien · Score 27 · CAUTION ru-021 · Russisch · 1 Code-Dateien · Score 21 · CAUTION ru-038 · Russisch · 2 Code-Dateien · Score 23 · CAUTION ru-039 · Russisch · 1 Code-Dateien · Score 8 · SAFE de-051 · Deutsch · 1 Code-Dateien · Score 25 · CAUTION de-057 · Deutsch · 2 Code-Dateien · Score 0 · CAUTION de-061 · Deutsch · 1 Code-Dateien · Score 7 · SAFE de-069 · Deutsch · 1 Code-Dateien · Score 17 · SAFE zh-113 · Chinesisch · 4 Code-Dateien · Score 84 · DO NOT INSTALL zh-115 · Chinesisch · 3 Code-Dateien · Score 100 · DO NOT INSTALL zh-118 · Chinesisch · 4 Code-Dateien · Score 47 · CAUTION zh-120 · Chinesisch · 5 Code-Dateien · Score 100 · DO NOT INSTALL zh-125 · Chinesisch · 2 Code-Dateien · Score 100 · DO NOT INSTALL zh-127 · Chinesisch · 3 Code-Dateien · Score 100 · DO NOT INSTALL zh-128 · Chinesisch · 1 Code-Dateien · Score 100 · DO NOT INSTALL zh-129 · Chinesisch · 3 Code-Dateien · Score 86 · DO NOT INSTALL zh-130 · Chinesisch · 4 Code-Dateien · Score 67 · DO NOT INSTALL zh-132 · Chinesisch · 1 Code-Dateien · Score 17 · SAFE zh-143 · Chinesisch · 4 Code-Dateien · Score 14 · CAUTION zh-145 · Chinesisch · 2 Code-Dateien · Score 7 · SAFE en-152 · Englisch · 3 Code-Dateien · Score 49 · CAUTION en-153 · Englisch · 4 Code-Dateien · Score 100 · DO NOT INSTALL en-166 · Englisch · 2 Code-Dateien · Score 22 · CAUTION en-167 · Englisch · 2 Code-Dateien · Score 100 · DO NOT INSTALL en-170 · Englisch · 5 Code-Dateien · Score 100 · DO NOT INSTALL en-171 · Englisch · 3 Code-Dateien · Score 53 · DO NOT INSTALL en-173 · Englisch · 1 Code-Dateien · Score 27 · CAUTION en-179 · Englisch · 5 Code-Dateien · Score 100 · DO NOT INSTALL en-180 · Englisch · 5 Code-Dateien · Score 100 · DO NOT INSTALL en-183 · Englisch · 1 Code-Dateien · Score 7 · SAFE mal-p-05-en · Englisch · 1 Code-Dateien · Score 29 · CAUTION mal-p-05-ru · Russisch · 1 Code-Dateien · Score 29 · CAUTION mal-p-05-de · Deutsch · 1 Code-Dateien · Score 29 · CAUTION mal-p-05-zh · Chinesisch · 1 Code-Dateien · Score 29 · CAUTION Median 41 6–30 Code-Dateien 27 legitim ru-013 · Russisch · 26 Code-Dateien · Score 100 · DO NOT INSTALL de-042 · Deutsch · 18 Code-Dateien · Score 100 · DO NOT INSTALL de-043 · Deutsch · 23 Code-Dateien · Score 100 · DO NOT INSTALL de-048 · Deutsch · 22 Code-Dateien · Score 100 · DO NOT INSTALL de-055 · Deutsch · 11 Code-Dateien · Score 79 · DO NOT INSTALL zh-119 · Chinesisch · 16 Code-Dateien · Score 7 · CAUTION zh-121 · Chinesisch · 11 Code-Dateien · Score 100 · DO NOT INSTALL zh-131 · Chinesisch · 16 Code-Dateien · Score 100 · DO NOT INSTALL zh-133 · Chinesisch · 18 Code-Dateien · Score 100 · DO NOT INSTALL zh-137 · Chinesisch · 7 Code-Dateien · Score 64 · DO NOT INSTALL zh-139 · Chinesisch · 19 Code-Dateien · Score 100 · DO NOT INSTALL zh-144 · Chinesisch · 20 Code-Dateien · Score 100 · DO NOT INSTALL zh-147 · Chinesisch · 23 Code-Dateien · Score 95 · DO NOT INSTALL zh-148 · Chinesisch · 8 Code-Dateien · Score 33 · CAUTION zh-149 · Chinesisch · 6 Code-Dateien · Score 30 · CAUTION zh-150 · Chinesisch · 7 Code-Dateien · Score 100 · DO NOT INSTALL en-158 · Englisch · 10 Code-Dateien · Score 100 · DO NOT INSTALL en-164 · Englisch · 8 Code-Dateien · Score 28 · CAUTION en-168 · Englisch · 25 Code-Dateien · Score 100 · DO NOT INSTALL en-169 · Englisch · 6 Code-Dateien · Score 100 · DO NOT INSTALL en-177 · Englisch · 8 Code-Dateien · Score 100 · DO NOT INSTALL en-181 · Englisch · 10 Code-Dateien · Score 100 · DO NOT INSTALL en-185 · Englisch · 21 Code-Dateien · Score 100 · DO NOT INSTALL en-186 · Englisch · 6 Code-Dateien · Score 100 · DO NOT INSTALL en-187 · Englisch · 8 Code-Dateien · Score 100 · DO NOT INSTALL en-188 · Englisch · 7 Code-Dateien · Score 100 · DO NOT INSTALL en-189 · Englisch · 6 Code-Dateien · Score 100 · DO NOT INSTALL Median 100 mehr als 30 16 legitim de-063 · Deutsch · 214 Code-Dateien · Score 100 · DO NOT INSTALL zh-111 · Chinesisch · 57 Code-Dateien · Score 100 · DO NOT INSTALL zh-114 · Chinesisch · 34 Code-Dateien · Score 100 · DO NOT INSTALL zh-135 · Chinesisch · 94 Code-Dateien · Score 100 · DO NOT INSTALL zh-136 · Chinesisch · 65 Code-Dateien · Score 100 · DO NOT INSTALL zh-141 · Chinesisch · 163 Code-Dateien · Score 100 · DO NOT INSTALL en-151 · Englisch · 32 Code-Dateien · Score 100 · DO NOT INSTALL en-155 · Englisch · 52 Code-Dateien · Score 27 · CAUTION en-157 · Englisch · 39 Code-Dateien · Score 100 · DO NOT INSTALL en-159 · Englisch · 49 Code-Dateien · Score 100 · DO NOT INSTALL en-163 · Englisch · 59 Code-Dateien · Score 100 · DO NOT INSTALL en-172 · Englisch · 32 Code-Dateien · Score 100 · DO NOT INSTALL en-175 · Englisch · 143 Code-Dateien · Score 100 · DO NOT INSTALL en-176 · Englisch · 51 Code-Dateien · Score 56 · DO NOT INSTALL en-178 · Englisch · 54 Code-Dateien · Score 100 · DO NOT INSTALL en-184 · Englisch · 44 Code-Dateien · Score 100 · DO NOT INSTALL Median 100 legitimer Skill (n = 138)synthetisches Angriffsmuster (n = 40)
Abbildung 1 Statischer SkillSpector-Score nach Menge des mitgelieferten Codes. Jeder Punkt ist ein Paket; der Strich ist der Median der legitimen Skills in diesem Band. Punkt überfahren zeigt die ID. 178 Pakete; 8 große wurden nicht fertig (§6).
Code-Dateien im PaketnMedian-ScoreSAFEDO NOT INSTALL
Markdown only (0 code files)608488
1-5 code files3541615
6-30 code files27100023
more than 30 code files16100015

Keiner der 43 legitimen Skills mit sechs oder mehr Code-Dateien wurde als SAFE eingestuft; 38 davon erhielten DO NOT INSTALL. Die 40 Angriffsmuster — je eine SKILL.md und höchstens ein Skript — erreichten einen Median von 29 und ein Maximum von 51. Nur eines der zehn Muster kam in irgendeiner Sprache auf DO NOT INSTALL. Ein legitimer englischer Skill mit scripts/-Ordner wird schlechter bewertet als ein Ein-Datei-Muster, das Zugangsdaten liest und an eine URL schickt.

Ciscos Ausgabe zeigt in dieselbe Richtung, mit kleinerem Ausschlag. Seine häufigsten Befunde ab MEDIUM auf legitimen Skills — DATA_EXFIL_NETWORK_REQUESTS, DATA_EXFIL_JS_NETWORK, UNANALYZABLE_BINARY, COMMAND_INJECTION_* — werden alle durch mitgelieferten Code ausgelöst, nicht durch die Anweisungen.

Das ist für alles Weitere wichtig: Die vier Sprachgruppen unterscheiden sich stark darin, wie viel Code sie mitbringen. Russische und deutsche Skills in freier Wildbahn sind meist reines Markdown; englische und chinesische tragen Skripte, manchmal ganze Anwendungen. Jede Zahl pro Sprache muss mit diesem Vorbehalt gelesen werden — weshalb §4 nur Befunde betrachtet, die in Markdown liegen.

§3 Urteile nach Sprache

Was ein Nutzer sieht, ist das Urteil, also zählen wir es zuerst: den Anteil legitimer Skills, die die Engine selbst nicht als SAFE eingestuft hat (SkillSpector: recommendation; Cisco: is_safe), und den Anteil der Angriffsmuster, die sie als SAFE eingestuft hat.

Anteil legitimer Skills ohne Urteil SAFE, nach Engine und Sprache Waagerechte Balken je Engine. SkillSpector statisch stuft 94 Prozent der englischen und 81 Prozent der chinesischen legitimen Skills als CAUTION oder DO NOT INSTALL ein, gegenüber 37 Prozent der russischen und 28 Prozent der deutschen. SkillSpector 2.12 · static legitime Skills, die die Engine selbst NICHT als SAFE einstuft Englisch Englisch: 33 von 35 nicht SAFE; 28 DO NOT INSTALL / HIGH 94% (33/35) Russisch Russisch: 14 von 38 nicht SAFE; 6 DO NOT INSTALL / HIGH 37% (14/38) Deutsch Deutsch: 8 von 29 nicht SAFE; 5 DO NOT INSTALL / HIGH 28% (8/29) Chinesisch Chinesisch: 29 von 36 nicht SAFE; 22 DO NOT INSTALL / HIGH 81% (29/36) synthetische Angriffe mit Urteil SAFE 40% 16 von 40 Mustern en 4 ru 4 de 4 zh 4 von 10 Cisco skill-scanner 2.3 · balanced legitime Skills, die die Engine selbst NICHT als SAFE einstuft Englisch Englisch: 18 von 39 nicht SAFE; 18 DO NOT INSTALL / HIGH 46% (18/39) Russisch Russisch: 1 von 38 nicht SAFE; 1 DO NOT INSTALL / HIGH 3% (1/38) Deutsch Deutsch: 8 von 30 nicht SAFE; 8 DO NOT INSTALL / HIGH 27% (8/30) Chinesisch Chinesisch: 14 von 39 nicht SAFE; 14 DO NOT INSTALL / HIGH 36% (14/39) synthetische Angriffe mit Urteil SAFE 85% 34 von 40 Mustern en 7 ru 9 de 9 zh 9 von 10 Cisco skill-scanner 2.3 · quiet legitime Skills, die die Engine selbst NICHT als SAFE einstuft Englisch Englisch: 17 von 39 nicht SAFE; 17 DO NOT INSTALL / HIGH 44% (17/39) Russisch Russisch: 1 von 38 nicht SAFE; 1 DO NOT INSTALL / HIGH 3% (1/38) Deutsch Deutsch: 6 von 30 nicht SAFE; 6 DO NOT INSTALL / HIGH 20% (6/30) Chinesisch Chinesisch: 12 von 39 nicht SAFE; 12 DO NOT INSTALL / HIGH 31% (12/39) synthetische Angriffe mit Urteil SAFE 85% 34 von 40 Mustern en 7 ru 9 de 9 zh 9 von 10 CAUTION oder schlechterdavon DO NOT INSTALL (SkillSpector) / HIGH–CRITICAL (Cisco)
Abbildung 2 Anteile auf Urteilsebene. Links: legitime Skills ohne SAFE, nach Sprache; der orange Anteil ist DO NOT INSTALL (SkillSpector) bzw. HIGH/CRITICAL (Cisco). Rechts: Angriffsmuster, die die Engine als SAFE eingestuft hat.
EngineenrudezhalleAngriffsmuster mit Urteil SAFE
SkillSpector 2.12 · static94 % (33/35)37 % (14/38)28 % (8/29)81 % (29/36)61 %40 %
Cisco skill-scanner 2.3 · balanced46 % (18/39)3 % (1/38)27 % (8/30)36 % (14/39)28 %85 %
Cisco skill-scanner 2.3 · quiet44 % (17/39)3 % (1/38)20 % (6/30)31 % (12/39)25 %85 %

Zusammen mit §2 gelesen: SkillSpectors 94 % auf Englisch sind überwiegend der Codemengen-Effekt; seine 37 % auf Russisch, wo fast nichts Code mitbringt, sind überwiegend eine einzige Regel (§4). Ciscos 3 % auf Russisch gegenüber 46 % auf Englisch sind derselbe Mengeneffekt, durch einen anderen Bewerter gesehen. Keiner der beiden statischen Modi trennt die Angriffsmuster von der legitimen Menge: SkillSpector stuft 40 % davon als SAFE ein, Cisco 85 %.

§4 Die Regeln dahinter

Zählt man nur Befunde, die in einer Markdown-Datei liegen, verschwindet der Codemengen-Effekt weitgehend, und die Sprache des Textes bleibt übrig:

Engine · MEDIUM+-Befunde in .md-Dateienenrudezh
SkillSpector 2.12 · static100 %76 %41 %89 %
Cisco skill-scanner 2.3 · balanced46 %11 %13 %44 %
Cisco skill-scanner 2.3 · quiet44 %11 %7 %44 %
hidden-char checker (ours, control)5 %0 %0 %0 %

Vier Regeln erklären den größten Teil des sprachspezifischen Verhaltens:

  • SkillSpector AE4, „Suspicious Unicode normalization or mixed-script content“. 207 Befunde auf russischem Markdown, 3 auf englischem, 2 auf chinesischem, 0 auf deutschem. Jede russische SKILL.md, die einen Codeblock, einen Produktnamen oder einen Befehl enthält, mischt kyrillische und lateinische Schrift und löst sie aus. Sie ist MEDIUM und hebt einen reinen Markdown-Skill auf Russisch allein in etwa einem Drittel der Fälle von SAFE auf CAUTION. (Unser eigener, auf Russisch geschriebener Skill sammelt vier davon.)
  • SkillSpector RP1, „npx commands without a version suffix“. 346 Befunde auf englischem Markdown — die größte einzelne Quelle von MEDIUM-Befunden auf englischem Text. Dokumentation, in der npx something steht, gilt als Lieferkettenrisiko, auch wenn es ein Beispiel ist und kein Installationsschritt.
  • Cisco YARA_prompt_injection_unicode_steganography. 112 Befunde auf chinesischen Paketen, 24 auf deutschen, 0 auf russischen — überwiegend in Code- und Datendateien, nicht in der SKILL.md, und der Hauptgrund für Ciscos höhere chinesische Quote.
  • Cisco YARA_code_execution_generic. 31 Befunde auf englischem Markdown, 0 in den drei anderen Sprachen. Seine Muster passen auf englische Wörter; Text in anderen Sprachen kann sie nicht auslösen — und Angriffe in diesen Sprachen ebenso wenig.

Regeln, die auf legitimem Markdown feuern, ab MEDIUM

SkillSpector

Regelenrudezhgesamt
RP1346121440412
AE4320702212
AE123425118170
PE3392242489
E1340143987
AS332144380
RA261211276
EA25815771

Cisco skill-scanner, balanced

Regelenrudezhgesamt
TOOL_ABUSE_UNDECLARED_NETWORK14121431
YARA_code_execution_generic3100031
CORRELATED_SENSITIVE_NETWORK_FLOW0024024
PIPELINE_TAINT_FLOW10089
COMPOUND_FETCH_EXECUTE70018
ALLOWED_TOOLS_WRITE_VIOLATION03014
SOCIAL_ENG_MISLEADING_DESC20013
COMPOUND_FIND_EXEC20002

§5 Was niemand gefangen hat

Die zehn Angriffsmuster wurden erkennbar geschrieben, nicht getarnt: Es ging darum, ob die Erkennung die Übersetzung überlebt.

Welche synthetischen Muster jede Engine erkennt, nach Sprache Raster aus zehn Angriffsmustern und vier Sprachen für zwei Engines. Gefüllte Zellen: erkannt mit MEDIUM oder höher. Reine Textmuster und nicht-englische Anweisungsübernahmen bleiben meist leer. SkillSpector · static en ru de zh Cisco · balanced en ru de zh P-01 Anweisungsübernahme im Text Anweisungsübernahme im Text · Englisch · skillspector: HIGH Anweisungsübernahme im Text · Russisch · skillspector: nichts ab MEDIUM Anweisungsübernahme im Text · Deutsch · skillspector: nichts ab MEDIUM Anweisungsübernahme im Text · Chinesisch · skillspector: nichts ab MEDIUM Anweisungsübernahme im Text · Englisch · cisco: HIGH Anweisungsübernahme im Text · Russisch · cisco: nichts ab MEDIUM Anweisungsübernahme im Text · Deutsch · cisco: nichts ab MEDIUM Anweisungsübernahme im Text · Chinesisch · cisco: nichts ab MEDIUM P-02 Anweisung im HTML-Kommentar Anweisung im HTML-Kommentar · Englisch · skillspector: HIGH Anweisung im HTML-Kommentar · Russisch · skillspector: HIGH Anweisung im HTML-Kommentar · Deutsch · skillspector: HIGH Anweisung im HTML-Kommentar · Chinesisch · skillspector: HIGH Anweisung im HTML-Kommentar · Englisch · cisco: nichts ab MEDIUM Anweisung im HTML-Kommentar · Russisch · cisco: nichts ab MEDIUM Anweisung im HTML-Kommentar · Deutsch · cisco: nichts ab MEDIUM Anweisung im HTML-Kommentar · Chinesisch · cisco: nichts ab MEDIUM P-03 Exfiltration von Dateien an eine URL Exfiltration von Dateien an eine URL · Englisch · skillspector: nichts ab MEDIUM Exfiltration von Dateien an eine URL · Russisch · skillspector: MEDIUM Exfiltration von Dateien an eine URL · Deutsch · skillspector: nichts ab MEDIUM Exfiltration von Dateien an eine URL · Chinesisch · skillspector: nichts ab MEDIUM Exfiltration von Dateien an eine URL · Englisch · cisco: nichts ab MEDIUM Exfiltration von Dateien an eine URL · Russisch · cisco: nichts ab MEDIUM Exfiltration von Dateien an eine URL · Deutsch · cisco: nichts ab MEDIUM Exfiltration von Dateien an eine URL · Chinesisch · cisco: nichts ab MEDIUM P-04 curl | bash curl | bash · Englisch · skillspector: HIGH curl | bash · Russisch · skillspector: HIGH curl | bash · Deutsch · skillspector: HIGH curl | bash · Chinesisch · skillspector: HIGH curl | bash · Englisch · cisco: nichts ab MEDIUM curl | bash · Russisch · cisco: nichts ab MEDIUM curl | bash · Deutsch · cisco: nichts ab MEDIUM curl | bash · Chinesisch · cisco: nichts ab MEDIUM P-05 Skript sammelt Umgebungsvariablen Skript sammelt Umgebungsvariablen · Englisch · skillspector: HIGH Skript sammelt Umgebungsvariablen · Russisch · skillspector: HIGH Skript sammelt Umgebungsvariablen · Deutsch · skillspector: HIGH Skript sammelt Umgebungsvariablen · Chinesisch · skillspector: HIGH Skript sammelt Umgebungsvariablen · Englisch · cisco: MEDIUM Skript sammelt Umgebungsvariablen · Russisch · cisco: MEDIUM Skript sammelt Umgebungsvariablen · Deutsch · cisco: MEDIUM Skript sammelt Umgebungsvariablen · Chinesisch · cisco: MEDIUM P-06 gefälschter Installer-Download gefälschter Installer-Download · Englisch · skillspector: nichts ab MEDIUM gefälschter Installer-Download · Russisch · skillspector: nichts ab MEDIUM gefälschter Installer-Download · Deutsch · skillspector: nichts ab MEDIUM gefälschter Installer-Download · Chinesisch · skillspector: nichts ab MEDIUM gefälschter Installer-Download · Englisch · cisco: HIGH gefälschter Installer-Download · Russisch · cisco: nichts ab MEDIUM gefälschter Installer-Download · Deutsch · cisco: nichts ab MEDIUM gefälschter Installer-Download · Chinesisch · cisco: nichts ab MEDIUM P-07 Base64-Shell-Befehl Base64-Shell-Befehl · Englisch · skillspector: HIGH Base64-Shell-Befehl · Russisch · skillspector: HIGH Base64-Shell-Befehl · Deutsch · skillspector: HIGH Base64-Shell-Befehl · Chinesisch · skillspector: HIGH Base64-Shell-Befehl · Englisch · cisco: HIGH Base64-Shell-Befehl · Russisch · cisco: HIGH Base64-Shell-Befehl · Deutsch · cisco: HIGH Base64-Shell-Befehl · Chinesisch · cisco: HIGH P-08 Zero-Width-Zeichen verstecken Text Zero-Width-Zeichen verstecken Text · Englisch · skillspector: HIGH Zero-Width-Zeichen verstecken Text · Russisch · skillspector: HIGH Zero-Width-Zeichen verstecken Text · Deutsch · skillspector: HIGH Zero-Width-Zeichen verstecken Text · Chinesisch · skillspector: HIGH Zero-Width-Zeichen verstecken Text · Englisch · cisco: nichts ab MEDIUM Zero-Width-Zeichen verstecken Text · Russisch · cisco: nichts ab MEDIUM Zero-Width-Zeichen verstecken Text · Deutsch · cisco: nichts ab MEDIUM Zero-Width-Zeichen verstecken Text · Chinesisch · cisco: nichts ab MEDIUM P-09 zu breiter Auslöser / Scope Creep zu breiter Auslöser / Scope Creep · Englisch · skillspector: nichts ab MEDIUM zu breiter Auslöser / Scope Creep · Russisch · skillspector: nichts ab MEDIUM zu breiter Auslöser / Scope Creep · Deutsch · skillspector: nichts ab MEDIUM zu breiter Auslöser / Scope Creep · Chinesisch · skillspector: nichts ab MEDIUM zu breiter Auslöser / Scope Creep · Englisch · cisco: nichts ab MEDIUM zu breiter Auslöser / Scope Creep · Russisch · cisco: nichts ab MEDIUM zu breiter Auslöser / Scope Creep · Deutsch · cisco: nichts ab MEDIUM zu breiter Auslöser / Scope Creep · Chinesisch · cisco: nichts ab MEDIUM P-10 Persistenz über crontab / rc Persistenz über crontab / rc · Englisch · skillspector: HIGH Persistenz über crontab / rc · Russisch · skillspector: HIGH Persistenz über crontab / rc · Deutsch · skillspector: HIGH Persistenz über crontab / rc · Chinesisch · skillspector: HIGH Persistenz über crontab / rc · Englisch · cisco: nichts ab MEDIUM Persistenz über crontab / rc · Russisch · cisco: nichts ab MEDIUM Persistenz über crontab / rc · Deutsch · cisco: nichts ab MEDIUM Persistenz über crontab / rc · Chinesisch · cisco: nichts ab MEDIUM HIGH / CRITICALMEDIUMnichts ab MEDIUM
Abbildung 3 Höchste gemeldete Schwere je Muster und Sprache. Unsere Kontrolle für versteckte Zeichen ist nicht gezeigt; sie erkennt P-08 in allen vier Sprachen und sonst nichts — wie vorgesehen.
  • P-01, Anweisungsübernahme in gewöhnlichem Text („ignoriere die bisherigen Anweisungen und …“). Beide Engines melden das englische Muster; keine meldet die russische, deutsche oder chinesische Übersetzung desselben Satzes.
  • P-09, zu breiter Auslöser und Scope Creep („verwende diesen Skill für jede Anfrage“). Von niemandem in irgendeiner Sprache gemeldet. Es ist ein reines Textmuster — und wohl das häufigste Problem in der Praxis.
  • P-06, Download eines gefälschten „Voraussetzungen-Installers“. Cisco meldet ihn nur auf Englisch; SkillSpector gar nicht.
  • SkillSpector fängt die strukturellen Muster — Anweisung im HTML-Kommentar, curl | bash, Sammeln von Umgebungsvariablen, Base64-Shell, Zero-Width-Zeichen, Persistenz — in allen vier Sprachen. Ciscos statischer Modus fängt das Sammeln von Umgebungsvariablen und Base64 in allen vier, außerhalb des Englischen sonst nichts.

Sprachunabhängige Erkennung gibt es genau dort, wo das Muster im Code liegt. Liegt der Angriff in den Anweisungen, ist die Erkennung nur englisch oder fehlt — das Gegenteil davon, wo das Risiko heute sitzt, denn der Agent folgt den Anweisungen und führt den Code nur manchmal aus.

§6 Betriebsnotizen

  • SkillSpector wurde bei 8 von 186 Paketen (16–73 MB, ganze Repositories mit einer SKILL.md im Wurzelverzeichnis, eines mit 6 342 JavaScript-Dateien) in 15 Minuten nicht fertig. Cisco war mit jedem davon in unter einer Minute durch. Die 8 sind aus jeder Quote oben ausgeschlossen und hier aufgeführt: de-059, en-160, en-165, en-174, en-190, zh-112, zh-122, zh-142.
  • Unser eigener Prüfer für versteckte Zeichen, für diesen Benchmark geschrieben, hat legitime Skills gemeldet, bis er gelernt hatte, dass Emoji-Sequenzen U+200D verwenden und weiche Trennzeichen im Deutschen normal sind. Er meldet immer noch 7 von 146 legitimen Paketen, 2 davon im Markdown. Wir berichten ihn aus demselben Grund wie die anderen.
  • Cisco weist einen Skill zurück, dessen Datei Skill.md oder _template-skill.md heißt; zwei solche Einträge wurden aus dem Korpus gestrichen statt umbenannt.

§7 Was wir von einem Scanner erwarten würden

Nichts davon ist ein Argument gegen Scannen. Es ist ein Argument für ein kalibriertes Urteil, und die Korrekturen sind konkret:

  1. Menge von Risiko trennen. Den Beitrag wiederholter, wenig aussagekräftiger Befunde deckeln (eine npx-Regel sollte sich nicht zu 100 addieren) und „großes Paket, teilweise analysiert“ sagen statt DO NOT INSTALL, wenn die ehrliche Antwort „wir haben nicht hingeschaut“ lautet.
  2. Unicode-Regeln schriftbewusst machen. Kyrillisch plus Lateinisch in einem russischen Dokument ist der Normalfall, keine Anomalie; die Anomalie ist ein kyrillischer Buchstabe in einem lateinischen Wort. Dasselbe gilt für CJK und für deutsche weiche Trennzeichen.
  3. Textregeln in mehr als einer Sprache testen. Eine Regel, die auf „ignore previous instructions“ passt, sollte mit ihren Übersetzungen ausgeliefert werden oder eine LLM-Prüfung sein — und die Testsuite sollte sagen, welches von beiden.
  4. Einen Fehlalarm-Korpus veröffentlichen. Jeder Scanner bringt bösartige Testfälle mit; fast keiner eine Menge gewöhnlicher Skills, die bestehen müssen. Der Korpus hier steht unter CC BY 4.0 und kann diese Menge sein.

§8 Vorbehalte

  • Nur statische Modi. Beide Engines haben LLM-gestützte Modi, die das Bild verändern können, besonders bei Textmustern. Sie auszuführen ist der nächste Schritt.
  • Die Angriffsmuster sind kurz und auf einen Zweck beschränkt. Sie testen, ob ein Muster in einer Sprache erkannt wird, nicht, wie ein echter Angreifer es verpacken würde.
  • „Legitim“ ist ein Herkunftsurteil, kein Audit. Manche Befunde auf der legitimen Menge mögen zutreffen.
  • Ein Korpus, ein Datum. Der Scorecard wird bei jedem Engine-Release neu gerechnet; die erste Zahl, die zählt, ist die nächste.

§9 Antworten der Hersteller

Benachrichtigung vor Öffnung der Daten

Die Maintainer von SkillSpector und skill-scanner erhalten die Befunddatei und die vollständigen Tabellen am 5. November 2026, sieben Tage bevor am 12. November 2026 das Repository geöffnet wird — Korpus-Manifest, Angriffsmuster, Skripte, Lauflogs und aggregierte Ergebnisse. Die Rohausgabe der Engines je Skill wird nicht weitergegeben; sie reproduziert sich aus dem Manifest. Ihre Antworten und alle in der Zwischenzeit veröffentlichten Korrekturen werden hier unverändert wiedergegeben.

Verfasst von Andrey Trukhachev. Korrekturen und Einwände: andrey@skillverdict.dev. Schwere-Wörter auf dieser Seite (SAFE, CAUTION, DO NOT INSTALL, HIGH, MEDIUM) zitieren die Ausgabe der Engines und sind nicht unser Urteil über irgendeinen Skill.

Phase 2

Bescheid bekommen, wenn die Skill-Seiten öffnen

Eine E-Mail, wenn Phase 2 live ist, sonst nichts. Wählen Sie Ihren Mail-Dienst; die Nachricht ist vorgeschrieben, senden Sie sie so ab.

Benachrichtigen, wenn Skill-Seiten öffnen

Oder schreiben Sie an andrey@skillverdict.dev. Wer einen Scanner betreut und die Rohergebnisse vor der Veröffentlichung möchte: dieselbe Adresse.