T09 · Insecure Skill Coding Practices
- Location
pipeline-cli.yaml:30- Finding
Incomplete Redaction Patterns Can Leak Sensitive Credentials
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This log-sanitizing skill is coherent and not malicious, but it should be reviewed because it handles secrets, exposes an unauthenticated HTTP endpoint on all interfaces, and its redaction rules can miss common secret formats.
Install only if you understand its limits: use the CLI mode or bind the MCP service to localhost, avoid exposing the HTTP endpoint to a network without authentication and request limits, and do not rely on this as a complete sanitizer for JSON, quoted, multiline, or unusual credential formats.
pipeline-cli.yaml:30Incomplete Redaction Patterns Can Leak Sensitive Credentials
pipeline-mcp.yaml:15Unauthenticated HTTP Sanitization Service Listens on All Network Interfaces
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
PORT=8080 expanso-edge run pipeline-mcp.yaml &
curl -X POST http://localhost:8080/sanitize
-H "Content-Type: application/json"
-d '{"log": "password=secret123 api_key=sk-123abc"}'
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
#
# Usage:
# PORT=8080 expanso-edge run pipeline-mcp.yaml &
# curl -X POST http://localhost:8080/sanitize \
# -d '{"log": "password=secret123 token=abc123"}'
#
# No API key needed - runs entirely locally.
The pipeline exposes an HTTP server on 0.0.0.0 with no authentication, and the endpoint accepts arbitrary POST data for processing. Even though the function is local log sanitization, binding to all interfaces makes the service reachable from other hosts and can enable unauthorized use, data exposure to the service, or abuse for denial of service via large or frequent requests.
No suspicious patterns detected.