
AI駆動のペンテストハーネス。ブラックボックス、ホワイトボックス、グレーボックス、ホスト/クラウド、LLMレッドチームモードに対応。クロスモデル投票とツールレシートにより発見結果を検証します。
自律型・マルチモデルのペネトレーションテストハーネス — Rust、CLI専用。
作者: Joas A Santos & Red Team Leaders
⭐ これが役に立つなら、リポジトリにスターを付けてください — 大きな助けになります。
📖 はじめての方? 完全なチュートリアル&ユーザーガイド → をお読みください — すべてのモード、フラグ、設定、例を解説しています。
🆕 v3.6.5の新機能 — LLMレッドチーミング: 複数シナリオにわたる脱獄&プロンプトインジェクション: +12 AIエージェント(→ 合計30、429)が、ライブAIシステムを敵対的にレッドチーム評価します。 hackagent.dev スタイルのツールと同様に — 脱獄テクニック(AdvPrefix、PAIR、TAP、Crescendo、 many-shot、persona/DAN、エンコーディング/難読化、拒否抑制)と プロンプトインジェクションシナリオ(直接、RAG/Web/メール/ツール出力経由の間接、 ゴールハイジャック、ツール/関数呼び出しの悪用、システムプロンプトの外部漏洩)。各エージェントは 攻撃者→LLM判定者(LLM-judge)ループを実行します — ベースラインの拒否応答を取得し、テクニックを さまざまなバリエーションに適用し、ガードレールが本当に迂回されたかを判定 — 無害で一部伏せ字のレシートで証明します。
neurosploit aitest <ai-url>。 また: セルフサービスのテストアカウント登録 — アプリのフォームを分析し、 認証済みサーフェスに到達するための無害なアカウント(curlまたはPlaywright)を作成します。 厳格なアンチフラッドガードレール(≤2アカウント)、実行ごとの 認証情報ボールト(vault.json、レポートではシークレットをマスク)、「これらの アカウントを削除」クリーンアップセクション、認証済み / 未認証のタグが付いた検出結果、オプトインの使い捨てメール(/tempmail、無料のmail.tm)。 ヒューマン・イン・ザ・ループ検証: 不確かな検出結果は削除されず、フラグが付けられますneeds-review、削除はされません(ゼロサポートのノイズのみが破棄されます)。最終判断は人間が 行います。レポートはMarkdown + JSONで、PDF/HTMLに加えて提供されます。より高精度な エージェントは最新のSPA/RESTアプリ(Juice-ShopクラスのAPIハンティング手法)向けになり、 より堅牢なRL報酬設計を追加。新しいモデル: Claude Opus 5、Claude Sonnet 5、Kimi K3(Moonshot → 15プロバイダー)。完全な履歴は RELEASE.md にあります。
NeuroSploit は、URL、ソースリポジトリ、実行中のアプリ、またはホスト/IP を
自律的なセキュリティエンゲージメントに変換します。Rustハーネス(tokio)がLLM
プールを駆動し、APIキーまたはローカルサブスクリプション(Claude Code / Codex / Gemini /
Grok)経由でターゲットをリコンし、発見されたサーフェスに一致するエージェントのみを
インテリジェントに選択して並列実行し、検出結果をより深い影響へ連鎖させ、
報告前にクロスモデル投票とツールレシートによる接地(grounding)で
すべての主張を検証します。430のmarkdownエージェントとMission
Control TUIを同梱しています。
may_assert
ゲートは数学的な幻覚防止ルールです(信念が拡散している間は
悪用可能性を主張しません)。file:line — コード引用自体がレシート)、グレーボックスではどちらでも。
グラウンディングされていない主張は格下げされます。aws/gcloud/az)。creds.yaml経由で接続: AWSキー、Google
サービスアカウントJSON、またはAzureサービスプリンシパル —
Cloud credentialsを参照。これはスリムなRust専用ディストリビューションです(
neurosploit-rs/+agents_md/)。 以前のPythonエンジンとWeb GUIは、古いv3.4.0ブランチにあります。
Linux / macOS(x64 & arm64):```bash curl -fsSL https://raw.githubusercontent.com/JoasASantos/NeuroSploit/main/setup.sh | bash
**Windows** (PowerShell、x64 & arm64):```powershell
irm https://raw.githubusercontent.com/JoasASantos/NeuroSploit/main/install.ps1 | iex
| OS | x64 | arm64 |
|---|---|---|
| Linux (Kali 推奨) | ✅ | ✅ |
| macOS |
Pure Rust + stdlib なので、安定した Rust ツールチェーンが動作する環境ならどこでもネイティブにビルドできます。
インストーラーは OS/アーキテクチャを自動検出し、Rust が無ければインストールします。ネイティブ Windows では
install.ps1 を使用してください。WSL2 / Git Bash では setup.sh のワンライナーも動作します。
インストーラーは必要に応じて Rust を自動インストールし、リポジトリを ~/.neurosploit にクローンして、
リリースバイナリをビルドし、neurosploit を ~/.local/bin にリンクします。再実行すれば
いつでも更新できます。環境変数で調整: NEUROSPLOIT_REF (ブランチ/タグ)、
NEUROSPLOIT_DIR、PREFIX。
手動でビルドしたいですか?```bash git clone https://github.com/JoasASantos/NeuroSploit && cd NeuroSploit/neurosploit-rs cargo build --release # → target/release/neurosploit
## ⚡ クイックスタート (60秒)```bash
# easiest path — just run it; the interactive session asks everything:
neurosploit
# or one-liner (subscription login, no API key needed):
neurosploit run http://testphp.vulnweb.com/ --subscription --model anthropic:claude-opus-4-8 -v
# white-box — review a source repository (SAST agents, file:line evidence):
git clone https://github.com/digininja/DVWA /tmp/DVWA
neurosploit whitebox /tmp/DVWA --subscription --model anthropic:claude-opus-4-8 -v
# grey-box — review the code AND exploit the running app together:
neurosploit greybox /tmp/DVWA --url http://localhost:8080/ --creds creds.yaml \
--subscription --model anthropic:claude-opus-4-8 --mcp -v
# host / infra — Linux / Windows / Active Directory (SSH/Win creds in creds.yaml):
neurosploit host 10.0.0.10 --creds creds.yaml --subscription --model anthropic:claude-opus-4-8 -v
# 🛰 Mission Control TUI — live panels (header/feed/findings/targets) + a composer
# you can type in WHILE the run streams (summary · pause · errors · notes):
neurosploit tui http://testphp.vulnweb.com/ --subscription --model anthropic:claude-opus-4-8 --mcp
すべてのモード(black/white/grey/host)の詳しい手順は TUTORIAL.md にあります。
ログイン不要?その場合はAPIキーを使用してください — 認証 を参照。
NeuroSploit を SDLC に組み込みます。REPL(/integrations)または CLI
(neurosploit integrations enable github|gitlab|jira)から切り替えます。トークンは決して保存されません
— 保存されるのは環境変数の名前だけで、値は環境から読み取られます。```bash
export GITHUB_TOKEN=ghp_... # PAT with repo scope (private repos)
neurosploit integrations enable github
neurosploit pr digininja/DVWA 42 --subscription --model anthropic:claude-opus-4-8 --comment
neurosploit watch myorg/private-app --branch main --subscription --model anthropic:claude-opus-4-8
export GITLAB_TOKEN=glpat-... ; neurosploit integrations enable gitlab neurosploit whitebox https://gitlab.com/myorg/private-svc --subscription --model anthropic:claude-opus-4-8
export JIRA_EMAIL=[email protected] JIRA_API_TOKEN=... # set base/project once: /integrations setup jira neurosploit whitebox https://github.com/myorg/app --jira --subscription --model anthropic:claude-opus-4-8
| Integration | What you get | Env vars |
|-------------|--------------|----------|
| **GitHub** | private clone · `pr` review + comment · `watch` branch | `GITHUB_TOKEN` |
| **GitLab** | private clone for whitebox/greybox | `GITLAB_TOKEN` |
| **Jira** | one card per finding (`--jira`) | `JIRA_EMAIL`, `JIRA_API_TOKEN` |
📖 各ツールのステップバイステップのセットアップ: **[TUTORIAL-INTEGRATION.md](https://github.com/joasasantos/neurosploit/blob/HEAD/TUTORIAL-INTEGRATION.md)**。
---
## ☁️ クラウド認証情報 (AWS/GCP/Azure)
`creds.yaml` にクラウドブロックを追加すると、ハーネスは適切な環境変数をエクスポートし、
AWS/GCP/Azure エージェントが `aws` / `gcloud` / `az` を操作できるようにします。シークレットは
ファイル/シークレットマネージャーに保持されます。エージェントは **読み取り専用の列挙を最初に実行し、決して破壊的な操作は行いません**。```yaml
# --- AWS: static keys (or a named profile) ---
aws:
access_key_id: AKIA...
secret_access_key: ...
# session_token: ... # if using temporary creds
region: us-east-1
# profile: my-sso-profile # alternative to keys
# --- GCP: service-account JSON (path recommended; inline single-line also works) ---
gcp:
service_account_json: /path/to/sa.json
project: my-project-id
# --- Azure: service principal (recommended for automation) ---
azure:
tenant_id: ...
client_id: ...
client_secret: ...
subscription_id: ...
翻訳する入力テキストが提供されていません。```bash
neurosploit host my-cloud-account --creds creds.yaml
--subscription --model anthropic:claude-opus-4-8 -v
エージェントは、IAM権限昇格、ストレージ露出(S3/GCS/Blob)、コンピュートおよび
ネットワーク露出、シークレット(Secrets Manager / Secret Manager / Key Vault)、
サービスアカウント/SPの悪用、ID列挙(Entra ID)をカバーします。ベストプラクティス
認証: **AWS** アクセスキーまたはプロファイル; **GCP** サービスアカウントJSON
(`GOOGLE_APPLICATION_CREDENTIALS`); **Azure** サービスプリンシパル
(`az login --service-principal`)。
---
## 👥 複数のID — アクセス制御テスト(IDOR / BOLA / BFLA)
NeuroSploit に `creds.yaml` で2つ以上の **名前付きロール** を指定すると、各ロールとして認証
し、**クロスロール**アクセスをテストします(低権限ロールが別ユーザーの
オブジェクトまたは管理機能に到達する場合は finding です):```yaml
admin:
jwt: eyJ... # per role: jwt | header (raw) | cookie | apikey | login+username+password
user:
apikey: abc123 # → X-Api-Key: abc123
victim:
cookie: "session=deadbeef"
MDBA - Mobile Database Access
更新日期: 2023年11月20日
MDBA(Mobile Database Access)は、さまざまなプラットフォーム上のデータベースファイルに対するシンプルでポータブルなアクセスを提供するオープンソースツールです。
**コマンドラインインターフェース(CLI)**とWebアクセス(プロフェッショナル版)の両方を備えています。
主な特長
対応データベース
対応プラットフォーム
Windows、Linux、macOSに対応した32ビット版と64ビット版をリリースしています。
簡単な使い方
SQA MDBA は、いかなるインストールも必要としません。ダウンロードしたらすぐに使用できます。SQA MDBA Professional は、インストール後にブラウザから/任意の場所にデプロイできます。CLI について
MDBA のCLIバージョンは、コマンドラインからデータベースを操作するために設計された、シンプルで強力なツールです。このツールは、スクリプトや自動化のシナリオでの使用に最適です。
ライセンス
MDBA はフリーウェアです。個人利用および商用利用の両方が可能です。```bash
neurosploit run https://app.example --creds creds.yaml
--subscription --model anthropic:claude-opus-4-8 -v
各発見は **認可済み vs 未認可** のリクエストペアで証明され、
データ安全ガードレール(読み取り専用、PII マスク)の下で行われます。
## 🏷️ 識別と帰属(盗用防止)
すべてのリクエストには識別用の **User-Agent**(デフォルトは
`NeuroSploit/<ver> …`、**`/ua`** または `NEUROSPLOIT_UA` で変更可能)と
`X-NeuroSploit-Scan` ヘッダーが付加され、すべての発見には **「Identified and
validated by NeuroSploit」** というスタンプが押されます。これにより、発見の出所が
トラフィック、発見テキスト、`findings.json`、レポートのフッターのすべてに記録されます。
---
## Build```bash
cd neurosploit-rs
cargo build --release # → target/release/neurosploit
Rustツールチェーン(rustup)が必要です。推奨:Kali Linuxで実行(またはKali Dockerイメージを使用)してください。これにより、エージェントが使用する攻撃用ツールがすでに用意されています:```bash
docker run -it --rm kalilinux/kali-rolling
apt update && apt install -y curl nmap ffuf nodejs npm
エージェントはグレースフルデグラデーションを行います:`rustscan` がインストールされていない場合は `nmap` を使用し、どちらも
ない場合は `curl` でプローブします。Playwright MCP ブラウザが利用可能な場合は、JS を多用するページでそれを
使用し、それ以外の場合は `curl` にフォールバックします。
---
## 使い方
**引数なし**で実行すると、対話型ウィザードが起動します:```bash
./target/release/neurosploit
または直接実行します:```bash
./target/release/neurosploit run http://testphp.vulnweb.com/
--subscription --model anthropic:claude-opus-4-8 --mcp -v
./target/release/neurosploit run http://testphp.vulnweb.com/
--model anthropic:claude-opus-4-8 --model openai:gpt-5.1 --vote-n 3
git clone https://github.com/digininja/DVWA /tmp/DVWA
./target/release/neurosploit whitebox /tmp/DVWA
--subscription --model anthropic:claude-opus-4-8 -v
./target/release/neurosploit run http://testphp.vulnweb.com/ --offline
./target/release/neurosploit agents # library counts ./target/release/neurosploit models # providers & models ./target/release/neurosploit --help # full help with examples
### オプション (`run` / `whitebox`)
| フラグ | 意味 |
|------|---------|
| `--model provider:model` | 繰り返し指定可能。先頭がプライマリで、残りはフェイルオーバー先となり、**かつ**投票ジャッジを構成します。 |
| `--subscription` | API キーの代わりにローカル CLI ログイン(Claude/Codex/Gemini/Grok)を使用します。 |
| `--mcp` | Playwright MCP を有効にする(`npx` 経由で自動プロビジョニングされます。MCP の無いバックエンドは組み込みツールを使用します)。 |
| `--vote-n N` | いくつのモデルが検出結果を本物だと合意する必要があるか(デフォルトは 3、whitebox では 2)。 |
| `--max-agents N` | 実行するエージェント数の上限(`0` = recon に一致するすべて)。 |
| `--offline` | モデルを一切呼び出さず、完全なパイプラインを実行する。 |
| `-v, --verbose` | 各エージェントの起動、recon、投票をログに記録する。 |
### 認証 — API キー *または* サブスクリプションで実行
NeuroSploit は 2 つの方法で実行できます。これらは独立しており、実行ごとに選択します。
#### 1) API 経由(プロバイダー API キー)
モデルパネル内のプロバイダーのキーをエクスポートし、`--subscription` **なしで**実行します。OpenAI 互換のプロバイダーであればどれでも動作します。```bash
# pick one or more, depending on the models you select
export ANTHROPIC_API_KEY=sk-ant-... # anthropic:claude-*
export OPENAI_API_KEY=sk-... # openai:gpt-*
export GEMINI_API_KEY=AIza... # gemini:gemini-*
export XAI_API_KEY=xai-... # xai:grok-*
export NVIDIA_NIM_API_KEY=nvapi-... # nvidia_nim:*
export DEEPSEEK_API_KEY=... # deepseek:*
export MISTRAL_API_KEY=... # mistral:*
export DASHSCOPE_API_KEY=... # qwen:* (Alibaba DashScope)
export GROQ_API_KEY=... # groq:*
export TOGETHER_API_KEY=... # together:*
export MOONSHOT_API_KEY=... # moonshot:* (Kimi K3/K2)
export OPENROUTER_API_KEY=... # openrouter:*
# ollama needs no key (local)
# then run via API (note: NO --subscription)
./target/release/neurosploit run http://testphp.vulnweb.com/ \
--model anthropic:claude-opus-4-8 --vote-n 3 -v
# multi-provider voting panel via API (1st finds, the others adjudicate)
./target/release/neurosploit run http://testphp.vulnweb.com/ \
--model anthropic:claude-opus-4-8 --model openai:gpt-5.1 --model gemini:gemini-2.5-pro
または、キーを.envに入れて読み込みます(cp .env.example .env; 編集; set -a; . ./.env; set +a)。
プロバイダー → 環境変数 → エンドポイント(すべてOpenAI互換):
全プロバイダー/モデルリストを確認するには ./target/release/neurosploit models を実行してください。
--subscription はAPIキーの代わりにローカルのagentic-CLIログインを使用します — 最初にいずれかのCLIをインストールしてログインしてください:
--subscription --model anthropic:claude-opus-4-8 --mcp -v
---
## 動作の仕組み```
target ─▶ recon (curl/nmap/…) ─▶ INTELLIGENT agent selection (recon-aware)
─▶ parallel exploitation ─▶ cross-model validation vote
─▶ severity/score ─▶ report (HTML + Typst PDF) ─▶ RL reward update
各実行は、自己完結型のフォルダ runs/ns-<ts>-<target>/ を生成します:
強化学習の報酬ストア(data/rl_state_rs.json)が、将来の実行におけるエージェント
選択にバイアスをかけます。
agents_md/ (303)各エージェントは自己完結型の Markdown プレイブックです(## User Prompt の方法論 +
## System Prompt の厳格な偽陽性防止ルール)。新しい .md を対応するフォルダに配置すると、
ハーネスがそれを自動で認識します。
許可されたテストのみを対象としています。エージェントはスコープ内に留まり、決して破壊的/DoS アクションを実行せず、 悪用の証明(proof-of-exploitation)を要求するよう指示されています。あなたは あらゆるターゲットに対して許可を得ている責任があります。
Joas A Santos & Red Team Leaders。
MIT。
| モード | コマンド | 説明 |
|---|
| Black-box | neurosploit run <url> | リコン → 選択 → エクスプロイト → 投票 → レポート |
| White-box | neurosploit whitebox <repo> | ソース/SASTレビュー(file:lineの証拠) |
| Grey-box | neurosploit greybox <repo> --url <app> | コードレビュー + ライブエクスプロイトを同時実施 |
| Host/Infra | neurosploit host <ip> --creds creds.yaml | Linux / Windows / AD およびクラウド(AWS/GCP/Azure)のテスト |
| AI / LLM red-team | neurosploit aitest <ai-url> | ライブAIエージェントに対する脱獄&プロンプトインジェクション + OWASP LLM Top 10 / MCP |
| AI Skills / n8n | neurosploit skills <file|folder> | Skill/プラグインおよび n8nワークフロー定義のホワイトボックス監査 |
| Mission Control | neurosploit tui <url> | 実行中のライブTUIパネル + コンポーザー |
| Interactive | neurosploit | 永続的なREPLセッション(プロジェクトごとに再開) |
.git/.env、
debug/actuator、デフォルト認証情報、ダッシュボード、
CORS)専用のエージェント、CVE Hunter(スマートで的を絞ったnuclei)、
PoC Developer(実行ディレクトリのpocs/に再現可能なスクリプトを作成)、
およびレート制限テスト — すべて
厳格なデータ安全性/PIIガードレールの下で(破壊的または状態を変更する
アクションはなし。PIIはマスクされたサンプルで証明され、決してダンプされません)。/proxy <url>(または/burp)はエージェントのトラフィックを
ローカルのインターセプトプロキシ経由でルーティングするため、Burpで検査&再生できます。summary、pause、…)。<cwd>/.neurosploit/ がセッション、実行履歴、
コマンド履歴を保持。REPLは再オープン時に再開します。データベースは不要です。| ✅ |
| ✅ (Apple Silicon) |
| Windows | ✅ | ✅ |
--model プレフィックス | 環境変数 | ベースURL |
|---|
anthropic: | ANTHROPIC_API_KEY | api.anthropic.com |
openai: | OPENAI_API_KEY | api.openai.com |
gemini: | GEMINI_API_KEY | generativelanguage.googleapis.com |
xai: | XAI_API_KEY | api.x.ai |
nvidia_nim: | NVIDIA_NIM_API_KEY | integrate.api.nvidia.com |
deepseek: | DEEPSEEK_API_KEY | api.deepseek.com |
mistral: | MISTRAL_API_KEY | api.mistral.ai |
qwen: | DASHSCOPE_API_KEY | dashscope-intl.aliyuncs.com |
groq: | GROQ_API_KEY | api.groq.com |
together: | TOGETHER_API_KEY | api.together.xyz |
moonshot: | MOONSHOT_API_KEY | api.moonshot.ai |
openrouter: | OPENROUTER_API_KEY | openrouter.ai |
ollama: | (なし) | localhost:11434 |
--model プレフィックス | 使用するCLI | ログイン |
|---|
anthropic: | claude (Claude Code) | claude の後に /login |
openai: | codex | codex でログイン |
gemini: | gemini | gemini でログイン |
xai: | grok | grok でログイン |
| ./target/release/neurosploit run http://testphp.vulnweb.com/ \ |
| ファイル | 内容 |
|---|
status.json | running → complete(サマリー付き) |
recon.json / recon.md | マッピング済みの攻撃対象領域 |
exploitation.md | エージェントごとの生のトランスクリプト |
findings.json / findings.md | 検証済みの発見事項(他のツール/AI が再利用可能) |
report.html, report.typ, report.pdf | 最終レポート(Typst エンジンによる PDF) |
| カテゴリ | 件数 | 目的 |
|---|
vulns/ | 196 | 特定の脆弱性クラスをエクスプロイトする |
recon/ | 12 | 情報収集 / 攻撃対象領域 |
code/ | 78 | ホワイトボックス型ソースコード(SAST)レビュー |
meta/ | 17 | オーケストレーター、バリデーター、スコアラー、レポーター、RL |