T09 · Insecure Skill Coding Practices
- Location
references/audit-tools.md:9- Finding
Potential Disclosure of Confidential Corpus Content to Third-Party Web Services
- Content
View full analysis
Vulnerability Details
File Location:
references/audit-tools.md, lines 9–29
Vulnerability Type: Uncontrolled transmission of potentially sensitive content to an external service
Risk Level: MediumVulnerable Code Snippet:
markdown ### Hemingway Editor Browser tool at hemingwayapp.com (or the desktop / pasteable web version). Highlights: - Sentences hard to read (yellow) and very hard (red) - Passive voice - Adverbs - Complex phrases ("utilize" → "use") - Reading grade level **Usage**: paste 1000 words. Read off the grade level. Targets per category: | Category | Target grade | | -------------------- | ------------ | | B2C / consumer brand | 6–9 | | B2B SaaS | 9–12 | | NGO / nonprofit | 7–10 | | Industry / deep-tech | 12–16 | | Consulting | 11–14 |The same file also recommends additional external readability services at lines 165–171:
markdown ## Web-based readability tests For a quick sanity check without local tooling: - **Hemingway Editor** (hemingwayapp.com) — grade level, complex sentences, passive voice, adverbs - **Datayze Sentence Length Checker** (datayze.com/sentence-length-checker) — distribution histogram - **WebFX Readability Test** (webfx.com/tools/read-able) — multiple readability scoresTechnical Analysis
The Skill instructs users or agents to paste 1,000 words of a content corpus into a third-party website. The corpus accepted by the Skill may contain unpublished content, ghostwritten material, internal operational information, regulated claims, or other confidential text. Although
references/discovery-questions.mdasks about confidentiality constraints, the external-tool workflow does not require the agent to apply those constraints before transmitting data.This is an insecure data-handling practice because it lacks:
- Explicit user authorization fo ...[truncated 2346 chars]
- Remediation
View remediation
Remediation Suggestions
- Make local analysis the default. Use local readability formulas and the included Python tooling rather than web-based services.
- Add a mandatory data-classification gate. Before external processing, classify the selected material as public, internal, confidential, regulated, or personal.
- Prohibit sensitive submissions. Explicitly forbid uploading unpublished, confidential, personal, customer-related, legally privileged, or regulated content to third-party tools.
- Require destination-specific consent. Obtain explicit user approval that identifies the service, the exact text to be transmitted, and the purpose of transmission.
- Minimize and redact data. Remove names, identifiers, customer information, proprietary figures, and unnecessary context. Submit only the smallest sample needed.
- Document third-party risks. Warn that external services may log, process, or retain submitted text under their own privacy and retention policies.
- Support self-hosted alternatives. Recommend local or self-hosted LanguageTool, Vale, and readability libraries for sensitive corpora.
- Restrict network tools by mode. Avoid granting or using
WebFetchandWebSearchduring local corpus analysis unless external research is explicitly requested and approved. - Enforce fail-closed behavior. If sensitivity or authorization is unclear, keep all corpus processing local.
