
決定論的リバースエンジニアリングのためのヘッドレスAIエージェント。
_ _
| | _____ _ __ _ __ __ _ __ _ ___ _ __ | |_
| |/ / _ \ '__| '_ \ / _` |/ _` |/ _ \ '_ \| __|
| < __/ | | | | | (_| | (_| | __/ | | | |_
|_|\_\___|_| |_| |_|\__,_|\__, |\___|_| |_|\__|
|___/
バイナリを会話に変える — 決定論的で、監査可能、オフラインでも利用可能。
kernagent はバイナリをポータブルな静的スナップショットに変換し、LLM(またはスクリプト)に証拠付きで質問に答えさせます。
ライブIDE不要 • GUI自動化不要 • 幻覚なし
オフライン対応: OllamaやLM StudioなどのOpenAI互換エンドポイントを使えば完全ローカルで実行可能。インターネット不要。
/v1/chat/completions LLMエンドポイント(OpenAI、Gemini、Ollama、LM Studio、独自ゲートウェイ)で動作/v1/chat/completions ゲートウェイ)使用するツールに応じた方法を選んでください。どの選択肢でも ~/.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 に保存すべてのスクリプトはプレーンなシェルコードで、実行前に 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
# ビルド済みイメージをプル(推奨)
docker compose pull
# または開発用にローカルビルド
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)では、C:\malware:/data のように Windows 形式の絶対パスを使用してください。
ビルド済みイメージをプル(推奨):
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 / raw Docker):
help を実行して確認:
# 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 / raw Docker):
クローンを削除し、イメージを削除するだけ:
docker image rm ghcr.io/karib0u/kernagent:latest
# または
docker image rm kernagent:local
オプション 1(ラッパー):
kernagent-update # 最新版に切り替え
kernagent-update --check # 確認のみ
kernagent-update --tag vX.Y.Z # 特定バージョンに固定
オプション 2 または 3(Docker Compose / raw Docker):
再度 docker compose pull または docker pull ghcr.io/karib0u/kernagent:latest を実行。
サマリー — 証拠付きの概要

Ask — クロスリファレンスと逆コンパイルスライスを用いた集中Q&A

初回実行 —
<name>_archive/スナップショットが存在しない場合、kernagentは回答前に自動でビルドします。
summary概要: 目的、機能、主要関数/インポート/文字列、アドレス付きで検証可能
kernagent summary /path/to/binary
# raw JSON(自動化向け)
kernagent summary /path/to/binary --json
askスナップショットに対する対話型Q&A。安全なツール(関数/文字列/インポートの検索、コールグラフの追跡、逆コンパイルの読み取り、クロスリファレンスの解決)を使用
kernagent ask /path/to/binary "Show suspected C2 logic and evidence."
oneshotCI/バルク解析向けの決定論的トリアージレポート。分類:
MALICIOUS | GRAYWARE | BENIGN | UNKNOWN
kernagent oneshot /path/to/binary
# raw JSON(自動化向け)
kernagent oneshot /path/to/binary --json
グローバルオーバーライド(任意のコマンド):
# 詳細度と実行ごとのモデル/APIオーバーライド
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 # または自作ゲートウェイ
export OPENAI_MODEL=gpt-4o # またはローカルモデル
任意の /v1/chat/completions 互換エンドポイントが使用可能です。
PR大歓迎
Apache 2.0 — LICENSE を参照