T09 · Insecure Skill Coding Practices
- Location
credentials.json:1- Finding
Plaintext Default Administrative Credentials and Insecure Authentication Transport
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly a straightforward ThingsBoard API helper, but it ships default credentials and documents high-impact operations without enough safeguards.
Review this skill before installing. Use it only against a ThingsBoard server you control, replace the bundled credentials with unique least-privilege credentials, avoid committing credentials.json, use HTTPS for any non-local server, and require explicit confirmation before deleting telemetry or making dashboards public.
credentials.json:1Plaintext Default Administrative Credentials and Insecure Authentication Transport
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
credentials.json:
[
{
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
export TB_TOKEN=$(curl -s -X POST "$TB_URL/api/auth/login" \
-H "Content-Type: application/json" \
-d "{\"username\":\"$TB_USERNAME\",\"password\":\"$TB_PASSWORD\"}" | jq -r '.token')
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
export TB_TOKEN=$(curl -s -X POST "$TB_URL/api/auth/login" \
-H "Content-Type: application/json" \
-d "{\"username\":\"$TB_USERNAME\",\"password\":\"$TB_PASSWORD\"}" | jq -r '.token')
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
## Usage
All commands use curl to interact with the ThingsBoard REST API.
### Authentication
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Refresh token (when expired):
curl -s -X POST "$TB_URL/api/auth/token" \
-H "Content-Type: application/json" \
-d "{\"refreshToken\":\"$TB_REFRESH_TOKEN\"}" | jq -r '.token'
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Save device attributes:
curl -s -X POST "$TB_URL/api/plugins/telemetry/DEVICE/{deviceId}/attributes/SERVER_SCOPE" \
-H "X-Authorization: Bearer $TB_TOKEN" \
-H "Content-Type: application/json" \
-d '{"attribute1":"value1","attribute2":"value2"}' | jq
The skill documents a destructive telemetry deletion operation without any warning that the action may be irreversible or data-destructive. In an agent context, this increases the chance of accidental deletion of production telemetry or historical records by users who may treat examples as safe defaults.
The skill describes making dashboards public and retrieving public dashboard info without warning that this may expose sensitive operational, telemetry, or tenant information to unauthenticated users. In an automation setting, users may unknowingly publish internal dashboards and create unintended public access.
No suspicious patterns detected.