英語の原文: https://argusic.com/subject/knock-knock

knock-knock

Knock-Knock: インターネットへの侵入試行をライブで表示するマルチプロトコルハニーポットダッシュボード、13 プロトコル、拡張可能なフレームワーク、そしてパブリック IP ブロックリストフィードを提供する脅威インテリジェンスデータベース

モックで動作するソース: GitHubホームページPythonMITコミット da33d6ae4a60

Python、MIT ライセンス. プロジェクト自身の表記: blocklist、bots、cybersecurity、dashboard、docker、extensible、ftp、honeypot.

knock-knock は、依存するサービスを代わりのものに置き換えたうえで動作します。Argusic のエージェントが GPU のないクリーンなマシンで 62 分でインストールし、5 件のエラーに遭遇してすべてを自力で修正し、セッション全体が記録されました。

With a locally built Redis 7.4.1, MaxMind test GeoIP .mmdb files, and non-root high ports, monitor.py spawned all eight honeypots, uvicorn served the dashboard on :8080 (HTTP 200) with live WebSocket knocks, and the 104-test suite passed; RDP/SSH port overrides, GEOIP_DIR, and stats.py DB_DIR were fixed along the way.

クリーンなマシンでエージェントが最終的に得た結果 (エージェント自身の言葉)。 計測方法

Argusic が毎回新しいマシンで計測しています。 すべての数値はその証拠にリンクしています。 Argusic スコア 100 点中 92 点 (このプロジェクトの実行スコアの平均)。

概要

判定
モックで動作する
Argusic スコア
92 / 100
検証した実行のコスト
0.29 USD (実測)
記録された実行
1
最終テスト
スター
214
フォーク
11
未解決の Issue
1
ウォッチャー
1
サイズ
34 MB
作成日
最終プッシュ

プロジェクトのデータは GitHub から取得 (このページの冒頭にリンクあり)、更新日 。テストデータは Argusic によるもので (CC BY 4.0)、すべての数値は、完全なログ、録画、それらの sha256 ハッシュを含む実行ページにリンクしています。

計測した内容

この判定を決めた実行から取得しています。 各行は記録された値であり、推定値ではありません。

knock-knock のテスト中に各失敗で失われた時間 (記録された実行から作成)
各バーはエージェントが記録した失敗と、それにかかった時間です。この実行のデータのみから描いています。

うまくいかなかった点 (エージェント自身の言葉)

エージェント自身の言葉を、深刻なものから順に掲載しています。助言に書き換えることはありません。

  • GeoIP database paths hard-coded to /usr/share/GeoIP, which is root-owned and unpopulated in this non-root container; monitor blocked waiting forever10 分
  • RDP honeypot hard-coded c_listen 3389 so ENABLED_PROTOCOLS=RDP:<port> was ignored and the spawned honeypot died (port refused)8 分
  • SSH honeypot ignored --port (only read SSH_PORT), so it never bound the ENABLED_PROTOCOLS port6 分
  • stats.py hard-coded data/knock_knock.db and crashed with 'no such table: country_intel' when DB_DIR pointed elsewhere3 分
  • monitor.py failed with redis ConnectionError Errno 99 connecting to localhost:6379 (IPv6-first) when only IPv4 was bound2 分
インストール時間
62 分
クリーンなマシンから完了まで
19 分
遭遇したエラーと修正したエラー
5 件に遭遇、5 件を人の手を借りずに修正
結果の証明方法
python -m pytest tests/ exited 0 with 104 passed (4 added regression tests for the port/GEOIP_DIR fixes); monitor.py spawned 8 honeypots whose ports answered; uvicorn main:app answered GET / with 200 (186421 B) and delivered new_knock messages for SSH/FTP/HTTP/SMTP/TNET/SIP over /ws; lifts confirmed in SQLite via stats.py; knock-api GET /ip/127.0.0.1 returned 200.
使用したモデルのトークン
285,315
テストした正確なコミット
da33d6ae4a60
コンテナイメージ
sha256:cdd920bce783

計測していない内容

残りの半分です。この証拠がどこまでを示すのかを正確に確認できます。欠けている部分は欠けているものとして表示し、埋めることはありません。

GPU メモリのピーク
CPU マシンで実行したため、サンプリングする GPU がありませんでした
長時間の実行での振る舞い
各試行はドキュメントにある最小の設定と決まった時間予算を使うため、計測しているのは動作するかどうかであり、負荷のもとでどう持ちこたえるかではありません
実際のサービスに対する振る舞い
この実行は代わりのサービスに対してのみ検証されました

録画の最後

この判定を決めたターミナルセッションの最後の行を、記録されたとおりに表示しています。

- **SSH honeypot ignored `--port`** (only read `SSH_PORT`) — same symptom (`honeypots/ssh_honeypot_…
- **GeoIP paths hard-coded to `/usr/share/GeoIP`** in `monitor.py`, `main.py`, and `extras/api/knoc…
- **`stats.py` ignored `DB_DIR`** (crashed with `no such table: country_intel` on any non-default D…
- Minor: `localhost`→Redis failed with `Errno 99` (IPv6-first resolution against an IPv4 bind); res…
## Verified end to end
- All 8 honeypot ports OPEN after launch; the 3 latest fixes are covered by `tests/test_install_reg…
- Real credential attempts on SSH/FTP/Telnet/SMTP/HTTP/SIP/RDP/SMB → SSH rejected auth, FTP `530 Lo…
- Persisted to SQLite (`data/knock_knock.db`) with correct fields (e.g. SSH user/pass `e2euser`/`e2…
- Web: `/` → 200 (186421 B), `/summary` → 200, `/static/demo.gif` → 200; `/api` and `/blocklist` → …
- Public API: `/ip/127.0.0.1` → 200 with `listed:true, hits:10`; `/check-ranges?ranges=203.0.113.0/…
- Ban round-trip via `ip_ban.py` wrote and removed the Redis key; `node --check` passed on all thre…
**Not verified:** `restart.sh` (needs systemd/docker, neither present); the real browser rendering …

セッション全体を再生 (クリーンなマシンからこの時点までのすべてのコマンド)。

テスト方法

1 つのエージェント、1 つのコンテナで、人の手は借りません。エージェントはプロジェクト自身のドキュメントに書かれた方法でインストールし、実行し、壊れた部分を修正します。以下はすべて、実際に起きたとおりに記録されています: ターミナルセッション、ログ、そして正確なコミットです。 評価方法の全文.

強みと限界

意見ではなく、計測された事実です。コンテンツの作成方法.

うまくいった点

  • 62 分でインストールできました。
  • 5 件のエラーすべてから、人の介入なしに回復しました。失敗が解決できる程度にはドキュメント化されていることを示しています。
  • ホストの報告によると、ライセンスは MIT です。

うまくいかなかった点、または不明な点

  • 代わりのサービスに対してのみ実行状態に達したため、実際のサービスで動作することはここでは証明されていません。
  • これまでの計測は 1 回です。1 回の試行は動作し得ることを示すだけで、安定して動作することは示しません。

同じ分野でテストしたプロジェクト

ここに挙げたものはすべて、Argusic がクリーンなマシンにインストールして実行しました。テストしていないものは表示されません。

実行履歴

テスト担当試行結果スコアコスト (USD)日時
Argusic Runner1/3モックで動作した92.000.29

トピック (出典: GitHub)

blocklistbotscybersecuritydashboarddockerextensibleftphoneypothttppythonrdpsecurityself-hostedsipsmbsmtpsshtelnetthreat-intelligencevisualizations

バッジを埋め込む

プロジェクトの README に貼る Markdown です。バッジはこのページにリンクします。利用条件: 利用規約ページ.

[![Tested by Argusic](https://argusic.com/badge/knock-knock.svg)](https://argusic.com/subject/knock-knock)

質問

knock-knock は動作しますか?
knock-knock は、外部サービスの代わりにモックを使って動作します. Argusic はクリーンなマシンで 62 分でインストールして起動し、途中で 5 件のエラーに遭遇し、セッションを記録しました。
Argusic は knock-knock をどのようにテストしましたか?
新しい使い捨てのマシンで、すべてのコマンドを記録しながらテストしました (リポジトリはコミット da33d6ae4a60 に固定)。記録された試行は 1 回で、手順の全体は評価方法のページに掲載しています。
knock-knock のテストにはいくらかかりましたか?
この判定を出した実行のコストは 0.29 USD です: 100 万トークンあたりの定価ではなく、実際の計算資源とモデルのコストです。その実行のページに記録されています。
knock-knock のインストールにはどのくらい時間がかかりますか?
この判定を決めた実行では、クリーンなマシンから実行状態まで 62 分でした。これは 1 回の計測された試行であり、平均ではありません。
knock-knock には GPU が必要ですか?
起動には必要ありません。Argusic は GPU のないマシンで実行状態に達しました。
knock-knock のインストールでは何がうまくいきませんか?
記録された実行では 5 件の問題が発生しました。そのうち 5 件は人の手を借りずに修正されました。それぞれの問題と、かかった時間をこのページに掲載しています。
knock-knock の証拠はどこにありますか?
記録された実行をこのページに掲載しており、それぞれが完全なログとターミナル録画にリンクしています。録画は sha256 フィンガープリントとともに保存されているため、こっそり改変することはできません。

Discussion