CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

kimsuky-velvet-chollima

Adversary-emulation profile for Kimsuky (G0094 / Velvet Chollima / Emerald Sleet / THALLIUM / Black Banshee / APT43 / TA427), North Korea's RGB 63rd Research Center cyber-espionage actor.

Quality

66%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/shared/adversary-emulation/kimsuky/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The profile is well-structured and gives concrete, kill-chain-sequenced emulation guidance with a strong tooling/TTP reference, but it is a long monolithic document with no progressive disclosure and lacks validation checkpoints for its destructive operations. Splitting reference material into bundled files and adding verification steps would raise the weakest dimensions.

Suggestions

Move the dated campaign timeline, exhaustive ATT&CK TTP enumeration, and tooling table into separate reference files (e.g. references/campaigns.md, references/ttps.md) and link them one level deep from SKILL.md.

Add explicit validation/verification checkpoints to the emulation guidance for destructive, credential-harvesting, and batch operations (e.g. confirm scope/authorization before each phase, verify payload in a sandbox before delivery).

Trim or relocate time-sensitive dated material to a dedicated section so the core emulation workflow stays lean in the context window.

DimensionReasoningScore

Conciseness

The body is dense and mostly assumes Claude's competence (no basic-concept padding), but the full dated campaign timeline and exhaustive ATT&CK sub-technique enumeration are heavy, time-sensitive reference material that could be tightened or split out, matching the 'mostly efficient but could be tightened' anchor.

3 / 5

Actionability

The Emulation guidance section gives concrete, mapped instructions ('set up lookalike login pages (Google, Naver, Kakao) with DMARC-abusing sender spoofing', 'Use Sliver (c2 skill) as primary HTTPS C2', 'exfiltrate on 10-minute automated intervals'); as an instruction-only skill this is actionable with only minor gaps.

4 / 5

Workflow Clarity

Plays are sequenced by kill-chain phase (Initial Access through Exfiltration/Anti-analysis) with an authorized-use caveat, but there are no explicit validation/verification checkpoints for the destructive and credential-harvesting operations described, which caps workflow clarity at 3.

3 / 5

Progressive Disclosure

Section headers give the monolithic file some navigability, but no bundle files exist and bulk reference content (campaign timeline, full TTP enumeration, tooling table, sources) is fully inlined rather than split into one-level-deep references.

3 / 5

Total

13

/

20

Passed

Description

60%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is highly distinctive and rich in natural trigger aliases for this specific APT, but it lacks explicit 'when to use' guidance and names the domain without listing concrete actions. Adding a 'Use when...' clause and one or two concrete actions would lift the weakest dimensions.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when emulating Kimsuky/THALLIUM/APT43 operations or mapping their TTPs to your emulation plan.'

Name 1-2 concrete actions in the description, such as 'maps Kimsuky TTPs to emulation capabilities and generates authorized engagement plans,' to move specificity above 2.

Keep the alias list but consider trimming the longest parenthetical so the core action/trigger is not buried.

DimensionReasoningScore

Specificity

The description names the domain precisely ('Adversary-emulation profile for Kimsuky') and the actor ('North Korea's RGB 63rd Research Center cyber-espionage actor'), but states no concrete actions beyond 'profile for', matching the anchor where the domain is named but actions are minimal.

2 / 5

Completeness

It gives a clear 'what' (an adversary-emulation profile for Kimsuky) but includes no 'Use when...' or equivalent explicit trigger guidance in the description field, capping completeness at 3 per the missing-trigger-clause rule.

3 / 5

Trigger Term Quality

It surfaces the natural aliases a user would say ('Kimsuky', 'Velvet Chollima', 'Emerald Sleet', 'THALLIUM', 'Black Banshee', 'APT43', 'TA427', 'G0094') with good coverage, falling just short of the comprehensive-with-synonyms anchor.

4 / 5

Distinctiveness Conflict Risk

The highly specific actor name plus many aliases and the RGB 63rd Research Center attribution form a clear niche with distinct triggers and minimal conflict risk with other skills.

5 / 5

Total

14

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/shared/adversary-emulation/kimsuky/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.