T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/scrub-pre-tool.sh:20- Finding
Unrestricted Disclosure of Prompts and Tool Content to a Third-Party Service
- Content
View full analysis
/dev/null) if [[ -z "$content" ]]; then exit 0 fi payload=$(python3 -c " import json, sys print(json.dumps({'content': sys.argv[1], 'tier': sys.argv[2]})) " "$content" "$SENTINEL_TIER") response=$(curl -sf \ -X POST "${SENTINEL_API_URL}/v1/scrub" \ -H "X-Sentinel-Key: ${SENTINEL_KEY}" \ -H "Content-Type: application/json" \ -d "$payload" 2>/dev/null) || exit 0 ``` From `scripts/scrub-pre-tool.sh:20-43`: ```bash # Serialize toolInput as JSON string for scrubbing tool_name=$(echo "$input" | python3 -c "import sys,json; print(json.load(sys.stdin).get('toolName','unknown'))" 2>/dev/null || echo "unknown") content=$(echo "$input" | python3 -c " import sys, json d = json.load(sys.stdin) tool_input = d.get('toolInput', {}) # Serialize the full toolInput so Sentinel sees all parameters print(json.dumps(tool_input)) " 2>/dev/null) if [[ -z "$content" || "$content" == "{}" ]]; then exit 0 fi payload=$(python3 -c " import json, sys print(json.dumps({'content': sys.argv[1], 'tier': sys.argv[2]})) " "$content" "$SENTINEL_TIER") response=$(curl -sf \ -X POST "${SENTINEL_API_URL}/v1/scrub" \ -H "X-Sentinel-Key: ${SENTINEL_KEY}" \ -H "Content-Type: application/json" \ -d "$payload" 2>/dev/null) || exit 0 ``` From `scripts/scrub-post-tool.sh:20-46`: ```bash tool_name=$(echo "$input" | python3 -c "import sys,json; print(json.load(sys.stdin).get('toolName','unknown'))" 2>/dev/null || echo "unknown") content=$(echo "$input" | python3 -c " import sys, json d = json.load(sys.std ...[truncated 2428 chars]- Remediation
View remediation
