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 · ทำงานบนเครื่องคุณ · ✓ ตรวจคำสั่งแล้ว 14 พ.ย. 2569
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ aiSecurityWarden (สร้างที่เว็บของผู้ทำ) · ต้องกรอกค่าตั้ง 1 ช่อง (SW_SERVER_URL) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
ค่าเหล่านี้เป็นค่าตั้งของโปรแกรม ไม่ใช่คีย์ ไม่ต้องสมัครอะไร ใส่ตามที่ผู้ทำอธิบาย
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": "ใส่ค่าของคุณ",
"SW_TOKEN_ID": "ใส่ค่าของคุณ"
}
}
}
}วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ aiSecurityWarden บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ aiSecurityWarden หรือมีชื่อเครื่องมือของ aiSecurityWarden ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ aiSecurityWarden ไม่ได้
aiSecurityWarden ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
ก · ใช้แอปที่ต่อ aiSecurityWarden ได้
ข · ตัวอื่นในหมวด ความปลอดภัยไซเบอร์ ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ aiSecurityWarden (สร้างที่เว็บของผู้ทำ) · ต้องกรอกค่าตั้ง 1 ช่อง (SW_SERVER_URL) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
ค่าเหล่านี้เป็นค่าตั้งของโปรแกรม ไม่ใช่คีย์ ไม่ต้องสมัครอะไร ใส่ตามที่ผู้ทำอธิบาย
SW_SERVER_URL Your aiSecurityWarden server · ค่าเริ่มต้น https://app.aisecuritywarden.comคำอธิบายยังเป็นภาษาอังกฤษตามต้นฉบับ
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
claude mcp add --scope user aisecuritywarden --env SW_SERVER_URL=https://app.aisecuritywarden.com --env SW_TOKEN_NAME='ใส่ค่าของคุณ' --env SW_TOKEN_ID='ใส่ค่าของคุณ' -- uvx aisecuritywarden serveแก้ “ใส่ค่าของคุณ” เป็นคีย์ของคุณก่อนกด Enter
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ต้องเห็น aiSecurityWarden ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ใช้ aiSecurityWarden บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ aiSecurityWarden หรือมีชื่อเครื่องมือของ aiSecurityWarden ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ aiSecurityWarden (สร้างที่เว็บของผู้ทำ) · ต้องกรอกค่าตั้ง 1 ช่อง (SW_SERVER_URL) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
ค่าเหล่านี้เป็นค่าตั้งของโปรแกรม ไม่ใช่คีย์ ไม่ต้องสมัครอะไร ใส่ตามที่ผู้ทำอธิบาย
SW_SERVER_URL Your aiSecurityWarden server · ค่าเริ่มต้น https://app.aisecuritywarden.comคำอธิบายยังเป็นภาษาอังกฤษตามต้นฉบับ
ในค่าตั้งของ aiSecurityWarden ช่อง SW_TOKEN_NAME, SW_TOKEN_ID, SW_SERVER_URL ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ aiSecurityWarden บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ aiSecurityWarden หรือมีชื่อเครื่องมือของ aiSecurityWarden ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ aiSecurityWarden (สร้างที่เว็บของผู้ทำ) · ต้องกรอกค่าตั้ง 1 ช่อง (SW_SERVER_URL) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
ค่าเหล่านี้เป็นค่าตั้งของโปรแกรม ไม่ใช่คีย์ ไม่ต้องสมัครอะไร ใส่ตามที่ผู้ทำอธิบาย
SW_SERVER_URL Your aiSecurityWarden server · ค่าเริ่มต้น https://app.aisecuritywarden.comคำอธิบายยังเป็นภาษาอังกฤษตามต้นฉบับ
ในค่าตั้งของ aiSecurityWarden ช่อง SW_TOKEN_NAME, SW_TOKEN_ID, SW_SERVER_URL ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ aiSecurityWarden บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ aiSecurityWarden หรือมีชื่อเครื่องมือของ aiSecurityWarden ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
Claude Code
claude mcp add --scope user aisecuritywarden --env SW_SERVER_URL=https://app.aisecuritywarden.com --env SW_TOKEN_NAME='ใส่ค่าของคุณ' --env SW_TOKEN_ID='ใส่ค่าของคุณ' -- 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": "ใส่ค่าของคุณ",
"SW_TOKEN_ID": "ใส่ค่าของคุณ"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"aisecuritywarden": {
"command": "uvx",
"args": [
"aisecuritywarden",
"serve"
],
"env": {
"SW_SERVER_URL": "https://app.aisecuritywarden.com",
"SW_TOKEN_NAME": "ใส่ค่าของคุณ",
"SW_TOKEN_ID": "ใส่ค่าของคุณ"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"aisecuritywarden": {
"type": "stdio",
"command": "uvx",
"args": [
"aisecuritywarden",
"serve"
],
"env": {
"SW_SERVER_URL": "https://app.aisecuritywarden.com",
"SW_TOKEN_NAME": "ใส่ค่าของคุณ",
"SW_TOKEN_ID": "ใส่ค่าของคุณ"
}
}
}
}SW_SERVER_URL จำเป็น envSW_TOKEN_NAME ความลับ จำเป็น envSW_TOKEN_ID ความลับ จำเป็น envคำอธิบายยังเป็นภาษาอังกฤษตามต้นฉบับ
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
pypi: aisecuritywardenดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 14 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub SoftDevEng ซึ่งเป็นเจ้าของ repo
มีการแก้โค้ดล่าสุด วันนี้
ใช้ Apache-2.0
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
ยังไม่มีรีวิว
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: SW_TOKEN_NAME, SW_TOKEN_ID
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด วันนี้ และส่งรุ่นล่าสุด (0.7.6) เข้า registry วันนี้
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Robin: AI-Powered Dark Web OSINT, HOL Guard, SonarQube MCP Server
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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