T09 · Insecure Skill Coding Practices
- Location
scripts/lobsterlan.sh:88- Finding
Bearer Tokens and Agent Messages Transmitted over Plaintext HTTP
- Content
View full analysis
&1) ``` Asynchronous delegation has the same issue: ```bash local url="http://${host}:${port}/hooks/agent" warn_if_not_localhost "$host" local response response=$(curl -sS --max-time 10 "$url" \ -H "Authorization: Bearer ${token}" \ -H "Content-Type: application/json" \ -H "X-LobsterLAN-Agent: ${self_id}" \ -d "$(LOBSTERLAN_SELF="$self_id" python3 -c " import json, sys, os msg = sys.stdin.read() print(json.dumps({ 'message': msg, 'name': os.environ['LOBSTERLAN_SELF'], 'wakeMode': 'now', 'deliver': False })) " <<< "$message")" 2>&1) ``` ### Technical Analysis Both authenticated communication paths construct URLs with a fixed `http://` scheme. Requests include gateway or webhook bearer tokens, the local agent identity, and user-supplied messages. Responses to synchronous requests also travel over the same unencrypted connection. The function `warn_if_not_localhost` warns when the destination is not loopback, but it does not stop the request. Consequently, a user can unintentionally transmit credentials and potentially sensitive task data over an untrusted or compromised LAN. The e ...[truncated 2550 chars]- Remediation
View remediation
