isIPsafe について
isIPsafeは、isIPsafeのIPレピュテーション・不正報告サービス向けのPythonクライアントとコマンドラインツールです。セキュリティ運用者やネットワーク管理者がIPを照会・一括報告でき、複数のファイアウォール形式でブロックリストを取得できます。
主な機能
- 01IPの悪性度と評判の確認
- 02IPまたはCIDRネットワークの報告
- 03最大10,000件の一括報告
- 04複数形式のブロックリスト取得
- 05Python APIとコマンドライン対応
活用シーン
- 01ログ内の不審なIPの確認
- 02攻撃元の一括報告
- 03レピュテーションデータのファイアウォール取り込み
- 04スクリプトでの悪性IP遮断
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://isipsafe.com/mcpclaude mcp add --transport http com-isipsafe-isipsafe https://isipsafe.com/mcp{"mcpServers":{"com-isipsafe-isipsafe":{"type":"http","url":"https://isipsafe.com/mcp"}}}Cursor で開く{"servers":{"com-isipsafe-isipsafe":{"type":"http","url":"https://isipsafe.com/mcp"}}}VS Code で開く{"mcpServers":{"com-isipsafe-isipsafe":{"type":"http","url":"https://isipsafe.com/mcp"}}}{"mcpServers":{"com-isipsafe-isipsafe":{"serverUrl":"https://isipsafe.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://isipsafe.com/mcp認証が必要ツール
詳細
isipsafe
isIPsafe の公式 Python クライアントおよびコマンドラインツールです。isIPsafe は、無料の IP レピュテーションおよび不正行為報告サービスです。
- 確認:信頼する前に、IP アドレスが悪意のあるものかどうかを確認します
- 報告:ログに記録された攻撃者を、1 件ずつ、または一度に 10,000 件報告します
- ブロックリストをダウンロード:ファイアウォールですぐに使える形式(nftables、ipset、nginx、apache、MikroTik、STIX など)で取得します
Python 標準ライブラリ以外の依存関係はありません。Python 3.9 以降に対応しています。
pip install isipsafe
API キーを取得する
キーなしでも照会できます(アドレスごとに 1 日 400 回)。報告、一括アップロード、ブロックリストの利用には、isipsafe.com/login で無料のキーを取得してください。キーを使うと、照会の上限も 1 日 10,000 回に増えます。
export ISIPSAFE_API_KEY=sl_your_key_here
クライアントはキーを Authorization ヘッダーで送信し、URL には含めません。そのため、プロキシやサーバーのログにキーが残りません。
Python
from isipsafe import Client
client = Client() # reads ISIPSAFE_API_KEY, or pass Client("sl_...")
result = client.check("185.220.101.1")
print(result.abuse_confidence_score, result.total_reports, result.categories)
if result.is_malicious(): # score >= 75, has reports, not allowlisted
block(result.ip_address)
client.report(
"203.0.113.50",
["ssh", "brute-force"],
comment="sshd: 212 failed logins in 10 minutes",
)
複数のアドレスを一度に報告する
result = client.bulk_report(
[
{"ip": "203.0.113.50", "categories": ["ssh", "brute-force"], "comment": "sshd"},
{"ip": "198.51.100.4", "categories": "port-scan"},
]
)
print(result.saved_reports, result.invalid_reports)
ブロックリスト
ips = client.blocklist(confidence_minimum=90, except_countries=["GB"])
nft = client.blocklist_raw(format="nftables")
その他の機能
| メソッド | 機能 |
|---|---|
check(ip, max_age_in_days=None, verbose=False) | 1 つのアドレスのスコア、報告件数、場所、ネットワークを確認します |
is_malicious(ip, threshold=75) | True または False を返す簡易メソッドです |
report(ip, categories, comment=None, timestamp=None) | アドレスまたは CIDR ネットワークを報告します |
bulk_report(rows) / bulk_report_csv(text) | 1 回のリクエストで最大 10,000 件を報告します |
reports(ip, page=1, per_page=25) | アドレスに対する報告を新しい順に取得します |
check_block(network) | ネットワーク内の報告済みアドレスを取得します(最大 /16 または /48) |
blocklist(...) / blocklist_raw(format=...) | 信頼度が最も高いアドレスを取得します |
clear_address(ip) | アドレスに対する自身の報告を削除します |
categories() | すべての報告カテゴリとそのスラッグを取得します |
エラー
すべてのエラーは isipsafe.IsIPsafeError を継承します。
| 例外 | 発生条件 |
|---|---|
AuthenticationError | API キーがない、または正しくない場合(401) |
ValidationError | 入力が無効な場合、または許可リストに登録されたアドレスが報告された場合(422) |
RateLimitError | リクエストが多すぎる場合(429)。.retry_after を参照してください |
APIError | その他のエラーステータスの場合。.status を参照してください |
NetworkError | API に接続できなかった場合 |
ネットワークエラーおよび 5xx 応答が発生した場合、照会は自動的に再試行されます。同じアドレスを 15 分以内に 2 回報告してもエラーにはなりません。report() は duplicate=True を含む結果を返します。
コマンドライン
$ isipsafe check 185.220.101.1
185.220.101.1 not flagged
score 56/100 (Medium)
reports 24 from 5 reporters
categories port-scan, hacking, vuln-scan, web-app-attack, c2
network DE AS60729 Stiftung Erneuerbare Freiheit
flags Tor exit
details https://isipsafe.com/ip/185.220.101.1
$ isipsafe report 203.0.113.50 -c ssh,brute-force -m "sshd: 212 failed logins"
$ isipsafe bulk-report reports.csv
$ isipsafe blocklist --format nftables --confidence-minimum 90 -o blocklist.nft
$ isipsafe check-block 185.220.101.0/24
$ isipsafe categories
check、report、reports、check-block、categories に --json を追加すると、機械可読な出力を取得できます。
シェルスクリプトでは --fail-if-malicious を使用してください。アドレスが悪意のあるものと判定された場合、コマンドは終了ステータス 1 で終了します。
if ! isipsafe check "$IP" --fail-if-malicious --threshold 80 > /dev/null; then
echo "blocking $IP"
fi
終了コード:0 は成功、1 は悪意のあるアドレス(--fail-if-malicious を指定した場合のみ)、2 はエラーです。
カテゴリ
スラッグまたは数値 ID を使用してください。よく使われるものは、ssh、brute-force、port-scan、web-app-attack、sql-injection、vuln-scan、bad-bot、ddos、email-spam、phishing です。全リストは isipsafe categories を実行するか、isipsafe.com/categories をご覧ください。
リンク
- 公式使用方法ページ:isipsafe.com/integrations/python
- ウェブサイト:isipsafe.com
- API リファレンス:isipsafe.com/api
- インテグレーション:isipsafe.com/integrations
ライセンス
このリポジトリ内のコードは MIT ライセンスです。isIPsafe API が返すデータには、isIPsafe EULA が適用されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。