Communitygithub.com

sickn33/mejores-prácticas-de-seguridad-en-api

Implementa patrones de diseño seguro de API que incluyen autenticación, autorización, validación de entrada, limitación de velocidad y protección contra vulnerabilidades comunes de API.

¿Qué es mejores-prácticas-de-seguridad-en-api?

Esta habilidad proporciona pautas integrales y mejores prácticas para asegurar APIs, cubriendo áreas críticas como autenticación, autorización, validación de entrada, limitación de velocidad y mitigación de vulnerabilidades comunes de API como inyección SQL, XSS, CSRF y más. Es compatible con frameworks de API populares y plataformas en la nube, ofreciendo ejemplos de código en múltiples lenguajes. El resumen detalla cómo implementar mecanismos de autenticación robustos (JWT, OAuth2), controles de acceso finos, validación estricta de esquemas de entrada, políticas de limitación de velocidad contra abusos y técnicas de saneamiento de salida. Es útil para desarrolladores y equipos de seguridad que buscan reforzar la postura de seguridad de sus APIs sin sacrificar la funcionalidad o el rendimiento.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/api-security-best-practices

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace mejores-prácticas-de-seguridad-en-api?

Implementa patrones de diseño seguro de API que incluyen autenticación, autorización, validación de entrada, limitación de velocidad y protección contra vulnerabilidades comunes de API.

Autenticación

  • Utilizar tokens JWT o sesiones OAuth2
  • Almacenar tokens de forma segura (nunca en localStorage para aplicaciones web)
  • Implementar rotación periódica de tokens
  • Usar refresh tokens para mejorar la seguridad

Autorización

  • Aplicar el principio de privilegio mínimo
  • Validar la autorización en cada endpoint
  • Utilizar roles y permisos (RBAC)
  • Verificar la propiedad de los recursos

Validación de Entrada

  • Validar todos los datos de entrada (whitelist de tipos de datos, longitudes, patrones)
  • Sanitizar datos para prevenir inyección SQL, XSS, etc.
  • Usar esquemas como JSON Schema para validación estructural
  • Rechazar solicitudes malformadas con códigos de error 400

Limitación de Velocidad

  • Implementar limitación de velocidad por IP, usuario o endpoint
  • Utilizar algoritmos como Token Bucket, Leaky Bucket o ventana fija
  • Devolver headers X-RateLimit-Limit y X-RateLimit-Remaining
  • Configurar límites basados en el caso de uso (ej: 100 req/min para usuarios autenticados)

Protección Contra Vulnerabilidades Comunes

Inyección SQL

  • Usar consultas parametrizadas o ORMs
  • Escapar correctamente las cadenas dinámicas

Cross-Site Scripting (XSS)

  • Sanitizar datos de salida
  • Establecer Content-Type y charset correctos

Cross-Site Request Forgery (CSRF)

  • Utilizar tokens CSRF en formularios
  • Verificar headers referer u origin

Otras Vulnerabilidades

  • Implementar CORS correctamente
  • Usar HTTPS/TLS en todas las comunicaciones
  • Mantener las dependencias actualizadas

Ejemplo de Código

from flask import Flask, request, jsonify
from functools import wraps
import jwt

app = Flask(__name__)
app.config['SECRET_KEY'] = 'tu-clave-secreta'

def token_required(f):
    @wraps(f)
    def decorated(*args, **kwargs):
        token = request.headers.get('Authorization')
        if not token:
            return jsonify({'message': 'Token requerido'}), 403
        try:
            data = jwt.decode(token, app.config['SECRET_KEY'], algorithms=['HS256'])
        except:
            return jsonify({'message': 'Token inválido'}), 403
        return f(*args, **kwargs)
    return decorated

@app.route('/api/protegida')
@token_required
def proteccion():
    return jsonify({'message': 'Endpoint protegido accedido con éxito'})

if __name__ == '__main__':
    app.run(debug=True)

Conclusión

Implementar estas mejores prácticas ayuda a construir APIs robustas y seguras, reduciendo el riesgo de violaciones de datos y mejorando la confianza del usuario. Revisa y actualiza periódicamente tus medidas de seguridad conforme evolucionan las amenazas.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

sickn33/3d-web-experience

Expert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing depth to web experiences.

sickn33/agent-memory-mcp

A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).

sickn33/agent-memory-systems

Memory is the cornerstone of intelligent agents. Without it, every interaction starts from zero. This skill covers the architecture of agent memory: short-term (context window), long-term (vector stores), and the cognitive architectures that organize them.

sickn33/ai-agents-architect

Expert in designing and building autonomous AI agents. Masters tool use, memory systems, planning strategies, and multi-agent orchestration.

sickn33/api-documentation-generator

Generate comprehensive, developer-friendly API documentation from code, including endpoints, parameters, examples, and best practices

sickn33/api-patterns

API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.

sickn33/app-store-optimization

Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store

sickn33/architecture

Architectural decision-making framework. Requirements analysis, trade-off evaluation, ADR documentation. Use when making architecture decisions or analyzing system design.

sickn33/audio-transcriber

Transform audio recordings into professional Markdown documentation with intelligent summaries using LLM integration

sickn33/aws-serverless

Specialized skill for building production-ready serverless applications on AWS. Covers Lambda functions, API Gateway, DynamoDB, SQS/SNS event-driven patterns, SAM/CDK deployment, and cold start optimization.

sickn33/backend-architect

Expert backend architect specializing in scalable API design, microservices architecture, and distributed systems.

sickn33/backend-dev-guidelines

You are a senior backend engineer operating production-grade services under strict architectural and reliability constraints. Use when routes, controllers, services, repositories, express middleware, or prisma database access.

sickn33/bash-linux

Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.

sickn33/bash-scripting

Bash scripting workflow for creating production-ready shell scripts with defensive patterns, error handling, and testing.

sickn33/brainstorming

Use before creative or constructive work (features, architecture, behavior). Transforms vague ideas into validated designs through disciplined reasoning and collaboration.

sickn33/browser-automation

Browser automation powers web testing, scraping, and AI agent interactions. The difference between a flaky script and a reliable system comes down to understanding selectors, waiting strategies, and anti-detection patterns.

sickn33/browser-extension-builder

Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions. Covers extension architecture, manifest v3, content scripts, popup UIs, monetization strategies, and Chrome Web Store publishing.

sickn33/bullmq-specialist

BullMQ expert for Redis-backed job queues, background processing, and reliable async execution in Node.js/TypeScript applications.

sickn33/bun-development

Fast, modern JavaScript/TypeScript development with the Bun runtime, inspired by [oven-sh/bun](https://github.com/oven-sh/bun).

sickn33/cc-skill-security-review

This skill ensures all code follows security best practices and identifies potential vulnerabilities. Use when implementing authentication or authorization, handling user input or file uploads, or creating new API endpoints.

Skills relacionados