Skip to main content
Glama
fedroraddict

chameleon

by fedroraddict

Rango

Chameleon Ultra AI Copilot → leer, crackear, volcar, analizar, emular y clonar tarjetas RFID yclic que, a lenguaje natural, con barreras de seguridad y una biblioteca de tarjetas en el host.

CI License: MIT Python ≥ 3.10 MCP Harnesses

Requisitos · Inicio rápido · Otros entornos · Herramientas MCP (16) · Cobertura · Desarrollo

Rango convierte un Chameleon Ultra en un copiloto RFID guiado por agentes. Es solo la capa de IA: la CLI oficial del Chameleon Ultra no está incluida en este repositorio: clónala por separado; Rango la encuentra y la propulsa dentro del propio proceso (consulta Requisitos).

Hay dos formas de usarlo:

  1. Plugin de Kimi Code (la mejor experiencia) — un servidor MCP + skill + subagente de análisis; el agente de Kimi Code maneja el dispositivo por ti.

  2. Shell de IA independiente — un REPL mejorado sobre la CLI original en la que el símbolo ? conversa con un LLM (Moonshot/Kimi API o cualquier endpoint compatible con OpenAI).

Arquitectura

flowchart LR
    U(["You — natural language"]) --> A["Agent harness<br/>Kimi Code · Claude Code · Codex · OpenCode"]
    SK["SKILL.md<br/>workflows · safety gates · coaching"] -. guides .-> A
    A -->|"MCP over stdio"| M["chameleon MCP server<br/>16 tools · one persistent serial owner"]
    M --> S["ai_shell<br/>bridge · ops · library · dictionaries · analyze"]
    S --> C["official Chameleon Ultra CLI<br/>fetched · unmodified · not vendored"]
    C -->|"USB serial"| D(["Chameleon Ultra"])

Related MCP server: KadeMCP

Requisitos

git clone https://github.com/fedroraddict/rango rango && cd rango

scripts/install-cli.sh   # fetches the stock upstream CLI into ../ChameleonUltra
                         # (git clone, with a codeload tarball fallback when
                         #  github.com is unreachable)
uv sync
scripts/setup-plugin.sh  # writes plugin/.rango-root so the MCP launcher still
                         # finds this repo after /plugins install copies plugin/

El instalador es idempotente e imprime lo que hizo. Si la copia del proyecto upstream (almacenado en otro lugar), pásale la ruta (scripts/install-cli.sh /path/to/ChameleonUltra) y exporta CHAMELEON_SOFTWARE=/path/to/ChameleonUltra/software.

Un git clone no está incluido; se descarga de upstream. Requiere Python ≥ 3.10, uv, y que el dispositivo esté conectado con un cable USB-C capaz de transmitir datos.

Inicio rápido

# Standalone AI shell (stock CLI commands pass through; '? ...' asks the AI)
cd rango && uv run python -m ai_shell
#   needs MOONSHOT_API_KEY (or another OpenAI-compatible endpoint in
#   ~/.chameleon_ai/config.toml) for AI features; plain CLI works without it

# Kimi Code plugin
#   in Kimi Code: /plugins install <this-repo>/plugin   then  /reload

Uso desde Codex, Claude Code, OpenCode

El servidor MCP es un servidor stdio estándar — no solo de Kimi. Los fragmentos de configuración para cada harness y las notas de instalación están en adapters/: Claude Code (.pp.json / claude mcp add + skill y agente listos para drop-in), Codex CLI ([ecp_servers.chameleon] + skill con frontmetter eliminado), OpenCode (opencode.json + root del config del agente convertido).

Herramientas MCP (16)

Herramienta

Propósito

rango_run / mirage_run

Ejecutar cualquier comando CLI oficial. Los ejecuciones read-only van directo; los writes/ataques requieren confirm_dangerous=true tras la aprobación del usuario

mcp_state (deprecated? maintain)

Snapshot en una sola llamada: firmware, batería, actuación reciente, resumen por slot — el chequeo prevuelo

rango_help / rango_catalog

Sintaxis exacta de un comando / el árbol completo de comandos

card_list / card_add / card_show / card_remove / card_del

Biblioteca de tarjetas en el host (~/.chameleon_ai/cards/) — dumps con nombre ilimitados, independiente de los 8 slots del dispositivo

card_update / change_comment

Casp

card_load

Compuesto: tarjeta de la librería → slot libre del dispositivo, orden verificado (type → eload → block0 → enable → nick) con elección automática de slot libre

card_analyze

Análisis offline del dump (.bin / Flipper .nfc): decode de access-bits, auditoría de claves con el fingerprint de sistema conocido, value blocks, MAD/NDEF, tipo de tarjeta

dict_list / dict_seed_default / dict_create / dict_merge / dict_import / dict_show

Diccionarios de claves Mifare (~/.chameleon_ai/dicts/); dict_show alimenta claves posicionalmente a hf mf fchk

Lo que la capa copiloto añade

  • Ritual pre-vuelo — los flujos de trabajo arrancan con chameleon_state; los pasos restringidos se anuncian (paso brazo) first.

  • Detección con coaching — cuando un escaneo fracasa, se da orientación cadística de posición, alternando;, list HF/LF, cross-check con la app — no estás bucles de reintento ciego.

  • Árbol de decisión para recuperar claves — diccionario por defecto → diccionario a medida hecho desde una búsqueda web de claves conocidas del sistema → hf mf autopwn → ataques PRNG manuales (darkside / nested / senested / hardnested, con duraciones estimadas) → último recurso: recuperación vía reader-mfkey32v2 (hf mf elog --decrypt).

  • Modelo librería-first (usa la biblioteca "Saved Cards" de la FUE del CU) — los dumps se llaman con nombre elegido ; los slots son memoria de trabajo.

  • Slot con disciplina — listado primero, buscar solt libres, preguntar ante sobrescrituras, nombrar siempre, slot enable siempre (los (disabled) no emulan), y persistir con hw slot store.

  • modes de colaboración — copiloto (confirma cada paso con gate) o autopiloto (apruebas un workflow stated una vez). Confirmaciones propias para hw dfu, hw factory_resen y escrituras en tarjetas físicas.

  • Subagent de análisis offline (card-nx).

Cobertura de tarjetas

BandaCon

Tarjetas

HF

Mifare Classic (full ataque suite) · Ultralight/NTAG (incl. ulcg backdoor, UL-C authice) · DESFire (hf des wrechtmaßig) · SEOS · EMV payment · ISO14443/-: próprio sniffing/auth-tracking

LF

EM410x · EM4x05 · HID Prox · ioProcuraduría · PAC/Stanley · Viking · Jablotron · IDTECK · T5577 writing · raw lf sniff + offline análisis para familias desconocidas

Contra ecos conocidas (verificadas en hardware)

  • hf mf fchk --dic es un stub vacío en algunos builds de upstream — se pasan claves es posicional (dict_show existe para esto).

  • Desincrónica (frame errores / timeout) es posible si el proceso que tiene el puerto muere en mitad de conexión — desenchufa/reconecta la camp; hw hc disaganna` antes de recargar el plugin.

  • Un slot que inicia como (disabled)undef debe activado con hw slot enable tras cargar, sino no emula.

  • El ELI tokeniza c separacións by space — nunca se citan arguments (hw slot nick ... -n bike , no -n "bike", porque los comillas son parte del nombre). Usa rutas sin espacios.

Desarrollo

cd rango
uv run ruff check ai_shell/ plugin/mcp/          # lint
uv run python -m ai_shell.selfcheck            # cited commands exist in the real CLI tree,
                                               # gate semantics, simulated /plugins install boot
uv run python -m ai_shell.test_analyze         # dump-analyzer regression tests

CI va a las misma tres gates en cada push/PR (ver .github/workflows/ci.yml).

La estructura: ai_shell/ librerís envoltura · plugin/ plugin Kimi Code (su plugin/README.md) · scripts/ instalador del CLI original · adapters/ adaptaciones en otros harness (precioso adapters/README.md) · AGENTS.md notas de agentes/contribuidor.

Créditos

Todo lo que corre en such lado del hardware (firmware del Chameleon Ultra y el CLI original con el que interactúa Rango) proviene del RfidResearchGroup/ChameleonUltra, © sus autores (see its AUTHORS.md). Rango es únicamente la capa de copiloto AI que está arriba: no incluye código from upstream, y el CLI lo obtiene el scripts/install-cli.sh tal cual.

Sterici ás sobre:

  • la comunidad de equivalente Proxmark3, realm los convencionales known-key y MAD-AID (mad.json puede colocarse en ~/.chameleon_ai/dicts/);

  • la datasheet NXP MF1S50YYX — sus tablas de looks and value blocks en ai_shell/analyze.py;

  • el protocolo Model Context Protocol — la interfaz con la que hablan los distintos harnesses avanzados;

  • Kimi Code — así como su formato de plugins , y la default de LLM de la shell standalone.

Licencia & uso responsable

Rango mismo está bajo la licencia MIT. La CLI de Chameleon Ultra upstream es un proyecto aparte con licencia GPL-3.0 — no hermana, it's, vo. Por eso, su own licenses respectively, no este repo. Trabaje únicamente with las tarjetas y los dispositivos que usted los tiene or tiene permiso explícito de tal caso.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to control Proxmark3 RFID hardware for MIFARE Classic card reading, writing, and cloning via magic-safe write workflows, with automatic card generation detection, verification, and fallback handling.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to solve CTF challenges through natural language by disassembling binaries, cracking hashes, fuzzing web applications, extracting steganography, and running pwntools exploits.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to orchestrate 100+ security tools over MCP for authorized penetration testing, including recon, scanning, exploitation, attack-chain planning, and knowledge-base retrieval.
    6
    Apache 2.0