CtrlK
BlogDocsLog inGet started
Tessl Logo

apt28-fancy-bear

Adversary-emulation profile for APT28 (G0007 / Fancy Bear / Forest Blizzard / Sofacy / STRONTIUM), Russia's GRU Unit 26165 cyber-espionage actor.

56

Quality

65%

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/apt28-fancy-bear/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%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 body is a well-structured, actionable adversary-emulation profile with concrete emulation and detection guidance and a clear kill-chain sequence gated by an authorization checkpoint. Its main weaknesses are length/inlined reference material that would benefit from offloading to reference files and the absence of copy-paste executable scripts or explicit validation feedback loops.

Suggestions

Move the 'Notable campaigns' history and the 'Signature tooling & malware' table into a references/ file (e.g. references/campaigns.md and references/tooling.md), keeping SKILL.md as an overview that links to them — this improves both conciseness and progressive_disclosure.

Add one or two concrete, copy-paste-ready command or script snippets for the highest-priority plays (e.g. an Outlook CVE-2023-23397 reminder-crafting snippet or a Responder invocation) to lift actionability from guidance-level to executable.

Add an explicit validate->fix->retry checkpoint in the emulation guidance (e.g. confirm spray-rate/egress rotation before proceeding, verify captured Net-NTLM hashes relay successfully before pivoting) to reach anchor 5 workflow clarity.

DimensionReasoningScore

Conciseness

The body is information-dense and avoids explaining concepts Claude already knows (no 'what is phishing' padding), but the ~200 lines include a substantial inlined campaign-history narrative and a full TTP matrix across 11 tactics that could be tightened or moved to a reference file, matching 'mostly efficient but could be tightened' rather than anchor 4's 'minor instances'.

3 / 5

Actionability

The Emulation guidance maps plays to concrete actions (run Responder for LLMNR/NBT-NS poisoning, low-and-slow spraying ~few attempts/account/hour, GooseEgg CVE-2022-38028 for SYSTEM, Sliver over HTTPS, split archives into <1MB chunks) and Detection names specific signals (spoolsv.exe spawning cmd, PidLidReminderFileParameter UNC paths, netsh interface portproxy add), giving mostly executable guidance; it stops short of anchor 5 because there are no copy-paste-ready code or script blocks.

4 / 5

Workflow Clarity

The emulation guidance is sequenced by kill-chain phase (initial access -> NTLM coercion -> privesc -> cred access -> C2 -> cloud -> collection/exfil -> edge devices) with an explicit authorization/safety checkpoint and destructive-op fencing, so the destructive-cap-at-3 rule does not apply; it falls short of anchor 5 only because there are no explicit validate->fix->retry feedback loops.

4 / 5

Progressive Disclosure

Section headers are clear and the Sources section links out, but no bundle/reference files exist and large reference-grade material (the campaign list and the signature-tooling table) is inlined in SKILL.md, matching 'some structure but content that should be separate is inline' rather than anchor 4's 'most content appropriately placed'.

3 / 5

Total

14

/

20

Passed

Description

67%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 precisely identifies its subject with exhaustive alias coverage and strong distinctiveness, but it is missing any explicit 'when to use' trigger clause and states no concrete actions, which caps completeness and specificity. Adding a 'Use when...' clause naming the trigger scenarios and one or two concrete actions would raise both dimensions.

Suggestions

Add an explicit trigger clause such as 'Use when emulating APT28/Fancy Bear TTPs, mapping GRU Unit 26165 tradecraft to ATT&CK, or building detections for Spearphishing/NTLM-coercion/password-spraying campaigns.'

Replace 'Adversary-emulation profile for' with concrete actions, e.g. 'Maps APT28 (Fancy Bear) TTPs to ATT&CK, generates emulation plans, and produces detections for credential-access and initial-access plays.'

Keep the alias list but trim it to the two or three most common names to reduce length without losing trigger coverage.

DimensionReasoningScore

Specificity

The description names the domain and subject richly ('Adversary-emulation profile for APT28 (G0007 / Fancy Bear / Forest Blizzard / Sofacy / STRONTIUM), Russia's GRU Unit 26165 cyber-espionage actor') but lists no concrete actions (e.g. 'maps TTPs', 'emulates', 'generates detections'), matching the 'names the domain but actions are minimal or generic' anchor rather than anchor 3 which requires 1-2 concrete actions.

2 / 5

Completeness

The 'what' is clear (an adversary-emulation profile for APT28) but there is no 'Use when...' or equivalent trigger clause in the description field itself; per the rubric a missing 'when' caps completeness at 3, and the 'what' is too clear to drop to anchor 2.

3 / 5

Trigger Term Quality

It enumerates every natural alias a user would say — 'APT28', 'G0007', 'Fancy Bear', 'Forest Blizzard', 'Sofacy', 'STRONTIUM', 'GRU Unit 26165' — giving comprehensive synonym coverage with no common terms missing, matching the anchor 5 example.

5 / 5

Distinctiveness Conflict Risk

Naming a single specific threat actor with multiple unique aliases creates a clear niche with distinct triggers and minimal conflict risk — a user saying 'Fancy Bear' or 'APT28' maps to exactly one skill, matching anchor 5.

5 / 5

Total

15

/

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
PurpleAILAB/Decepticon
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.