T09 · Insecure Skill Coding Practices
- Location
SKILL.md:49- Finding
Compliance Validation Disabled by Default for Externally Generated Reports
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 49–52
Vulnerability Type: Default compliance-check bypass and unsafe external context handling
Risk Level: MediumVulnerable Code
markdown 2. **Generate the report**: Use the `generate_report` tool with: - `request`: A clear, detailed description of the report - `context`: Any additional context the user provided - `skip_compliance`: true (unless the user specifically needs regulatory compliance checking)Technical Analysis
The skill directs the agent to set
skip_compliancetotrueby default when invoking the externalmcp:akashic:generate_reporttool. This is a fail-open configuration: an available validation control is disabled unless the user affirmatively requests it.The same instruction permits forwarding any additional user-provided context without requiring data classification, minimization, redaction, or informed confirmation. If that context contains confidential, personal, proprietary, or regulated information, it may cross the MCP service trust boundary unnecessarily.
The external MCP implementation is not included in the audited project, so its storage, processing, retention, and compliance behavior cannot be independently verified. No evidence establishes malicious behavior by the MCP service; the vulnerability is the skill's insecure default and lack of safeguards around transmitted context.
Attack Path
- A user requests a report involving regulated, confidential, or otherwise sensitive subject matter.
- The user supplies sensitive information as report context.
- Following the skill instructions, the agent passes the request and context to
mcp:akashic:generate_report. - The agent sets
skip_compliancetotruebecause compliance checking was not explicitly requested. - The external service processes the information without the available compliance-validation step.
- The resulting repor ...[truncated 827 chars]
- Remediation
View remediation
Remediation Suggestions
- Change the secure default to
skip_compliance: false. - Permit compliance checks to be disabled only after an explicit, informed user opt-out for a clearly non-regulated use case.
- Add a mandatory sensitivity review before transmitting user context to an MCP service.
- Minimize context to information strictly necessary for report generation.
- Redact credentials, personal data, confidential business information, health data, financial data, and other regulated content before transmission.
- Inform users when their information will be processed by an external MCP service and obtain confirmation where appropriate.
- Document the MCP provider's data retention, geographic processing, access controls, encryption, and deletion policies.
- Add output warnings and human review requirements for reports involving regulated or high-impact decisions.
- Record whether compliance validation was enabled so that generated reports have an auditable processing history.
A hardened instruction could use the following pattern:
markdown - Use `skip_compliance: false` by default. - Before sending context, remove unnecessary sensitive information and confirm external processing with the user when sensitive data is involved. - Disable compliance validation only when the user explicitly opts out after being informed of the risks and the report is not for a regulated use case.- Change the secure default to
