other
Error
- Location
- config.example.json:47
- Finding
- Automatic External Publication May Disclose Sensitive Production Data<![CDATA[ ## Vulnerability Details **File Location**: `config.example.json:47-52`; related data model and workflow in `skill.md:97-106`, `skill.md:119-123`, `skill.md:178`, and `skill.md:282-297` **Vulnerability Type**: Uncontrolled external data disclosure **Risk Level**: High ### Vulnerable Code ```json "evomap": { "apiUrl": "https://evomap.ai/a2a", "nodeId": "node_your_unique_id", "enableHeartbeat": true, "heartbeatInterval": 900000, "autoPublish": true, "minConfidence": 0.8 } ``` The corresponding Capsule data model permits unrestricted monitoring information and potentially sensitive remediation content: ```typescript solution: { type: 'code_change' | 'config_change' | 'investigation'; files: Array<{ path: string; diff?: string; content?: string; }>; description: string; }; context: { monitoring_data?: any; root_cause?: string; affected_services?: string[]; }; ``` ### Technical Analysis The example configuration enables both recurring heartbeat traffic and automatic publication to the external EvoMap endpoint. The documented Capsule structure can include unrestricted `monitoring_data`, internal service identifiers, root-cause information, file paths, source diffs, and file contents. The skill instructs users to sanitize sensitive information, but no mandatory redaction mechanism, payload allowlist, secret detection, or per-publication approval requirement is defined. A confidence threshold is a quality measure and does not establish whether a payload is safe to disclose. External publication is not required to perform the skill's core incident collection, root-cause analysis, ticket management, or code review functions. Enabling it by default therefore exceeds the minimum network privileges necessary for those functions. The static pre-scan warnings for `README.md` and `README.zh.md` were reviewed. Those files do not themselves contain a command that directly transmits secrets. The confirmed outbound-data risk ...[truncated 1432 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Change `autoPublish` and `enableHeartbeat` defaults to `false`. 2. Require explicit, case-specific operator approval before every external publication. 3. Show the complete destination and outbound payload to the operator before consent. 4. Apply a strict outbound schema allowlist rather than permitting `monitoring_data?: any`. 5. Prohibit raw logs, traces, source contents, diffs, credentials, tokens, personal data, and internal identifiers from publication. 6. Add deterministic secret and PII detection before transmission, with fail-closed behavior. 7. Minimize published data to generalized remediation guidance that cannot identify the organization or its infrastructure. 8. Separate incident-analysis permissions from external-publication permissions so that publication can remain disabled without affecting core functionality. 9. Document data retention, ownership, access, and deletion behavior for the external service. 10. Record immutable audit events for approval, redaction results, destination, payload digest, and publication outcome. ]]>
