Robin: AI-Powered Dark Web OSINT
Dark web OSINT over Tor: search onion engines, scrape pages, report with your own model.
Human approval for AI agents: E2E-encrypted secrets and gated Gmail, GitHub and MCP tools.
使っているAIアプリを選んで、設定をコピーしてください。
チェック 3/3 合格 · あなたのパソコンで動きます · ✓ コマンド確認済み 2026年11月14日
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
aiSecurityWarden のキーが必要です(提供元のサイトで作成) · 設定を 1 項目入力 (SW_SERVER_URL) · 先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
これはプログラムの設定でキーではありません。登録は不要で、作者の説明どおりに入力します。
SW_SERVER_URL Your aiSecurityWarden server · 初期値 https://app.aisecuritywarden.com説明は英語の原文のままです。
SettingsDeveloperEdit Config
{
"mcpServers": {
"aisecuritywarden": {
"command": "uvx",
"args": [
"aisecuritywarden",
"serve"
],
"env": {
"SW_SERVER_URL": "https://app.aisecuritywarden.com",
"SW_TOKEN_NAME": "your-value",
"SW_TOKEN_ID": "your-value"
}
}
}
}キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
aiSecurityWarden を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が aiSecurityWarden を使っていると言うか、回答に aiSecurityWarden のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ aiSecurityWarden につなげません
aiSecurityWarden はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
A · aiSecurityWarden につなげるアプリを使う
B · サイバーセキュリティ の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
Claude Code につなげますが、先に準備が必要です
aiSecurityWarden のキーが必要です(提供元のサイトで作成) · 設定を 1 項目入力 (SW_SERVER_URL) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
これはプログラムの設定でキーではありません。登録は不要で、作者の説明どおりに入力します。
SW_SERVER_URL Your aiSecurityWarden server · 初期値 https://app.aisecuritywarden.com説明は英語の原文のままです。
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
claude mcp add --scope user aisecuritywarden --env SW_SERVER_URL=https://app.aisecuritywarden.com --env SW_TOKEN_NAME=your-value --env SW_TOKEN_ID=your-value -- uvx aisecuritywarden serveEnter の前に「your-value」を自分のキーに書き換えてください
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
aiSecurityWarden が一覧にあり、接続済みと表示されれば OK です
aiSecurityWarden を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が aiSecurityWarden を使っていると言うか、回答に aiSecurityWarden のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
aiSecurityWarden のキーが必要です(提供元のサイトで作成) · 設定を 1 項目入力 (SW_SERVER_URL) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
これはプログラムの設定でキーではありません。登録は不要で、作者の説明どおりに入力します。
SW_SERVER_URL Your aiSecurityWarden server · 初期値 https://app.aisecuritywarden.com説明は英語の原文のままです。
aiSecurityWarden の設定で SW_TOKEN_NAME, SW_TOKEN_ID, SW_SERVER_URL が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
aiSecurityWarden を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が aiSecurityWarden を使っていると言うか、回答に aiSecurityWarden のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
aiSecurityWarden のキーが必要です(提供元のサイトで作成) · 設定を 1 項目入力 (SW_SERVER_URL) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
これはプログラムの設定でキーではありません。登録は不要で、作者の説明どおりに入力します。
SW_SERVER_URL Your aiSecurityWarden server · 初期値 https://app.aisecuritywarden.com説明は英語の原文のままです。
aiSecurityWarden の設定で SW_TOKEN_NAME, SW_TOKEN_ID, SW_SERVER_URL が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
aiSecurityWarden を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が aiSecurityWarden を使っていると言うか、回答に aiSecurityWarden のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください
JSON 設定は下の「開発者向け」にあります
Claude Code
claude mcp add --scope user aisecuritywarden --env SW_SERVER_URL=https://app.aisecuritywarden.com --env SW_TOKEN_NAME=your-value --env SW_TOKEN_ID=your-value -- uvx aisecuritywarden serveClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"aisecuritywarden": {
"command": "uvx",
"args": [
"aisecuritywarden",
"serve"
],
"env": {
"SW_SERVER_URL": "https://app.aisecuritywarden.com",
"SW_TOKEN_NAME": "your-value",
"SW_TOKEN_ID": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"aisecuritywarden": {
"command": "uvx",
"args": [
"aisecuritywarden",
"serve"
],
"env": {
"SW_SERVER_URL": "https://app.aisecuritywarden.com",
"SW_TOKEN_NAME": "your-value",
"SW_TOKEN_ID": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"aisecuritywarden": {
"type": "stdio",
"command": "uvx",
"args": [
"aisecuritywarden",
"serve"
],
"env": {
"SW_SERVER_URL": "https://app.aisecuritywarden.com",
"SW_TOKEN_NAME": "your-value",
"SW_TOKEN_ID": "your-value"
}
}
}
}SW_SERVER_URL 必須 envSW_TOKEN_NAME 秘密 必須 envSW_TOKEN_ID 秘密 必須 env説明は英語の原文のままです。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
pypi: aisecuritywardenこのサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月14日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント SoftDevEng で確認済みです
コードの最終更新:今日
Apache-2.0を使用
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
まだレビューはありません
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:SW_TOKEN_NAME, SW_TOKEN_ID
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は今日、最新バージョン(0.7.6)がレジストリに届いたのは今日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Robin: AI-Powered Dark Web OSINT, HOL Guard, SonarQube MCP Server
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Dark web OSINT over Tor: search onion engines, scrape pages, report with your own model.
Local-first AI agent security evidence and approval workflows through HOL Guard's stdio MCP server.
Analyze code quality and security with SonarQube Server or Cloud directly in AI assistants.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
The open-source client for [aiSecurityWarden](https://aisecuritywarden.com), a secrets service with scoped, revocable machine tokens, end-to-end encryption and human approval for AI agents. Built so AI agents (like Hermes Agent) and other unattended services can fetch API keys at startup without ever storing those keys on disk.
All encryption and decryption happens here, in the client. The server only ever receives ciphertext, proofs it keeps only as Argon2id hashes, and wrapped keys, so you can check what leaves your machine by reading this code.
Get an account and see how it works at [aisecuritywarden.com](https://aisecuritywarden.com).
This repository contains:
securitywarden.client.SecurityWardenClient);swctl, the command-line tool (machines: swctl export / swctl run; admins: swctl admin ...);swadmin, a small desktop admin window;src/securitywarden/crypto.py), the approval-policy and address-list parsers, and the shared test vectors other implementations are checked against;The aiSecurityWarden server is a separate product.
Status: alpha. The design is deliberately small and reviewable, but it has not had an independent
security audit. Read the threat model.
Admin workstation aiSecurityWarden server Agent box (e.g. jarvis)
───────────────── ───────────────────── ─────────────────────── swctl admin ... stores only: sw1.m. . : • creates project key ───────▶ • ciphertext (chmod 600 file) • encrypts secrets • Argon2 hashes │ • wraps project key • wrapped keys ◀── id+secret ─────┤ 1. auth → 5-min JWT per machine token • audit log ─── ciphertext ──▶ │ 2. fetch │ 3. decrypt locally with ▼ KEY=VALUE → agent env → tools
A machine token has three parts:
| Part | Sent to server? | Purpose |
|---|---|---|
id | yes | identifies the token |
secret | yes (over TLS) | proves possession; server keeps only an Argon2id hash |
key | never | unwraps the project key, which decrypts the secrets |
So the server can authenticate a token and hand out ciphertext, but it cannot read any secret. A full copy of the server's database is useless without a token key.
Protects against
Does not protect against
swctl from a source you trust.pipx install aisecuritywarden # or: pip install aisecuritywarden (in a virtual environment)
It installs the commands swctl, sw-mcp and swadmin. In Python code (connectors) the package is imported as securitywarden, e.g. from securitywarden.mcp import Connector.
Coming from 0.6 (installed as `securitywarden`)? Reinstall once under the new name; your tokens and settings stay where they are:
pip uninstall securitywarden && pip install aisecuritywarden # same environment as before
Needs Python 3.10+, on Linux, Windows or macOS (all three are tested in CI). swadmin also needs Tkinter: it ships with the python.org installers for Windows and macOS; on Debian/Ubuntu, sudo apt install python3-tk.
swadmin works. Avoid Apple's built-in /usr/bin/python3: its Tk is old and draws windows badly. With Homebrew's Python, also run brew install python-tk. python3 -m venv ~/.venvs/securitywarden
~/.venvs/securitywarden/bin/pip install aisecuritywarden ~/.venvs/securitywarden/bin/swadmin # the admin window; swctl and sw-mcp are next to it
~/.config/securitywarden/ (tokens, the admin credential file if you use one, swctl's cached 2FA session), each readable by you only.The website works in Safari too (CI runs it in WebKit, Safari's engine).
sw-mcp update --check # or: swctl update --check
sw-mcp update # installs the newest signed release; never an older one
Or ask your agent: "check for aiSecurityWarden updates" / "update aiSecurityWarden". The agent's securitywarden_update tool asks you to approve the exact version first. Restart the agent app afterwards. When a newer client is out, the agent is told once (and every time if the server requires it). Updates are signed with an offline release key and checked against the key built into the client; see DESIGN.md "Client updates".
From source:
git clone https://github.com/SoftDevEng/aiSecurityWarden-client && cd aiSecurityWarden-client
pip install -e ".[dev]" && pytest
You need the address of an aiSecurityWarden server and, to administer it, its admin credential.
mkdir -p ~/.config/securitywarden
echo 'sw1.a....' > ~/.config/securitywarden/admin.cred && chmod 600 ~/.config/securitywarden/admin.cred export SW_SERVER_URL=https://vault.example.com
swctl admin project create hermes-webull swctl admin secret set hermes-webull WEBULL_APP_KEY # prompts; value never in argv/history swctl admin secret set hermes-webull WEBULL_APP_SECRET swctl admin token create hermes-webull --name jarvis --expires-days 180
export SW_SERVER_URL=https://vault.example.com SW_TOKEN_ID=<token id> SW_TOKEN_NAME=jarvis
swctl setup # paste the one-time setup code the website (or --setup-code) shows
swctl export # KEY=VALUE lines swctl export --format json swctl run -- python my_bot.py # run a command with secrets in its environment
Hermes supports custom vaults through a command helper that prints KEY=VALUE lines at launch. That's exactly what swctl export does. See examples/hermes/ for a wrapper script and config.
sw-mcp)sw-mcp gives an agent tools for an application, such as Gmail, as an MCP server. Every action goes through the token's rules in aiSecurityWarden: reading may be allowed outright, while sending an email waits until you approve exactly that email (on the website, in swadmin, Telegram or ntfy). The agent is told it's waiting and checks back. See docs/mcp-gmail.md for the Gmail set-up with Hermes, and DESIGN.md for writing a connector for another application.
sw-mcp tools --connector gmail # the tools, their actions, risks and suggested rules
sw-mcp serve --connector gmail # what Hermes runs (stdio) sw-mcp call gmail_search query=is:unread limit=5 # try one tool by hand; waits for approval if needed sw-mcp setup --token-file ~/.config/securitywarden/gmail-token # store the token from a one-time setup code
Other applications get a connector: one Python class whose tools each declare an action and a risk. An AI can write one: sw-mcp new-connector NAME creates the project (with instructions for the AI in AGENTS.md), sw-mcp guide prints the rules, and sw-mcp check plus the generated tests confirm it's right. Installed connector packages are found by name (--connector NAME). See docs/connectors.md.
Connectors can also come from aiSecurityWarden itself: turn a built-in one (Gmail) on for a project on the website, or upload your own (sw-mcp pack NAME, then Connectors > Upload; encrypted in the browser, account-wide, versioned with a backup of the version replaced). sw-mcp serve then loads whatever the token's project uses, with no --connector needed, and picks up new versions as you choose: at once, or on the next restart.
Every agent connected to sw-mcp is told the essentials when it connects: how to wait for an approval, to treat email and web content as untrusted, to use only setup codes you typed, and to update through securitywarden_update (never pip or pipx, never killing sw-mcp). Agents that support skills can get the full guide too:
sw-mcp skill install hermes # Hermes Agent: ~/.hermes/skills/aisecuritywarden/SKILL.md
sw-mcp skill install claude # Claude Code: ~/.claude/skills/aisecuritywarden/SKILL.md sw-mcp skill zip claude # Claude app: upload the .zip in its Skills settings
Then start a new session in the agent. sw-mcp serve keeps skills it installed up to date after each client update; a SKILL.md you wrote yourself is never replaced.
| Command | |||
|---|---|---|---|
| `swctl admin project create | list | delete NAME` | manage projects |
| `swctl admin secret set | get | delete PROJECT NAME` | values read from a prompt or stdin |
swctl admin secret list PROJECT | names only | ||
swctl admin token create PROJECT --name N [--expires-days D] [--allow-ip ADDR]... | prints the token once; --allow-ip (address or CIDR, repeatable) pins where it may connect from | ||
| `swctl admin token set-ips ID --allow-ip ADDR... \ | --any` | replace or remove a token's allowed addresses | |
swctl admin token list [PROJECT] | status, expiry, last used, last IP, allowed addresses, approval | ||
| `swctl admin token create ... --approval session\ | every_fetch [--session-ttl 8h] [--channel C]...` | require a person to approve the token's use (see below) | |
| `swctl admin token set-approval ID --approval none\ | session\ | every_fetch [...]` | change or remove it; ends pending requests and approved sessions |
swctl admin token reset-approval-limits ID | let a token that hit its hourly limit ask again now (also in swadmin: Reset approval limit…) |
| swctl admin approvals list / approve ID [--match NN] / deny ID | decide pendi