Security Reference
SkillCloud & infraReferences Serverless OpenClaw security model. Covers Bridge 6-layer defense, IDOR prevention, secret management, Cognito authentication, and IAM least privilege. Use as a security checklist when writing or reviewing code.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Security Reference skill
What this skill tells your AI
The instructions your AI receives, as published by serithemage/serverless-openclaw in .agents/skills/security/SKILL.md and read by ahel’s review.
Security Model Details
Authentication, Bridge defense, IDOR prevention, secret management, IAM roles:
- architecture.md §7 — Bridge defense, authentication, IDOR, secrets, IAM
Security Checklist (For Code Writing/Review)
Bridge Server
- Bearer token authentication applied to all endpoints except
/health - TLS (self-signed) applied (
https.createServer) - Gateway bound to
--bind localhostto block external access - Running as non-root user (
USER openclaw) -
/healthreturns only{ "status": "ok" }(no internal info exposure)
Secrets
- API keys/tokens NOT written to
openclaw.json - Using
config.auth = { method: "env" } -
delete config.auth?.apiKeyapplied -
delete config.gateway?.auth?.tokenapplied - Delivered only via Secrets Manager → environment variables
IDOR
- userId determined server-side (JWT
subor connectionId reverse lookup) - Client-provided userId not trusted
- DynamoDB query PK uses
jwt.sub
Authentication
- WebSocket:
?token={jwt}→ verified in ws-connect - REST API: Cognito User Pool Authorizer applied
- Telegram:
X-Telegram-Bot-Api-Secret-Tokenverification + pairing check
IAM
- Lambda: access only to required DynamoDB tables (resource ARN restricted)
- Fargate: access only to S3 data bucket
- ECS permissions: Condition restricted to specific cluster
- PassRole: only task-role and exec-role allowed
Lambda Agent (Phase 2)
See architecture.md §security for full Lambda security details.
- Lambda IAM least privilege:
S3:GetObject/PutObjectonsessions/*prefix only - Lambda IAM:
SSM:GetParameteronsecrets/*prefix only (no wildcard) - Lambda IAM:
DynamoDB:GetItem/PutItem/DeleteItemon TaskState table only - Lambda IAM:
cloudwatch:PutMetricDatafor custom metrics (namespace-restricted) -
SessionLockprevents concurrent Lambda invocations accessing same session - No secrets on disk:
HOME=/tmp, env vars only (never write API keys to files) - Lambda container: non-root user, read-only root filesystem where possible
Signals
- GitHub stars
- 195
- Forks
- 40
- Last commit
- Mar 2026
Advanced
- Catalog kind
- skill
- Gateway key
security-serithemage- Source
- github.com/serithemage/serverless-openclaw