MCP HubMCP Hub
스킬 목록으로 돌아가기

shift-camouflage

pjt222
업데이트됨 2 days ago
8 조회
17
2
17
GitHub에서 보기
개발api

정보

시프트-캐모플라지 기술은 적응형 위장술에서 영감을 받아 시스템이 다양한 소비자에게 동적으로 다른 API 인터페이스를 제공할 수 있게 합니다. 이 기술은 공격 표면을 줄이고, 기능 플래그를 구현하며, 핵심 변경 없이 상황에 맞춰 동작을 조정하는 데 사용됩니다. 주요 기능으로는 환경 평가, 동적 인터페이스 생성, 행동 다형성이 포함됩니다.

빠른 설치

Claude Code

추천
기본
npx skills add pjt222/agent-almanac -a claude-code
플러그인 명령대체
/plugin add https://github.com/pjt222/agent-almanac
Git 클론대체
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/shift-camouflage

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서

Shift Camouflage

Implementar transformación adaptativa de superficie — interfaces polimórficas, comportamiento sensible al contexto y presentación dinámica — inspirada en los cromatóforos de la sepia. La superficie del sistema se adapta a su entorno mientras su núcleo permanece estable, reduciendo la superficie de ataque y optimizando la interacción con observadores diversos.

Cuándo Usar

  • Un sistema debe presentar diferentes interfaces a diferentes consumidores (versionado de API, multi-tenant, basado en roles)
  • Reducir la superficie de ataque exponiendo solo lo que cada observador necesita ver
  • Implementar feature flags, despliegues progresivos o pruebas A/B a nivel de interfaz
  • Un sistema necesita adaptar su comportamiento al contexto ambiental sin cambios en el núcleo
  • Proteger la arquitectura interna del acoplamiento externo (los observadores se acoplan a la superficie, no a la estructura)
  • Complementar adapt-architecture cuando el cambio de superficie es suficiente y la transformación profunda es innecesaria

Entradas

  • Requerido: El sistema cuya superficie necesita adaptación
  • Requerido: Los observadores/consumidores y sus diferentes necesidades de interfaz
  • Opcional: Diseño de interfaz actual y sus limitaciones
  • Opcional: Modelo de amenazas (qué debe ocultarse de qué observadores)
  • Opcional: Sistema de feature flags o infraestructura de despliegue progresivo
  • Opcional: Restricciones de rendimiento (la generación dinámica de superficie tiene sobrecarga)

Procedimiento

Paso 1: Mapear el Paisaje de Observadores

Identificar quién interactúa con el sistema y qué necesita ver cada observador.

  1. Catalogar todos los observadores:
    • Usuarios externos (usuarios finales, consumidores de API, socios)
    • Servicios internos (microservicios, trabajos en segundo plano, herramientas de administración)
    • Adversarios (atacantes, scrapers, competidores)
    • Reguladores (auditores, verificaciones de cumplimiento)
  2. Para cada observador, definir:
    • Lo que necesitan ver (superficie de interfaz requerida)
    • Lo que no deberían ver (superficie oculta)
    • Lo que esperan ver (superficie de compatibilidad — puede diferir de lo que necesitan)
    • Cómo interactúan (protocolo, frecuencia, sensibilidad)
  3. Crear la matriz observador-superficie:
Observer-Surface Matrix:
┌──────────────┬────────────────────────┬─────────────────┬──────────────┐
│ Observer     │ Required Surface       │ Hidden Surface  │ Threat Level │
├──────────────┼────────────────────────┼─────────────────┼──────────────┤
│ End users    │ Public API v2, UI      │ Internal APIs,  │ Low          │
│              │                        │ admin endpoints │              │
├──────────────┼────────────────────────┼─────────────────┼──────────────┤
│ Partner API  │ Partner API, webhooks  │ Internal logic, │ Medium       │
│              │                        │ user data       │              │
├──────────────┼────────────────────────┼─────────────────┼──────────────┤
│ Admin tools  │ Full API, debug        │ Raw data store  │ Low          │
│              │ endpoints              │ access          │              │
├──────────────┼────────────────────────┼─────────────────┼──────────────┤
│ Adversaries  │ Nothing (minimal)      │ Everything      │ High         │
│              │                        │ possible        │              │
└──────────────┴────────────────────────┴─────────────────┴──────────────┘

Esperado: Un paisaje completo de observadores con requisitos de superficie por observador. Esto impulsa todo el diseño de camuflaje posterior.

En caso de fallo: Si la identificación de observadores es incompleta, comenzar con los dos extremos: el observador más privilegiado (admin) y el más restringido (adversario). Diseñar superficies para estos dos, luego interpolar para los observadores entre ellos.

Paso 2: Diseñar el Mapeo de Cromatóforos

Crear el mapeo entre el contexto del observador y la presentación de superficie — la capa de "cromatóforos".

  1. Definir señales de contexto:
    • Identidad de autenticación -> determina nivel de privilegio
    • Origen de la solicitud -> contexto geográfico, de red o de aplicación
    • Feature flags -> habilita/deshabilita elementos específicos de superficie
    • Tiempo/fase -> etapa de despliegue, horario laboral, ventanas de mantenimiento
    • Carga/salud -> el modo degradado puede presentar superficie reducida
  2. Diseñar las reglas de generación de superficie:
    • Para cada combinación de señales de contexto, definir qué elementos de superficie son:
      • Visibles: incluidos en la respuesta/interfaz
      • Ocultos: excluidos completamente (ni siquiera los mensajes de error revelan su existencia)
      • Transformados: presentes pero modificados para este observador (esquema diferente, datos simplificados)
      • Señuelo: elementos de superficie deliberadamente engañosos para contextos adversariales
  3. Implementar la capa de cromatóforos:
    • Un middleware/proxy delgado que se sitúa entre el sistema central y los observadores
    • Evalúa señales de contexto en cada solicitud
    • Aplica la configuración de superficie apropiada
    • Nunca modifica el comportamiento central — solo filtra y transforma la superficie
Chromatophore Architecture:
┌──────────────────────────────────────────────────────┐
│ Observer Request                                      │
│        │                                              │
│        ↓                                              │
│ ┌─────────────────┐                                   │
│ │ Context Extract  │ ← Auth, origin, flags, time      │
│ └────────┬────────┘                                   │
│          ↓                                            │
│ ┌─────────────────┐                                   │
│ │ Surface Select   │ ← Observer-surface matrix lookup  │
│ └────────┬────────┘                                   │
│          ↓                                            │
│ ┌─────────────────┐                                   │
│ │ Core System      │ ← Processes request normally      │
│ └────────┬────────┘                                   │
│          ↓                                            │
│ ┌─────────────────┐                                   │
│ │ Surface Filter   │ ← Remove/transform/add elements   │
│ └────────┬────────┘                                   │
│          ↓                                            │
│ Observer Response (adapted surface)                    │
└──────────────────────────────────────────────────────┘

Esperado: Un mapeo de cromatóforos que traduce el contexto del observador en configuración de superficie. El mapeo es explícito, auditable y separado de la lógica central.

En caso de fallo: Si el mapeo se vuelve demasiado complejo (demasiadas combinaciones de contexto), simplificar a superficies basadas en roles: definir 3-5 perfiles de superficie (público, socio, admin, interno, mínimo) y mapear cada observador a un perfil.

Paso 3: Implementar Polimorfismo Conductual

Hacer que el comportamiento del sistema se adapte al contexto, no solo su apariencia superficial.

  1. Identificar comportamientos dependientes del contexto:
    • Nivel de detalle de respuesta (verbose para admin, mínimo para público)
    • Limitación de tasa (generosa para socios, estricta para llamantes desconocidos)
    • Mensajes de error (detallados para internos, genéricos para externos)
    • Frescura de datos (tiempo real para premium, en caché para estándar)
    • Disponibilidad de funciones (completa para beta testers, solo estable para general)
  2. Implementar variantes conductuales:
    • Cada variante es una ruta de comportamiento completa y probada
    • El contexto determina qué variante se ejecuta
    • Las variantes comparten lógica central pero difieren en presentación y política
  3. Integración de feature flags:
    • Los feature flags controlan qué variantes conductuales están activas
    • Despliegue progresivo: exponer nuevo comportamiento a un porcentaje de observadores, incrementando con el tiempo
    • Circuit breakers: revertir automáticamente al comportamiento seguro si la nueva variante causa errores

Esperado: El comportamiento del sistema se adapta al contexto del observador — la misma lógica central produce respuestas apropiadas para diferentes audiencias. Los feature flags permiten el despliegue progresivo de nuevos comportamientos.

En caso de fallo: Si el polimorfismo conductual crea demasiadas rutas de código, consolidar a un modelo de pipeline: lógica central -> capa de política -> capa de presentación. El polimorfismo vive solo en las capas de política y presentación, manteniendo la lógica central singular.

Paso 4: Reducir la Superficie de Ataque

Minimizar lo que los adversarios pueden observar e interactuar.

  1. Aplicar el principio de superficie mínima:
    • Cada observador ve solo lo que necesita — nada más
    • Los observadores no autenticados ven la superficie mínima posible
    • Los mensajes de error nunca revelan estructura interna (sin trazas de pila, sin rutas internas, sin números de versión)
  2. Implementar reducción activa de superficie:
    • Eliminar páginas por defecto, encabezados y endpoints que revelan la pila tecnológica
    • Aleatorizar características de respuesta no esenciales (jitter de temporización, orden de encabezados)
    • Deshabilitar endpoints de API no utilizados completamente (no solo ocultos — realmente desactivados)
  3. Desplegar disrupción de patrones:
    • Variar características de respuesta para derrotar el fingerprinting
    • Introducir imprevisibilidad controlada en aspectos no funcionales
    • Asegurar que el comportamiento funcional permanezca determinístico mientras las características de superficie varían
  4. Monitorear el reconocimiento:
    • Detectar patrones de solicitudes que sondean superficie oculta (ataques de enumeración)
    • Alertar sobre accesos repetidos a endpoints inexistentes (fuzzing de rutas)
    • Rastrear y correlacionar patrones de reconocimiento entre sesiones (ver defend-colony)

Esperado: Una superficie de ataque mínima donde los adversarios no pueden determinar fácilmente la pila tecnológica del sistema, su estructura interna o sus capacidades ocultas. Los intentos de reconocimiento son detectados y rastreados.

En caso de fallo: Si la reducción de superficie rompe consumidores legítimos, la matriz observador-superficie es incompleta — necesidades legítimas están siendo ocultadas. Revisar el Paso 1 y actualizar la matriz. Si la aleatorización causa problemas, reducir la aleatorización a aspectos solo no funcionales (temporización, encabezados) y mantener las respuestas funcionales determinísticas.

Paso 5: Mantener la Coherencia de Superficie

Asegurar que la superficie dinámica permanezca consistente, depurable y mantenible.

  1. Pruebas de superficie:
    • Probar cada perfil de observador explícitamente (¿admin ve la superficie admin? ¿público ve la superficie pública?)
    • Probar transiciones de superficie (¿qué pasa cuando el contexto de un observador cambia a mitad de sesión?)
    • Probar modos de falla de superficie (¿qué superficie aparece si la capa de cromatóforos falla?)
  2. Documentación de superficie:
    • Documentar cada perfil de observador y su configuración de superficie
    • Documentar las señales de contexto y sus efectos en la selección de superficie
    • Mantener la documentación sincronizada con el comportamiento real (probar la documentación contra la realidad)
  3. Soporte de depuración:
    • El modo admin/depuración revela qué perfil de superficie está activo y por qué
    • El logging captura qué configuración de superficie fue aplicada a cada solicitud
    • Capacidad de reproducir una solicitud a través de un perfil de superficie específico para depuración
  4. Evolución de superficie:
    • Agregar nuevos elementos de superficie: agregar a los perfiles apropiados, probar, desplegar
    • Eliminar elementos de superficie: período de aviso de deprecación, luego eliminación
    • Cambiar comportamiento de superficie: controlado por feature flags, despliegue progresivo

Esperado: Un sistema de adaptación de superficie mantenible, testeable y bien documentado. La naturaleza dinámica no compromete la capacidad de depurar, documentar o evolucionar las interfaces.

En caso de fallo: Si la capa de cromatóforos se convierte en una pesadilla de depuración, agregar transparencia: cada respuesta incluye un encabezado de traza (visible solo para el perfil admin/depuración) indicando qué perfil de superficie fue aplicado y qué señales de contexto lo determinaron.

Validación

  • El paisaje de observadores está mapeado con requisitos de superficie por observador
  • El mapeo de cromatóforos traduce contexto a configuración de superficie
  • El polimorfismo conductual adapta respuestas al contexto del observador
  • La superficie de ataque está minimizada para observadores adversariales
  • Cada perfil de observador está explícitamente probado
  • El modo de falla de superficie presenta un valor por defecto seguro (superficie mínima)
  • El modo depuración/admin puede inspeccionar la configuración de superficie activa
  • La documentación de superficie coincide con el comportamiento real

Errores Comunes

  • Explosión de complejidad de superficie: Demasiados perfiles de observador con demasiadas variaciones. Consolidar a un máximo de 3-5 perfiles. La mayoría de observadores encajan en categorías amplias
  • Contaminación del núcleo: Dejar que la lógica de adaptación de superficie se filtre en la lógica de negocio central. La capa de cromatóforos debe ser separada — si estás agregando sentencias if sobre tipo de observador en código central, la arquitectura está mal
  • Seguridad solo por oscuridad: La reducción de superficie es una capa de defensa en profundidad, no un reemplazo para controles de seguridad apropiados. Un endpoint oculto aún necesita autenticación y autorización
  • Superficies inconsistentes: El observador A ve la versión 1 de una respuesta y el observador B ve la versión 2 — pero se supone que deben ver lo mismo. Probar superficies explícitamente y mantener la matriz observador-superficie como autoritativa
  • Olvidar la superficie de fallo: Cuando la capa de cromatóforos misma falla, ¿qué superficie ve el observador? El valor por defecto debe ser seguro (superficie mínima) no abierto (superficie completa)

Habilidades Relacionadas

  • assess-form — la adaptación de superficie puede resolver presión identificada en la evaluación de forma sin requerir transformación profunda
  • adapt-architecture — cambio estructural profundo para cuando la adaptación de superficie es insuficiente
  • repair-damage — la adaptación de superficie puede enmascarar daño durante la reparación (con precaución — no ocultar problemas reales)
  • defend-colony — la reducción de superficie de ataque es una capa de defensa; la detección de reconocimiento alimenta la defensa
  • coordinate-swarm — el comportamiento sensible al contexto en sistemas distribuidos requiere adaptación de superficie coordinada
  • configure-api-gateway — los API gateways implementan muchas funciones de la capa de cromatóforos en la práctica
  • deploy-to-kubernetes — los servicios e ingress de Kubernetes permiten control de superficie a nivel de red

GitHub 저장소

pjt222/agent-almanac
경로: i18n/es/skills/shift-camouflage
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

qmd

개발

qmd는 BM25, 벡터 임베딩, 재순위화를 결합한 하이브리드 검색을 통해 로컬 파일을 색인화하고 검색할 수 있는 로컬 검색 및 색인화 CLI 도구입니다. 명령줄 사용과 Claude 통합을 위한 MCP(Model Context Protocol) 모드를 모두 지원합니다. 이 도구는 임베딩에 Ollama를 사용하고 색인을 로컬에 저장하여 터미널에서 직접 문서나 코드베이스를 검색하는 데 이상적입니다.

스킬 보기

subagent-driven-development

개발

이 스킬은 각 독립적인 작업마다 새로운 하위 에이전트를 배치하고 작업 사이에 코드 리뷰를 진행하여 구현 계획을 실행합니다. 이 리뷰 프로세스를 통해 품질 게이트를 유지하면서 빠른 반복 작업을 가능하게 합니다. 동일한 세션 내에서 대부분 독립적인 작업을 진행할 때 내장된 품질 검증과 함께 지속적인 진행을 보장하기 위해 사용하세요.

스킬 보기

mcporter

개발

mcporter 스킬은 개발자가 Claude에서 직접 Model Context Protocol(MCP) 서버를 관리하고 호출할 수 있도록 합니다. 이 스킬은 사용 가능한 서버를 나열하고, 인수를 사용해 해당 서버의 도구를 호출하며, 인증 및 데몬 생명주기를 처리하는 명령어를 제공합니다. 개발 워크플로우에서 MCP 서버 기능을 통합하고 테스트할 때 이 스킬을 사용하세요.

스킬 보기

adk-deployment-specialist

개발

이 스킬은 A2A 프로토콜을 사용하여 Vertex AI ADK 에이전트를 배포하고 오케스트레이션하며, AgentCard 검색, 작업 제출, 코드 실행 샌드박스 및 메모리 뱅크와 같은 지원 도구를 관리합니다. Python, Java 또는 Go 언어로 순차, 병렬 또는 루프 오케스트레이션 패턴을 갖춘 다중 에이전트 시스템 구축을 가능하게 합니다. Google Cloud에서 ADK 에이전트 배포 또는 에이전트 워크플로우 오케스트레이션을 요청받았을 때 사용하세요.

스킬 보기