AKAI-00/Izanagi
GitHub: AKAI-00/Izanagi
伊邪那岐是一个AI驱动的CLI工具,用于实时映射红队命令到MITRE ATT&CK并自动生成专业报告。
Stars: 0 | Forks: 0
伊邪那岐 (イザナギ)
AI 紫队 CLI 助手
实时自动映射、分析并记录红队/网络靶场活动。
您执行的每条命令都会即时映射至 MITRE ATT&CK,附加 AI 提示,并记录至结构化数据库——自动生成专业交战报告。
|\ \|\_____ \|\ __ \|\ ___ \|\ __ \|\ ____\|\ \
\ \ \\|___/ /\ \ \|\ \ \ \\ \ \ \ \|\ \ \ \___|\ \ \
\ \ \ / / /\ \ __ \ \ \\ \ \ \ __ \ \ \ __\ \ \
\ \ \ / /_/__\ \ \ \ \ \ \\ \ \ \ \ \ \ \ \|\ \ \ \
\ \__\\________\ \__\ \__\ \__\\ \__\ \__\ \__\ \_______\ \__\
\|__|\|_______|\|__|\|__|\|__| \|__|\|__|\|__|\|_______|\|__|
イザナギ | AI 紫队助手 | v1.0.0
仅限授权安全测试与研究使用。
伊邪那岐的功能
在红队交战或 CTF 实验中,您通常需要:
手动记录运行的每条命令
事后手动查阅 MITRE ATT&CK 技术
最终从头撰写报告
伊邪那岐会在您工作时自动实时完成所有这些任务。
您在伊邪那岐控制台中输入命令的方式与普通终端完全相同。伊邪那岐执行命令,实时流式输出结果,即时映射至 MITRE ATT&CK,记录至本地 SQLite 数据库,并可选择显示 AI 生成的红队/蓝队提示。最后,一条命令即可生成完整的 Markdown 交战报告。
功能特性
功能状态交互式控制台 v1.0实时命令执行 + 输出流式传输 MITRE ATT&CK 自动映射 (24 条规则, 8 个战术)每个技术置信度评分 AI 红队/蓝队提示 (可切换开/关) 空运行模式 (仅记录不执行)会话管理 (创建、切换、关闭) SQLite 本地数据库 (无需服务器) Markdown 交战报告 方向键历史记录 + Tab 自动补全零外部依赖项 Linux / macOS / Windows 兼容真实 LLM AI 分析 (OpenAI / Ollama) 第三阶段PDF 报告导出 第四阶段SIEM 日志关联 第五阶段
安装
要求:Python 3.10 或更新版本。无需安装 pip 包。
bash# 克隆或解压项目
cd izanagi
# 方式 A — 作为系统命令安装
pip install -e .
izanagi console
# 方式 B — 直接运行 (始终有效,无需安装)
python3 -m izanagi console
首次运行时,数据库会自动创建在 ~/.izanagi/izanagi.db。
项目结构
izanagi/
├── izanagi/
│ ├── __init__.py 包元数据
│ ├── __main__.py CLI 入口点 (argparse)
│ ├── console.py 交互式 REPL 控制台 ← 新增
│ ├── db.py SQLite 模式与连接
│ ├── mitre.py 基于规则的 MITRE ATT&CK 映射器
│ ├── session.py 会话 + 操作业务逻辑
│ ├── reporter.py Markdown 报告生成器
│ └── ui.py ANSI 终端输出助手
├── tests/
│ └── test_izanagi.py 29 个测试套件 (100% 通过)
├── reports/ 生成的 .md 报告
├── README.md
└── pyproject.toml
快速入门 — 交互式控制台
控制台是使用伊邪那岐的主要方式。启动一次,然后在其中工作。
bash python3 -m izanagi console
您将看到:
izanagi [无会话] [AI] >
步骤 1 — 创建或附加会话
izanagi [无会话] > new htb-active-directory
✔ 会话已创建: htb-active-directory (ID: 1)
# 或附加到现有会话:
izanagi [无会话] > use 1
izanagi [无会话] > use htb ← 也支持模糊名称匹配
您也可以在启动时自动附加:
bashpython3 -m izanagi console 1
步骤 2 — 正常运行命令
只需输入任何命令。伊邪那岐执行它,实时流式输出,并即时显示 MITRE 映射:
izanagi [htb-active-directory] [AI] > whoami
MITRE 发现 / T1033 — 系统所有者/用户发现 [99%]
执行中...
root
✔ 退出码:0
🔴 考虑使用 LOLBin 混淆侦察活动。
🔵 对快速连续的发现命令发出警报。
izanagi [htb-active-directory] [AI] > nmap -sC -sV 10.10.10.100
MITRE 发现 / T1046 — 网络服务发现 [97%]
执行中...
Starting Nmap 7.94 ...
PORT STATE SERVICE VERSION
88/tcp open kerberos-sec
445/tcp open microsoft-ds
...
✔ 退出码:0
步骤 3 — 对危险命令使用空运行
空运行会记录并映射命令,但不执行它。这对于在 Linux 主机上运行仅限 Windows 的命令,或您希望记录但确实危险的操作至关重要:
izanagi [htb-active-directory] > dry on
✔ 空运行: 开启 — 命令将被记录但不会执行
izanagi [htb-active-directory] [AI] [DRY] > Invoke-Mimikatz -DumpCreds
MITRE 凭证访问 / T1003 — 操作系统凭证转储 [97%]
[空运行] 命令未执行
🔴 从内存运行以避免磁盘上的 AV 签名。
🔵 启用 LSASS 保护 (PPL) 并审计凭证管理器访问。
步骤 4 — 检查会话状态
izanagi [htb-active-directory] > show
会话: htb-active-directory
ID: 1
开始时间: 2026-05-17 09:00:00 UTC
状态: 已打开
操作数: 8
AI 提示: 开启
空运行: 关闭
触及战术: 凭证访问 · 发现 · 横向移动
最近操作:
✔ whoami → T1033
✔ nmap -sC -sV 10.10.10.100 → T1046
✔ net user administrator → T1087
✔ Invoke-Mimikatz → T1003
步骤 5 — 生成报告
izanagi [htb-active-directory] > report
✔ 报告已保存: /home/akai/htb-active-directory_report.md
# 自定义文件名:
izanagi [htb-active-directory] > report reports/htb_ad_final.md
步骤 6 — 关闭会话
izanagi [htb-active-directory] > end
✔ 会话 'htb-active-directory' 已关闭。
ℹ 记录的操作总数: 12
izanagi [无会话] > exit
会话时长: 47 分钟 • 记录的操作: 12
イザナギ 控制台已关闭。
所有控制台命令
命令说明new <名称> [备注]创建并激活新会话use 切换到现有会话 (支持模糊名称匹配)sessions列出数据库中的所有会话show显示活动会话详情、触及的战术、最近操作end关闭活动会话report [file.md]将会话导出为 Markdown 报告ai on|off切换每次命令后的 AI 红队/蓝队提示dry on|off切换空运行模式 (记录但不执行)mitre <命令>查找任意命令字符串的 MITRE 映射coverage显示规则库统计 (战术、技术数量)history显示此控制台会话的命令历史clear清空终端help显示所有命令exit / quit退出控制台<其他任何内容>在 shell 中执行,映射到 MITRE,记录到会话
控制台内键盘快捷键:
↑ / ↓ — 浏览命令历史
Tab — 自动补全内置命令
Ctrl+C — 取消当前行 (不退出)
Ctrl+D — 正常退出
经典 CLI 模式 (无控制台)
如果您喜欢,原始的子命令风格界面仍然有效:
bash# 管理会话
python3 -m izanagi start-session "lab-01" --notes "HackTheBox AD"
python3 -m izanagi list-sessions
python3 -m izanagi end-session 1
# 运行单个命令
python3 -m izanagi run 1 "whoami" --ai
python3 -m izanagi run 1 "nmap -sV 10.0.0.1" --ai
python3 -m izanagi run 1 "Invoke-Mimikatz" --ai --dry-run
# 报告和统计
python3 -m izanagi session-report 1 -o report.md
python3 -m izanagi mitre-stats
python3 -m izanagi delete-session 1
MITRE ATT&CK 覆盖范围
通过基于规则的模式匹配,映射了 8 个战术、24 种技术。置信度分数 (0–100%) 表示映射的确定性。
战术示例技术发现T1033 whoami · T1016 ipconfig · T1046 nmap · T1057 ps aux · T1082 uname凭证访问T1003 mimikatz · T1003.002 hashdump · T1110 hydra横向移动T1021.002 psexec · T1021.004 ssh · T1021.001 rdp执行T1059.001 powershell · T1059.004 bash -c · T1059.006 python -c权限提升T1548.003 sudo · T1548 linpeas/SUID持久化T1053.003 crontab · T1547.001 注册表运行键防御规避T1070.003 history -c · T1070 shred/wevtutil数据窃取T1041 netcat · T1041 curl/wget
bash# 查看完整覆盖范围明细
python3 -m izanagi console
报告输出
每份交战报告包含:
页眉 — 会话名称、ID、开始/结束时间、生成时间戳
执行摘要 — 命令总数、已映射 MITRE 的数量、覆盖百分比、观察到的战术
MITRE ATT&CK 覆盖表 — 技术分组,附带置信度分数和命中计数
完整操作时间线 — 每个命令的时间戳、退出代码、输出、MITRE 标签和 AI 提示
蓝队建议 — 来自会话的去重防御提示
免责声明页脚
报告是纯 Markdown 格式 — 可在 VS Code、Obsidian、GitHub 中打开,或使用 pandoc 转换为 PDF:
bashpandoc report.md -o report.pdf
架构
┌─────────────────────────┐
│ console.py (REPL) │ ← 交互式 msfconsole 风格循环
│ __main__.py (CLI) │ ← 经典子命令接口
└────────────┬────────────┘
│
┌────────▼────────┐
│ session.py │ ← 业务逻辑:创建、运行、记录
└────────┬────────┘
│
┌─────────┴──────────┐
│ │
┌──▼──────┐ ┌────────▼──────┐ ┌──────────────┐
│ mitre.py│ │ db.py │ │ reporter.py │
│ 映射器 │ │ SQLite 层 │ │ Markdown 生成 │
└─────────┘ └───────────────┘ └──────────────┘
│
~/.izanagi/izanagi.db
运行测试
bashpython3 -m unittest tests/test_izanagi.py -v
# 运行了 29 个测试,耗时 0.3 秒 — 通过
路线图
阶段目标状态阶段 1核心 CLI + SQLite 数据库 已完成阶段 2MITRE 映射 (24 条规则, 8 个战术) 已完成阶段 2.5交互式控制台 (msfconsole 风格) 已完成阶段 3真实 LLM AI (OpenAI / 本地 Ollama) 下一阶段阶段 4PDF 报告导出 计划中阶段 5SIEM 关联,多操作员支持🔮 未来
数据库
所有数据都本地存储在 ~/.izanagi/izanagi.db 中。无网络,无云,无账户。
bash# 检查原始数据
sqlite3 ~/.izanagi/izanagi.db "SELECT id, name, started_at FROM sessions;"
sqlite3 ~/.izanagi/izanagi.db "SELECT command, tactic, technique_id, confidence FROM actions WHERE session_id=1;"
两张表:
sessions — id, name, started_at, ended_at, notes
actions — id, session_id, command, stdout, stderr, exit_code, executed_at, tactic, technique_id, technique_name, ai_summary, ai_red_tip, ai_blue_tip, confidence
免责声明
伊邪那岐专为授权安全测试、CTF 竞赛、网络靶场演习和安全教育而设计。在对非您拥有的系统运行任何命令之前,请务必确保您拥有明确的书面许可。作者对滥用行为不承担任何责任。
伊邪那岐 (イザナギ) 是日本神话中的创世之神——为混乱带来结构和秩序的那位。这很适合一个为红队混乱带来结构的工具。
izanagi [无会话] [AI] >
步骤 1 — 创建或附加会话
izanagi [无会话] > new htb-active-directory
✔ 会话已创建: htb-active-directory (ID: 1)
# 或附加到现有会话:
izanagi [无会话] > use 1
izanagi [无会话] > use htb ← 也支持模糊名称匹配
您也可以在启动时自动附加:
bashpython3 -m izanagi console 1
步骤 2 — 正常运行命令
只需输入任何命令。伊邪那岐执行它,实时流式输出,并即时显示 MITRE 映射:
izanagi [htb-active-directory] [AI] > whoami
MITRE 发现 / T1033 — 系统所有者/用户发现 [99%]
执行中...
root
✔ 退出码:0
🔴 考虑使用 LOLBin 混淆侦察活动。
🔵 对快速连续的发现命令发出警报。
izanagi [htb-active-directory] [AI] > nmap -sC -sV 10.10.10.100
MITRE 发现 / T1046 — 网络服务发现 [97%]
执行中...
Starting Nmap 7.94 ...
PORT STATE SERVICE VERSION
88/tcp open kerberos-sec
445/tcp open microsoft-ds
...
✔ 退出码:0
步骤 3 — 对危险命令使用空运行
空运行会记录并映射命令,但不执行它。这对于在 Linux 主机上运行仅限 Windows 的命令,或您希望记录但确实危险的操作至关重要:
izanagi [htb-active-directory] > dry on
✔ 空运行: 开启 — 命令将被记录但不会执行
izanagi [htb-active-directory] [AI] [DRY] > Invoke-Mimikatz -DumpCreds
MITRE 凭证访问 / T1003 — 操作系统凭证转储 [97%]
[空运行] 命令未执行
🔴 从内存运行以避免磁盘上的 AV 签名。
🔵 启用 LSASS 保护 (PPL) 并审计凭证管理器访问。
步骤 4 — 检查会话状态
izanagi [htb-active-directory] > show
会话: htb-active-directory
ID: 1
开始时间: 2026-05-17 09:00:00 UTC
状态: 已打开
操作数: 8
AI 提示: 开启
空运行: 关闭
触及战术: 凭证访问 · 发现 · 横向移动
最近操作:
✔ whoami → T1033
✔ nmap -sC -sV 10.10.10.100 → T1046
✔ net user administrator → T1087
✔ Invoke-Mimikatz → T1003
步骤 5 — 生成报告
izanagi [htb-active-directory] > report
✔ 报告已保存: /home/akai/htb-active-directory_report.md
# 自定义文件名:
izanagi [htb-active-directory] > report reports/htb_ad_final.md
步骤 6 — 关闭会话
izanagi [htb-active-directory] > end
✔ 会话 'htb-active-directory' 已关闭。
ℹ 记录的操作总数: 12
izanagi [无会话] > exit
会话时长: 47 分钟 • 记录的操作: 12
イザナギ 控制台已关闭。
所有控制台命令
命令说明new <名称> [备注]创建并激活新会话use 标签:AI安全助手, AI风险缓解, Cloudflare, LLM评估, Markdown, MITRE ATT&CK, Ollama, OpenAI, SQLite, 人工智能, 会话管理, 内存规避, 历史记录, 命令行界面, 大型语言模型, 实时分析, 报告自动化, 数据展示, 数据库记录, 文档生成, 渗透测试辅助, 用户模式Hook绕过, 紫队, 红队, 网络安全, 自动化映射, 补全功能, 逆向工具, 隐私保护