security

GitHub

提供Serverless应用安全模型参考,涵盖Bridge防御、IDOR防护、密钥管理、Cognito认证及IAM最小权限。作为编写或审查代码时的安全检查清单,确保系统安全性。

.codex/skills/security/SKILL.md serithemage/serverless-openclaw

Trigger Scenarios

编写涉及身份验证的代码 审查代码中的权限配置 检查敏感信息存储方式 设计API网关安全策略

Install

npx skills add serithemage/serverless-openclaw --skill security -g -y
More Options

Non-standard path

npx skills add https://github.com/serithemage/serverless-openclaw/tree/main/.codex/skills/security -g -y

Use without installing

npx skills use serithemage/serverless-openclaw@security

指定 Agent (Claude Code)

npx skills add serithemage/serverless-openclaw --skill security -a claude-code -g -y

安装 repo 全部 skill

npx skills add serithemage/serverless-openclaw --all -g -y

预览 repo 内 skill

npx skills add serithemage/serverless-openclaw --list

SKILL.md

Frontmatter
{
    "name": "security",
    "description": "References 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.",
    "allowed-tools": "Read, Glob, Grep"
}

Security Reference

Security Model Details

Authentication, Bridge defense, IDOR prevention, secret management, IAM roles:

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 localhost to block external access
  • Running as non-root user (USER openclaw)
  • /health returns only { "status": "ok" } (no internal info exposure)

Secrets

  • API keys/tokens NOT written to openclaw.json
  • Using config.auth = { method: "env" }
  • delete config.auth?.apiKey applied
  • delete config.gateway?.auth?.token applied
  • Delivered only via Secrets Manager → environment variables

IDOR

  • userId determined server-side (JWT sub or 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-Token verification + 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/PutObject on sessions/* prefix only
  • Lambda IAM: SSM:GetParameter on secrets/* prefix only (no wildcard)
  • Lambda IAM: DynamoDB:GetItem/PutItem/DeleteItem on TaskState table only
  • Lambda IAM: cloudwatch:PutMetricData for custom metrics (namespace-restricted)
  • SessionLock prevents 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

Version History

  • 504300d Current 2026-07-25 09:02

Same Skill Collection

.agents/skills/architecture/SKILL.md
.agents/skills/cold-start/SKILL.md
.agents/skills/context/SKILL.md
.agents/skills/cost/SKILL.md
.agents/skills/deploy/SKILL.md
.agents/skills/dev/SKILL.md
.agents/skills/implement/SKILL.md
.agents/skills/lambda-migration/SKILL.md
.agents/skills/openclaw/SKILL.md
.agents/skills/release/SKILL.md
.agents/skills/security/SKILL.md
.agents/skills/solo-maintainer-guard/SKILL.md
.agents/skills/solo-maintainer-inbox/SKILL.md
.agents/skills/solo-maintainer/SKILL.md
.agents/skills/status/SKILL.md
.agents/skills/troubleshoot/SKILL.md
.claude/skills/architecture/SKILL.md
.claude/skills/cold-start/SKILL.md
.claude/skills/context/SKILL.md
.claude/skills/cost/SKILL.md
.claude/skills/deploy/SKILL.md
.claude/skills/dev/SKILL.md
.claude/skills/implement/SKILL.md
.claude/skills/lambda-migration/SKILL.md
.claude/skills/openclaw/SKILL.md
.claude/skills/release/SKILL.md
.claude/skills/security/SKILL.md
.claude/skills/solo-maintainer-guard/SKILL.md
.claude/skills/solo-maintainer-inbox/SKILL.md
.claude/skills/solo-maintainer/SKILL.md
.claude/skills/status/SKILL.md
.claude/skills/troubleshoot/SKILL.md
.codex/skills/architecture/SKILL.md
.codex/skills/cold-start/SKILL.md
.codex/skills/context/SKILL.md
.codex/skills/cost/SKILL.md
.codex/skills/deploy/SKILL.md
.codex/skills/dev/SKILL.md
.codex/skills/implement/SKILL.md
.codex/skills/lambda-migration/SKILL.md
.codex/skills/openclaw/SKILL.md
.codex/skills/release/SKILL.md
.codex/skills/solo-maintainer-guard/SKILL.md
.codex/skills/solo-maintainer-inbox/SKILL.md
.codex/skills/solo-maintainer/SKILL.md
.codex/skills/status/SKILL.md
.codex/skills/troubleshoot/SKILL.md

Metadata

Files
0
Version
504300d
Hash
ace99aca
Indexed
2026-07-25 09:02

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-20 10:18
浙ICP备14020137号-1 $Гость$