返回技能列表

shift-camouflage

pjt222
更新于 Yesterday
3 次查看
17
2
17
在 GitHub 上查看
开发api

关于

The shift-camouflage skill enables systems to dynamically present different API interfaces to different consumers, inspired by adaptive camouflage. It's used to reduce attack surfaces, implement feature flags, and adapt behavior contextually without core changes. Key capabilities include environmental evaluation, dynamic interface generation, and behavioral polymorphism.

快速安装

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

开发

这是一个本地搜索和索引的CLI工具,支持BM25、向量搜索和重排序功能。开发者可以用它快速索引本地文件(如Markdown文档)并进行混合搜索,特别适合代码库或文档的本地检索。它还提供MCP模式,能轻松集成到Claude开发环境中使用。

查看技能

subagent-driven-development

开发

该Skill用于在当前会话中执行包含独立任务的实施计划,它会为每个任务分派一个全新的子代理并在任务间进行代码审查。这种"全新子代理+任务间审查"的模式既能保障代码质量,又能实现快速迭代。适合需要在当前会话中连续执行独立任务,并希望在每个任务后都有质量把关的开发场景。

查看技能

mcporter

开发

mcporter Skill 让开发者能在Claude中直接管理和调用MCP服务器。它支持列出可用服务器、调用工具、处理OAuth认证以及管理服务器守护进程。开发者可以通过命令行式交互快速执行`mcporter list`查看服务器,或使用`mcporter call`直接调用工具,简化了MCP工作流程。

查看技能

adk-deployment-specialist

开发

这是一个用于部署和编排Google Vertex AI ADK智能体的Claude Skill,专为构建生产级多智能体系统而设计。它支持通过A2A协议进行智能体通信,提供代码执行沙箱和记忆库功能,并能处理智能体发现与任务提交。当开发者需要部署ADK智能体或编排多智能体协作时,可使用此Skill来简化Vertex AI Agent Engine的部署流程。

查看技能