_ _
| | _____ _ __ _ __ __ _ __ _ ___ _ __ | |_
| |/ / _ \ '__| '_ \ / _` |/ _` |/ _ \ '_ \| __|
| < __/ | | | | | (_| | (_| | __/ | | | |_
|_|\_\___|_| |_| |_|\__,_|\__, |\___|_| |_|\__|
|___/
将二进制文件转化为对话——确定、可审计、支持离线。
kernagent 将二进制文件转换为可移植的静态快照,并让 LLM(或你的脚本)基于证据回答问题。
无需运行中的 IDE • 无需 GUI 自动化 • 不会产生幻觉
离线可用: 使用兼容 OpenAI 的端点(如 Ollama、LM Studio)完全本地运行;无需互联网。
/v1/chat/completions LLM 端点(OpenAI、Gemini、Ollama、LM Studio、你的网关)/v1/chat/completions 网关,如 Ollama 或 LM Studio)选择与你的工具链匹配的方式。所有方式都会挂载 ~/.config/kernagent/config.env,因此只需配置一次凭据。
install.sh 包装脚本(Linux / macOS / WSL2)bash <(curl -fsSL https://raw.githubusercontent.com/Karib0u/kernagent/main/install.sh)
如果单行命令被阻止:
curl -fsSL https://raw.githubusercontent.com/Karib0u/kernagent/main/install.sh -o install.sh
bash install.sh
或先克隆仓库:
git clone https://github.com/Karib0u/kernagent.git
cd kernagent
bash install.sh
安装脚本执行以下操作(可在 scripts/ 中完整审计):
ghcr.io/karib0u/kernagent:latest(无需构建步骤)/usr/local/bin/:
kernagent — 主 CLI 包装脚本(自动挂载二进制文件和配置)kernagent-config — 交互式配置编辑器kernagent-update — 更新到最新/特定标签版本kernagent-uninstall — 删除所有已安装文件~/.config/kernagent/.version所有脚本都是纯 shell 代码,你可以在运行前查看 scripts/ 目录。除非 /usr/local/bin 不可写,否则无需 sudo。
要安装特定版本的包装脚本和镜像,请将引导脚本指向带标签的脚本并传入标签:
KERNAGENT_INSTALL_URL="https://raw.githubusercontent.com/Karib0u/kernagent/vX.Y.Z/scripts/install.sh" \
bash <(curl -fsSL https://raw.githubusercontent.com/Karib0u/kernagent/main/install.sh) --tag vX.Y.Z
你也可以通过将 raw URL 中的 vX.Y.Z 替换为提交 SHA 来固定到精确提交。
git clone https://github.com/Karib0u/kernagent.git
cd kernagent
mkdir -p ~/.config/kernagent
cp config.env.example ~/.config/kernagent/config.env
# Pull pre-built image (recommended)
docker compose pull
# Or build locally for development
docker compose build
docker compose run --rm kernagent --help
通过将二进制文件目录挂载到 /data 下来分析二进制文件:
docker compose run --rm \
-v /absolute/path/to/binaries:/data \
kernagent summary /data/sample.exe
在 Windows(PowerShell + Docker Desktop)上,请使用 Windows 风格的绝对路径,如 C:\malware:/data。
拉取预构建镜像(推荐):
mkdir -p ~/.config/kernagent
curl -fsSL https://raw.githubusercontent.com/Karib0u/kernagent/main/config.env.example \
-o ~/.config/kernagent/config.env
docker pull ghcr.io/karib0u/kernagent:latest
docker run --rm \
-v /absolute/path/to/binaries:/data \
-v ~/.config/kernagent/config.env:/config/config.env:ro \
ghcr.io/karib0u/kernagent:latest summary /data/sample.exe
或在本地构建:
git clone https://github.com/Karib0u/kernagent.git
cd kernagent
docker build -t kernagent:local .
docker run --rm \
-v /absolute/path/to/binaries:/data \
-v ~/.config/kernagent/config.env:/config/config.env:ro \
kernagent:local summary /data/sample.exe
选项 1(包装脚本):
kernagent --help
kernagent --version
直接运行:
kernagent summary /path/to/binary.exe
kernagent ask /path/to/binary.exe "What does this binary do?"
kernagent oneshot /path/to/binary.exe
选项 2 或 3(Docker Compose / 原始 Docker):
通过运行帮助来验证:
# Docker Compose
docker compose run --rm kernagent --help
# Raw Docker
docker run --rm ghcr.io/karib0u/kernagent:latest --help
选项 1(包装脚本):
kernagent-uninstall
选项 2 或 3(Docker Compose / 原始 Docker):
只需删除克隆的仓库并移除镜像即可:
docker image rm ghcr.io/karib0u/kernagent:latest
# or
docker image rm kernagent:local
选项 1(包装脚本):
kernagent-update # switch to latest
kernagent-update --check # check only
kernagent-update --tag vX.Y.Z # pin to specific version
选项 2 或 3(Docker Compose / 原始 Docker):
重新运行 docker compose pull 或 docker pull ghcr.io/karib0u/kernagent:latest。
Summary — 带引用产物的执行摘要

Ask — 带交叉引用/反编译片段的聚焦问答

首次运行 — 如果不存在
<name>_archive/快照,kernagent会在回答前自动构建它
summary执行摘要:用途、功能、关键函数/导入/字符串,并附带可验证的地址
kernagent summary /path/to/binary
# raw JSON (for automation)
kernagent summary /path/to/binary --json
ask基于快照进行交互式问答,使用安全工具(搜索函数/字符串/导入、跟踪调用图、阅读反编译、解析交叉引用)
kernagent ask /path/to/binary "Show suspected C2 logic and evidence."
oneshot适用于 CI/批量分析的确定性分类报告。分类:
MALICIOUS | GRAYWARE | BENIGN | UNKNOWN
kernagent oneshot /path/to/binary
# raw JSON (for automation)
kernagent oneshot /path/to/binary --json
全局覆盖(任意命令):
# verbosity and per-run model/API overrides
kernagent -v --model gpt-4o \
--base-url https://api.openai.com/v1 \
--api-key sk-... \
summary /path/to/binary
快照结构(子集)
<name>_archive/
├─ meta.json
├─ functions.jsonl
├─ strings.jsonl
├─ imports_exports.json
├─ callgraph.jsonl
├─ capa_summary.json
└─ decomp/*.c
只需创建一次(在仓库之外)。快捷方式:
kernagent-config
或手动编辑文件:
mkdir -p ~/.config/kernagent
cp config.env.example ~/.config/kernagent/config.env
$EDITOR ~/.config/kernagent/config.env
通过环境变量覆盖:
export OPENAI_API_KEY=...
export OPENAI_BASE_URL=https://api.openai.com/v1 # or your gateway
export OPENAI_MODEL=gpt-4o # or your local model
任何兼容 /v1/chat/completions 的端点均可使用。
欢迎提交 PR
Apache 2.0 — 参见 LICENSE