T09 · Insecure Skill Coding Practices
- Location
SKILL.md:657- Finding
Misleading Security Claims Encourage Use of Obsolete Ciphers for Sensitive Communications
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:657-674,SKILL.md:747-756,README.md:137-157
Vulnerability Type: Misleading cryptographic security guidance
Risk Level: MediumVulnerable Content
SKILL.md:657-674presents classical ciphers as a solution for sensitive team information:markdown **Scenario:** Remote team needs to share sensitive project info. **Solution:**Code Name System:
- Project: "Operation Silver Dawn"
- Team members: Phoenix, Atlas, Cipher, Raven
- Milestones: Alpha, Bravo, Charlie, Delta
Sensitive Message Encoding: Method: Columnar Transposition + Substitution Key: Team keyword "SILVERDOWN" (agreed in kickoff meeting)
Message: "Phoenix reports Charlie milestone complete on schedule"
Encoded: "PXHNIR ETORCP HLEIM TSOEE NLTCP SEODH EUELN"
text `SKILL.md:747-756` overstates the resistance of obsolete cryptographic methods: ```markdown - Vigenère: Keyword-based secrecy - Polybius: Numeric encoding - Rail Fence: Pattern scrambling **Strong Security (Days/weeks to crack):** - Playfair: Digraph substitution - Columnar Transposition: Keyword ordering - Double encryption: Layered methods **Maximum Security (Theoretically unbreakable):** - One-Time Pad: True randomness + single useREADME.md:137-157directly responds to a maximum-security request by recommending a combination of Vigenère and Rail Fence:markdown You: I need maximum security for a message. How do I layer ciphers? AI: For strong security, use DOUBLE ENCRYPTION: MESSAGE: "ATTACK AT DAWN" STEP 1: Vigenère with keyword "FORTRESS" Result: "FMMPBK PY KPDS" STEP 2: Rail Fence with 4 rails Input: FMMPBKPYKPDS Output: FKYPB MDPMK S FINAL CIPHERTEXT: "FKYPB MDPMK S" TO DECODE: 1. Friend reverses Rail Fence (4 rails) → gets "FMMPBKPYKPDS" 2. Friend decrypts Vigenère ("FORTRESS") → gets "ATTACK AT DAWN" Key sharing: "FORTRESS, then 4 rails" (sh ...[truncated 3117 chars]- Remediation
View remediation
Remediation Suggestions
- Restrict all classical ciphers to clearly labeled educational, puzzle, game, and reversible-obfuscation use cases.
- Remove claims including “strong security,” “serious encoding,” “days/weeks to crack,” and recommendations to use classical ciphers for sensitive project information.
- Change the maximum-security example so the agent refuses to protect sensitive information with historical ciphers.
- Recommend established end-to-end encrypted applications, such as Signal, for sensitive messaging.
- For software-oriented use cases, recommend reviewed libraries implementing authenticated encryption such as AES-GCM or ChaCha20-Poly1305. Do not encourage users to design or combine encryption schemes themselves.
- State prominently, before every actionable encoding example, that classical ciphers provide obfuscation rather than modern confidentiality.
- Clarify that layering weak historical ciphers does not provide authenticated encryption and does not prevent practical cryptanalysis or tampering.
- Present one-time pads only as a theoretical educational topic unless the workflow can guarantee uniform random key generation, secure key distribution, message-length keys, secure storage, and single use.
- Add a decision rule instructing the agent to redirect requests involving financial, medical, legal, credential, personal, or business-confidential data to established secure tools.
- Review all sample ciphertexts for mathematical correctness so educational examples do not create additional false confidence.
