Ig5 Protocol logo

Ig5 Protocol

CommunityPopular
Minglink
ig5-protocol

使用 IG5 对离线捕获或未知报文进行有界重组、自动分帧/字段候选推断、独立报文验证与显式解码,保留来源和歧义。

Overview

PublisherMinglink
Repositorydsh-infinite-gen-5
Skill nameig5-protocol
Stars
2.7K
Forks
246
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by Minglink on GitHub. Read the source before you install it.

Installation

Install the Ig5 Protocol AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Minglink/dsh-infinite-gen-5/tree/master/skills/ig5-protocol
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Minglink/dsh-infinite-gen-5.git /tmp/dsh-infinite-gen-5
mkdir -p .claude/skills
cp -r /tmp/dsh-infinite-gen-5/skills/ig5-protocol .claude/skills/ig5-protocol
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Ig5 Protocol in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Ig5 Protocol on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Ig5 Protocol is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

先确认输入是原始报文、文件格式、PCAP 或 PCAPNG,以及需要回答的协议问题。需要静态定位时,默认 engine=reverse、reverseProvider=bundled 使用随包服务,实际 provider=ghidra,无需本机商业安装;显式 Ghidra 使用独立车道,商业扩展仅在显式配置 reverseProvider=commercial 时使用。工具按当前 provider 与 capabilities 选择。需要高级工具时调用 ig5_profile toolset=full;按返回的 toolsetScope 判断作用域:支持作用域的宿主仅切换当前 agent,旧宿主明确返回 plugin-instance 时才影响插件实例。两种切换均不持久化,不授权样本或网络执行。ig5_protocol 处理离线字节,提供未知 framing/字段候选推断,不抓实时网络、不主动发包。记录 capture 来源、样本身份、方向、时间与截断;字段假设和观察事实分开陈述。

input 选择一种来源:{encoding:"hex"|"base64",data:"..."}、{path:"完整本地文件路径"}、{ref:"sha256:...",result_id:"产生该 ref 的报告 UUID"},或静态字节 {source:{target,engine,ea,size,expected_revision}}。引用来源优先提供明确 producer ID;省略 input.result_id 标记 unbound,不能从共享 hash 猜测样本归属。先用 action=inspect 查看有限字节/字符串预览、长度、熵与长度前缀候选。对 PCAP/PCAPNG 调用 action=capture,按需要设置 max_packets、max_frames、max_reassembly_bytes 与预览预算。检查实际支持的 link/IP 层、capture 截断、TCP 缺口、重传/重叠冲突和序号回绕,并分别核对响应 value 内的 parseComplete/reassemblyComplete/decodingComplete;不能把有缺口的片段拼成“完整流”,不能把一个方向流当作完整会话,也不能把时间顺序当作 TCP 字节顺序。UDP 保留单个报文边界,TCP 保留方向和连续 span。即使省略 packet 预览,也应读取 unsupportedSummary 的原因计数。

沿字符串、导入、调用和反编译定位收发、解压、解密与解析函数,再用字节、CFG、结构体与实际端序读取核验字段。ig5_slice 只是标识符焦点行,不是完备污点证明。需要动态缓冲区时,只有目标执行已获授权后才通过审批调用 ig5_dbg 或 ig5_emulate,记录真实暂停/返回身份;不可用只读工作台请求启动调试或绕开审批。内置 Reverse 与显式 Ghidra 默认调试后端为随包 x64dbg;native win32 仅用于显式商业扩展且实际能力支持的情况,失败不静默换后端。仿真架构与 ABI 按当前 provider、capabilities 和目标核验,不能仅凭 engine 名称推断 ARM64 等架构支持。若报文是加密/压缩数据,先按 ig5-crypto 的显式参数与验证流程处理;协议模块不会自动破解加密。

仅当已有静态目标时,用 ig5_profile target=... workspace={action:create,goal:...} 建立调查任务,或用 workspace={action:get,id:...} 恢复。候选解析函数优先用 ig5_decompile style=dossier task_id=... 聚合反编译、CFG、调用者/被调函数和栈帧;检查章节 ok/truncated/unsupported/error、provenance、partial 与 stale,正文响应预算不等于全部后端计算预算。以本次 taskRevision 作为 expected_task_revision 更新假设/下一步/结论,冲突后重读。任务只存分析元数据,不写 IDB、不授权执行,status 是调用者进度声明;复开或数据库修订变化后重新取证。任务文本保留捕获和结果引用,不复制密钥原值;纯离线协议分析无需为建任务打开数据库,继续使用独立 result_id/ref。

未知边界/字段时用 action=infer,inference.format=auto|stream|messages|capture。默认 stream boundary=unknown,只有证据支持时才给 message-start;samples 必须是已知完整应用消息,不能直接把 TCP packets 当成消息。用不同报文作 holdout_samples,检查候选在独立数据是否成立。capture 模式按 flow/方向分组,不能将缺口、冲突或未确定起点强行参与训练。保留等价候选、分数、覆盖、尾部与截断,单报文不足以确认协议。

候选的 framing/schema 直接交给 action=decode;支持 fixed、length-prefix 和 delimiter。长度规则保留位置/大小/端序/headerLength/长度是否含头;换行 delimiter 保留准确字节与是否包含分隔符。验证最短/零/极端/缺尾报文和 holdout;字段保持中性,u64/i64 不转换成失真 Number。可读结果不证明完整语义,未知状态机保持未确定。

引用所选 chunk/datagram 时,将其 dataRef.ref 与产生该捕获的顶层 result_id 配对,作为下一步的 input.ref 和 input.result_id。解密或解压结果转入协议车道时,同样配对前一步的 output.ref 与顶层 result_id,例如:

json
{"action":"decode","input":{"ref":"<前一步 output.ref 或所选 dataRef.ref>","result_id":"<产生所选 ref 的顶层 result_id>"},"framing":{"type":"fixed","length":4},"schema":{"fields":[{"name":"value","offset":0,"type":"u32","endian":"big"}]}}

此例只有显式 4 字节整数假设,需按真实边界与字段证据替换配置及占位符。若使用嵌套 dataRef.result_id,先确认它绑定所选 ref。action=result 的顶层 result_id 读取历史报告,不是 input.result_id 的替代写法。

至少对多条独立报文检查方向、帧边界、长度、字段值和剩余字节,并包含截断或错误长度样本。将解码结果与真实解析函数的分支、返回值或已授权暂停观察对账;同一报文成功解码只说明显式 schema 可读,不证明完整协议已恢复。协议状态机需由多阶段会话和函数状态迁移支持,当前工具不自动推导状态机。报告所有 unsupported、incomplete、conflict、truncated 或 budget 标记。

保留 result_id、输入 ref、流/报文 buffer ref、capture indices/spans、明确的 framing/schema 和复核结果。用 action=result result_id=... select=... 选择报告的相关部分,避免将大报文反复塞入上下文;select 是路径选择,不能假定它提供分页游标。模型响应截断不等于磁盘报告丢失。工作台只读显示证据,composer 草稿需由用户发送;名称、注释、结构体或补丁回写继续经过宿主审批。最终交付可重复使用的显式解码配置和产物引用,同时列明未知字段、未验证方向及状态迁移。

Frequently asked questions

What does the Ig5 Protocol AI skill do?

使用 IG5 对离线捕获或未知报文进行有界重组、自动分帧/字段候选推断、独立报文验证与显式解码,保留来源和歧义。

Why use Ig5 Protocol on TypingMind?

Because you install it once and use it with any model. Ig5 Protocol is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Ig5 Protocol in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Minglink/dsh-infinite-gen-5/tree/master/skills/ig5-protocol. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Ig5 Protocol?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Ig5 Protocol?

As many as you like. As long as a model supports skills, you can use Ig5 Protocol with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Ig5 Protocol AI skill free?

It is published on GitHub by Minglink. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇