Ae1
High
- Category
- analysis-evasion
- Content
- Put secrets in `~/.openclaw/.env` (or your process manager), **not** in `SKILL.md`.
- Confidence
- 100% confidence
- Finding
- Referenced artifact was not completely inspected
Security audit
Security checks for vulnerabilities and agentic risk
This skill is coherent for managing Sensorpro, but it gives an agent broad marketing-account powers, including deleting contacts and sending email, without strong guardrails.
Install only if you intend to let OpenClaw operate a Sensorpro marketing account. Use a dedicated least-privilege API user if Sensorpro supports it, keep credentials out of repositories, and require explicit approval before deleting contacts, invoking ForgetMe, changing account users, creating broadcasts, or sending email to real recipients.
- Put secrets in `~/.openclaw/.env` (or your process manager), **not** in `SKILL.md`.
Example (bash):
```bash
TOKEN=$(curl -sS -X POST "https://apinie.sensorpro.net/auth/sys/signin" \
-H "Content-Type: application/json" \
-H "x-apikey: ${SENSORPRO_API_KEY}" \
-d "{\"Organization\":\"${SENSORPRO_ORG}\",\"User\":\"${SENSORPRO_USER}\",\"Password\":\"${SENSORPRO_PASS}\"}" \The key is passed as an HTTP header: - `x-apikey: $SENSORPRO_API_KEY` ### How to create an API user Sensorpro distinguishes between UI users and API users: - **API users** have *no UI access* but **can** use the REST API. - **Normal users** have UI access but typically **cannot** use the REST API.
Example (bash):
```bash
TOKEN=$(curl -sS -X POST "https://apinie.sensorpro.net/auth/sys/signin" \
-H "Content-Type: application/json" \
-H "x-apikey: ${SENSORPRO_API_KEY}" \
-d "{\"Organization\":\"${SENSORPRO_ORG}\",\"User\":\"${SENSORPRO_USER}\",\"Password\":\"${SENSORPRO_PASS}\"}" \| python3 -c 'import sys,json; print(json.load(sys.stdin).get("Token",""))')
# Call an endpoint (example)
curl -sS -X POST "https://apinie.sensorpro.net/api/Contact/UpdateAdd/${TOKEN}" \
-H "Content-Type: application/json" \
-d '{"AddToList":[],"Contact":[{"PersonalEMail":"someone@example.com"}],"Options":{"Parameters":{},"Action":""},"ReturnFailedRequests":false,"UpdateByKey":"email","SendWelcomeEmail":false,"SignupFormId":"00000000-0000-0000-0000-000000000000"}'No suspicious patterns detected.