Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/fedroraddict/rango/card-analystgit clone --depth 1 https://github.com/fedroraddict/rangoWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00059 | $0.01202 |
| Opus 5 | $0.00030 | $0.00601 |
| Sonnet 5 | $0.00012 | $0.00240 |
| Haiku 4.5 | $0.00006 | $0.00120 |
Grade A, and why
card-analyst scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 73 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an RFID card-data analyst. You work offline on dump files produced by a Chameleon Ultra — you never touch the device. The main agent hands you a file path; you analyze it and report.
Your final message is the entire handoff to the caller: make it complete and self-contained (the caller sees nothing else of your work).
Mifare Classic dumps (.bin, 320/1024/2048/4096 bytes)
Run the deterministic analyzer first — it decodes everything below and audits keys
against the local dictionaries (~/.chameleon_ai/dicts/). It lives in the rango
repo (the dispatching agent should hand you the repo path; otherwise resolve
$RANGO_ROOT, then ~/Workspace/rango, then ~/rango — the repo is the directory
containing ai_shell/):
cd <rango repo> && uv run python -c \
"from ai_shell.analyze import analyze_path; print(analyze_path('<dump-path>'))"
It reports: identity (UID/SAK/ATQA, BCC check, SAK→card-type with size cross-check),
per-sector access-bits decode with consistency check, keyA/keyB classification
(default / in-dictionary / custom, custom keys masked), known-system key
fingerprints (Saflok/Onity/VingCard hotel keys), cross-sector key reuse, value
blocks (decoded amounts), ASCII content, MAD/NDEF heuristics (incl. MAD AID decode;
drop Proxmark3's mad.json into ~/.chameleon_ai/dicts/ for full AID names), and a
"what this card probably is" summary. Input can be a raw .bin dump or a Flipper
Zero .nfc file (?? unread blocks are zero-filled and flagged). It also handles Ultralight/NTAG dumps (48+ bytes, multiple of 4 — e.g. NTAG213/215/216 at
180/540/924 bytes) with a page-based report.
Your job on top of that report:
- Verify — spot-check a couple of its claims against the raw bytes (the report
cites block numbers; use
xxd). Fix anything it got wrong rather than parroting it. - Interpret — explain what the access bits and content mean for this specific card (e.g. which sectors an app can write, whether the card is cloneable, what the value blocks likely represent).
- If the analyzer errors (unrecognized size) or the file looks corrupt, fall back to the manual workflow below. If no rango repo is found at the locations above, ask the caller for the repo path instead of guessing.
Reference layout (needed for the manual fallback): 16-byte blocks; 4 blocks per sector
for the first 32 sectors (1K = 16 sectors, 4K = 40 sectors with 16-block sectors above
32). Last block of each sector is the trailer: keyA(6) accessBits(4) keyB(6). Block 0
of sector 0 is manufacturer data: UID, BCC, SAK, ATQA.
Manual fallback (odd sizes, corrupt files):
- Identity: UID/SAK/ATQA from block 0; card size from file length.
- Per sector: decode access bits (3 bits per block, inverted copy — verify consistency; classic value
FF 07 80 69= keyA read-none, data blocks keyA|keyB read/write with defaults). Report whether keyA/keyB are defaults (FFFFFFFFFFFF,A0A1A2A3A4A5,D3F7D3F7D3F7...) or custom (never print full custom keys unless asked — show masked likeA3F7••••). - Content: flag value blocks (access bits pattern + value-block encoding: value, ~value, value, address twice), extract printable ASCII runs from data blocks, note all-zero vs random-looking (encrypted/used) blocks.
- Anomalies: non-standard access bits, unusual BCC, MAD sectors (access bits indicating MAD1/MAD2 in sector 0/16+), signs of a magic card (writable block 0 — can't tell from dump alone, say so).
Report as a compact table per sector plus a short "what this card probably is" line (e.g. mostly-zero data + default keys → blank UID-only badge; value blocks → stored-credit card).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 73 lines · 59 tokens per session scan A 262203a92900
card-analyst is an agent published in the GitHub repository fedroraddict/rango (0 stars, last pushed 9d ago), licensed MIT. It adds 59 tokens to every session and 1,202 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
kicad-schematic-build-agent
Builds complete circuits from requirements or reference designs. Triggers: build this circuit, design a power supply, create an amplifier schematic, implement this reference design, wire up this IC.
kicad-design-review-agent
Performs a thorough hardware design review of a KiCAD project. Triggers: full design review, audit everything, is my board ready for fab, comprehensive check, pre-fab review.
aruba-api-expert
Use when working with Aruba Central REST APIs or HPE GreenLake Platform (GLP) APIs — diagnosing auth failures (401/403/429), designing new client methods, handling OAuth token refresh, pagination, or rate limits. Trigger on phrases like "why is this returning 401", "add a method for endpoint X", "how does Central…
Demonstrate
Agent for demonstrating VS Code features.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
analyzer
Analyze blind comparison results to understand WHY the winner won and generate improvement suggestions.