canvas-design

SAFE max severity MEDIUMSkillSpector Caution 0 registry anthropic last scanned 2 scans

Verdict safe, but 2 findings (2 medium), mainly prompt injection, social engineering. Most recent scan 2026-02-07.

MODERATE RISK - This skill has a concerning transitive trust pattern where it may follow 'instructions by the user' rather than treating user input as design requirements. The missing manifest fields (allowed-tools, compatibility) reduce transparency about capabilities. The skill appears to be a creative design tool for generating visual art philosophies and artifacts, which is legitimate, but the instruction framing creates ambiguity about whether user input is data or commands. No active malicious code detected (no scripts present), but the instruction design pattern needs improvement. The truncated content and phantom file references suggest incomplete development or packaging issues.

Scanner's overall assessment (LLM analyzer)

Second scanner: NVIDIA SkillSpector

SkillSpector found no issues but could not fully inspect the package, usually because SKILL.md refers to a file that is not present, so it fails closed to CAUTION instead of SAFE. Read it as "not fully checked", not as a finding. How the two scanners compare across the whole corpus: Two scanners, one corpus.

What this skill does

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

Package
83 files, 5.3 MB
SKILL.md
1693 words, 9 sections
Code
None. Instructions only.
License
Complete terms in LICENSE.txt

SKILL.md covers: DESIGN PHILOSOPHY CREATION · THE CRITICAL UNDERSTANDING · HOW TO GENERATE A VISUAL PHILOSOPHY · PHILOSOPHY EXAMPLES · ESSENTIAL PRINCIPLES · DEDUCING THE SUBTLE REFERENCE · CANVAS CREATION · FINAL STEP · MULTI-PAGE OPTION

Findings

MEDIUM Transitive Trust Abuse - Instruction Following from User Input Prompt Injectionllm

The skill instructions contain a critical misunderstanding of its role. The phrase 'What is received: Some subtle input or instructions by the user that should be taken into account' followed by 'The next phase involves making the artwork' suggests the skill may follow instructions embedded in user input rather than treating user input as data to be processed. This creates a transitive trust vulnerability where malicious instructions in user requests could be executed as commands rather than treated as content to design around.

SKILL.md

'What is received: Some subtle input or instructions by the user that should be taken into account, but used as a foundation; it should not constrain creative freedom.' and 'The next phase involves making the artwork' - This framing suggests following user instructions rather than treating them as design requirements.
Remediation: Reframe instructions to clearly distinguish between: (1) User design requirements (data to process), and (2) Skill operational instructions (commands to follow). Use language like 'User provides design requirements' rather than 'instructions by the user' to avoid confusion about what should be executed vs. what should be designed.
MEDIUM Incomplete Manifest - Missing Critical Security Fields Social Engineeringllm

The skill manifest is missing critical security-relevant fields: 'compatibility' and 'allowed-tools' are both 'Not specified'. While allowed-tools is optional per spec, its absence prevents users and systems from understanding what capabilities this skill requires. The skill creates .md, .pdf, and .png files, which implies Write tool usage at minimum, but this is not declared. Missing compatibility information prevents users from understanding execution environment requirements.

SKILL.md

compatibility: Not specified, allowed-tools: Not specified. Instructions state: 'Output only .md files, .pdf files, and .png files' which implies Write tool requirement.
Remediation: Add 'allowed-tools: [Write]' to manifest to declare file creation capabilities. Add 'compatibility' field specifying supported environments (Claude.ai, Claude Code, API). This improves transparency and allows security validation of tool usage.

What is in the package

83 files, 5.3 MB. Show the list.
FileKindSize
LICENSE.txtdoc11 KB
SKILL.mddoc12 KB
canvas-fonts/ArsenalSC-OFL.txtdoc4.3 KB
canvas-fonts/ArsenalSC-Regular.ttfbinary162 KB
canvas-fonts/BigShoulders-Bold.ttfbinary92 KB
canvas-fonts/BigShoulders-OFL.txtdoc4.3 KB
canvas-fonts/BigShoulders-Regular.ttfbinary92 KB
canvas-fonts/Boldonse-OFL.txtdoc4.3 KB
canvas-fonts/Boldonse-Regular.ttfbinary75 KB
canvas-fonts/BricolageGrotesque-Bold.ttfbinary89 KB
canvas-fonts/BricolageGrotesque-OFL.txtdoc4.3 KB
canvas-fonts/BricolageGrotesque-Regular.ttfbinary89 KB
canvas-fonts/CrimsonPro-Bold.ttfbinary105 KB
canvas-fonts/CrimsonPro-Italic.ttfbinary106 KB
canvas-fonts/CrimsonPro-OFL.txtdoc4.3 KB
canvas-fonts/CrimsonPro-Regular.ttfbinary104 KB
canvas-fonts/DMMono-OFL.txtdoc4.3 KB
canvas-fonts/DMMono-Regular.ttfbinary48 KB
canvas-fonts/EricaOne-OFL.txtdoc4.3 KB
canvas-fonts/EricaOne-Regular.ttfbinary24 KB
canvas-fonts/GeistMono-Bold.ttfbinary76 KB
canvas-fonts/GeistMono-OFL.txtdoc4.3 KB
canvas-fonts/GeistMono-Regular.ttfbinary76 KB
canvas-fonts/Gloock-OFL.txtdoc4.3 KB
canvas-fonts/Gloock-Regular.ttfbinary93 KB
canvas-fonts/IBMPlexMono-Bold.ttfbinary133 KB
canvas-fonts/IBMPlexMono-OFL.txtdoc4.3 KB
canvas-fonts/IBMPlexMono-Regular.ttfbinary131 KB
canvas-fonts/IBMPlexSerif-Bold.ttfbinary157 KB
canvas-fonts/IBMPlexSerif-BoldItalic.ttfbinary166 KB
canvas-fonts/IBMPlexSerif-Italic.ttfbinary166 KB
canvas-fonts/IBMPlexSerif-Regular.ttfbinary157 KB
canvas-fonts/InstrumentSans-Bold.ttfbinary66 KB
canvas-fonts/InstrumentSans-BoldItalic.ttfbinary68 KB
canvas-fonts/InstrumentSans-Italic.ttfbinary68 KB
canvas-fonts/InstrumentSans-OFL.txtdoc4.3 KB
canvas-fonts/InstrumentSans-Regular.ttfbinary66 KB
canvas-fonts/InstrumentSerif-Italic.ttfbinary69 KB
canvas-fonts/InstrumentSerif-Regular.ttfbinary68 KB
canvas-fonts/Italiana-OFL.txtdoc4.3 KB
canvas-fonts/Italiana-Regular.ttfbinary27 KB
canvas-fonts/JetBrainsMono-Bold.ttfbinary112 KB
canvas-fonts/JetBrainsMono-OFL.txtdoc4.3 KB
canvas-fonts/JetBrainsMono-Regular.ttfbinary112 KB
canvas-fonts/Jura-Light.ttfbinary151 KB
canvas-fonts/Jura-Medium.ttfbinary151 KB
canvas-fonts/Jura-OFL.txtdoc4.3 KB
canvas-fonts/LibreBaskerville-OFL.txtdoc4.3 KB
canvas-fonts/LibreBaskerville-Regular.ttfbinary144 KB
canvas-fonts/Lora-Bold.ttfbinary131 KB
canvas-fonts/Lora-BoldItalic.ttfbinary137 KB
canvas-fonts/Lora-Italic.ttfbinary136 KB
canvas-fonts/Lora-OFL.txtdoc4.3 KB
canvas-fonts/Lora-Regular.ttfbinary131 KB
canvas-fonts/NationalPark-Bold.ttfbinary77 KB
canvas-fonts/NationalPark-OFL.txtdoc4.3 KB
canvas-fonts/NationalPark-Regular.ttfbinary75 KB
canvas-fonts/NothingYouCouldDo-OFL.txtdoc4.3 KB
canvas-fonts/NothingYouCouldDo-Regular.ttfbinary31 KB
canvas-fonts/Outfit-Bold.ttfbinary54 KB
canvas-fonts/Outfit-OFL.txtdoc4.3 KB
canvas-fonts/Outfit-Regular.ttfbinary54 KB
canvas-fonts/PixelifySans-Medium.ttfbinary50 KB
canvas-fonts/PixelifySans-OFL.txtdoc4.3 KB
canvas-fonts/PoiretOne-OFL.txtdoc4.3 KB
canvas-fonts/PoiretOne-Regular.ttfbinary44 KB
canvas-fonts/RedHatMono-Bold.ttfbinary34 KB
canvas-fonts/RedHatMono-OFL.txtdoc4.3 KB
canvas-fonts/RedHatMono-Regular.ttfbinary34 KB
canvas-fonts/Silkscreen-OFL.txtdoc4.3 KB
canvas-fonts/Silkscreen-Regular.ttfbinary31 KB
canvas-fonts/SmoochSans-Medium.ttfbinary58 KB
canvas-fonts/SmoochSans-OFL.txtdoc4.3 KB
canvas-fonts/Tektur-Medium.ttfbinary74 KB
canvas-fonts/Tektur-OFL.txtdoc4.3 KB
canvas-fonts/Tektur-Regular.ttfbinary74 KB
canvas-fonts/WorkSans-Bold.ttfbinary187 KB
canvas-fonts/WorkSans-BoldItalic.ttfbinary172 KB
canvas-fonts/WorkSans-Italic.ttfbinary170 KB
canvas-fonts/WorkSans-OFL.txtdoc4.3 KB
canvas-fonts/WorkSans-Regular.ttfbinary184 KB
canvas-fonts/YoungSerif-OFL.txtdoc4.3 KB
canvas-fonts/YoungSerif-Regular.ttfbinary103 KB

External hosts referenced

openfontlicense.org github.com www.apache.org www.github.com

Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.

Package contents recorded 2026-10-22 at commit 69c0b1a06741. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.

What we checked

What we did not check

Scan history

DateVerdictFindingsChangeAnalyzersRaw
SAFE 2 = static llm meta JSON
SAFE 2 first scan static behavioral llm trigger meta JSON

Sources