Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
RedTeamCoin — 暗号通貨マイニング運用のためのRed Team Coin | Kitploit
ツール/GitHubGitHub/xyplex3/redteamcoin
エクスプロイト暗号化ペネトレーションテストコマンド&コントロールレッドチーミングペイロード開発
GitHubxyplex3/redteamcoin

RedTeamCoin

暗号通貨マイニング運用のためのRed Team Coin

リポジトリを見る
2525ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

RedTeamCoin

RedTeamCoin ロゴ

License Pre-Commit Security Scanning Release Test & Build Verification Windows Miner Test


RedTeamCoinは、許可されたセキュリティテストおよびレッドチームオペレーションのために設計されたブロックチェーンベースの暗号通貨マイニングプール実装です。Goで構築され、Javaクライアントをサポートし、現実世界のクリプトマイニング攻撃をシミュレートして、組織が検出能力を評価し、脅威アクターのマイニング操作による潜在的な被害を定量化するのに役立ちます。

このツールにより、セキュリティチームは企業システム上でクリプトマイニング攻撃シナリオを安全かつ合法的に実証し、包括的な影響レポートを生成し、セキュリティコントロールを検証できます。すべては、隔離された非公開のブロックチェーンを使用した管理された環境内で行われます。

目次

  • 概要
  • 機能
  • クイックスタート
  • 動作の仕組み
  • 使用方法
    • サーバーの実行
    • マイナーの実行
    • リモートサーバーへの接続
  • GPUマイニング
  • 設定
  • APIリファレンス
  • アーキテクチャ
  • 開発
  • 貢献
  • トラブルシューティング
  • ドキュメント
  • ライセンス
  • 謝辞

概要

なぜRedTeamCoinを使うのか?

  • クリプトジャッキング攻撃の現実世界の影響を実証
  • セキュリティ監視および検出システムのテストと検証
  • 経営陣向け報告のための定量化可能な損害評価の生成
  • 公開ブロックチェーンに接続せずに安全にマイニング操作をシミュレート

システムコンポーネント:

  • マイニングプールサーバー - ブロックチェーンを管理し、作業配分を調整
  • クライアントマイナー - CPU/GPUマイニングクライアント(GoおよびJava実装)
  • ウェブダッシュボード - リアルタイム監視、制御、統計
  • 分析ツール - 包括的な損害評価レポートの生成

機能

  • ブロックチェーン実装: カスタムプルーフ・オブ・ワークブロックチェーン、難易度設定可能
  • マイニングプールサーバー: gRPCを介した複数マイナーの管理と作業配分
  • クライアントマイナー: IPアドレスとホスト名のログ記録を備えた自動マイニングクライアント(GoおよびJava)
  • Javaスタンドアロンマイナー: ビジュアルインターフェースを備えたGUI対応デスクトップマイナー
  • Java gRPCクライアント: サーバーおよび自動化のためのヘッドレスgRPCクライアント
  • サーバーサイドマイナー制御: 一時停止、再開、CPU使用率の制限、マイナーのリモート削除
  • CPUスロットリング: 0~100%の範囲でマイナーのCPU使用率を制限してリソース管理
  • GPUマイニングサポート: GPUアクセラレーションマイニングのためのCUDAおよびOpenCLサポート
  • ハイブリッドマイニング: 最大パフォーマンスのためのCPUとGPUの同時マイニング
  • ウェブダッシュボード: 制御ボタン付きのマイナー、統計、ブロックチェーンのリアルタイム監視
  • REST API認証: APIエンドポイントのためのセキュアなトークンベース認証
  • クライアントgRPC TLS暗号化: セキュアなクライアント-サーバーgRPC接続のためのオプションのTLS暗号化
  • デュアルIP追跡: クライアント報告IPアドレスとサーバー検出IPアドレスの両方を記録
  • CPUおよびGPU統計: 包括的なリソース使用状況の追跡とレポート
  • プロトコルバッファ: protobuf/gRPCを使用した効率的なクライアント-サーバー通信
  • 自動終了: サーバーから削除されるとマイナーが自動的にシャットダウンおよび自己削除

クイックスタート

5分以内でRedTeamCoinを実行:

前提条件

  • Go 1.21以降
  • Protocol Buffer Compiler (protoc)

Ubuntu/Debian:```bash sudo apt update sudo apt install -y golang-go protobuf-compiler

root@kitploit:~
**macOS:**```bash
brew install go protobuf

Windows:

  • Go を https://golang.org/dl/ からインストール
  • protoc を https://github.com/protocolbuffers/protobuf/releases からインストール

インストール```bash

Clone the repository

git clone https://github.com/xyplex3/RedTeamCoin.git cd RedTeamCoin

Install dependencies

make install-tools make deps

Build server and client

make build

root@kitploit:~
### 検証

ビルドが正常に完了したことを確認します:```bash
ls -lh bin/
# Expected output: server and client binaries (1-5 MB each)

./bin/server --help
# Expected output: Usage information for the server

初めてのマイニングプールを実行する

1. サーバーを起動:```bash make run-server

root@kitploit:~
次のような出力が表示されるはずです:```text
RedTeamCoin Mining Pool Server
Authentication Token: abc123def456...
Dashboard URL: http://localhost:8080?token=abc123def456...
gRPC server listening on port 50051

2. マイナーを起動する (新しいターミナルで):```bash make run-client

root@kitploit:~
採掘アクティビティが表示されるはずです:```text
Connected to mining pool at localhost:50051
Registered as miner: miner-hostname-1234567890
Mining block #1... Hash rate: 2.5 MH/s
Block found! Nonce: 98765, Hash: 000000ab1cd...

3. ダッシュボードを表示します:

ステップ1のURLをブラウザで開くか、または次のURLにアクセスしてください:```text http://localhost:8080?token=YOUR_AUTH_TOKEN_HERE

root@kitploit:~
アクティブなマイナー、ハッシュレート、採掘されたブロックなどのリアルタイム統計情報が表示されます。

**注意:** サーバーはすべてのネットワークインターフェースで待機します。リモートアクセスするには、`localhost` をサーバーのIPに置き換えてください。

## 動作の仕組み

マイニングプールは、プルーフ・オブ・ワークのコンセンサスメカニズムを使用して動作します:

1. サーバーはジェネシスブロックでブロックチェーンを初期化する
2. マイナーはgRPC経由で接続し、IP/ホスト名で登録する
3. サーバーは作業割り当て(ブロックテンプレート)を配布する
4. マイナーはSHA-256ハッシュを計算して有効なナンスを見つける
5. マイナーは難易度ターゲットを満たしたときに解決策を提出する
6. サーバーはブロックを検証してブロックチェーンに追加する
7. ダッシュボードはリアルタイム統計情報とマイナーアクティビティを表示する

各ブロックは、特定の数の先頭ゼロを持つハッシュを見つける必要があります(設定可能な難易度)。マイナーは採掘されたブロックごとに50 RTCを受け取ります。

### データフロー```text
Client Miner                    Server
    |                              |
    |--RegisterMiner(IP,Hostname)->|
    |<--RegistrationResponse-------|
    |--GetWork()------------------>|
    |<--WorkResponse(Block)--------|
    | [Mining: compute hashes]     |
    |--SubmitWork(nonce,hash)----->|
    |                              | [Validate proof-of-work
    |                              |  and add block to chain]
    |<--SubmissionResponse---------|
    |--Heartbeat(stats)----------->|
    |<--HeartbeatResponse----------|

使用方法

サーバーの起動

HTTP (デフォルト):```bash ./bin/server

root@kitploit:~
- gRPC サーバー: ポート **50051**
- Web ダッシュボード: **http://localhost:8080**

**HTTPS/TLS (推奨):**```bash
# Generate certificates (one time)
./generate_certs.sh

# Start with TLS
RTC_SERVER_TLS_ENABLED=true ./bin/server
  • gRPC server: port 50051
  • Web dashboard: https://localhost:8443
  • HTTP redirect: http://localhost:8080

注1: HTTPSでは、自己署名証明書に対してブラウザはセキュリティ警告を表示します。「詳細設定」→「localhostに進む」をクリックしてください。

注2: WebダッシュボードとgRPCサーバーはサーバーのすべてのインターフェースで実行され、localhostの代わりに使用できます。

マイナーを実行する

Goクライアント(ネイティブバイナリ)

基本的な使い方:```bash ./bin/client

root@kitploit:~
**複数のマイナーを実行する:**
追加のターミナルを開き、それぞれで `./bin/client` を実行します。

#### Java マイナー

RedTeamCoin は2つの Java マイナー実装を提供します:

##### Java gRPC クライアント (ヘッドレス)

サーバーと自動化のためのプロダクションレディな gRPC クライアント。

**前提条件:**

- Java 11 以降
- Maven (ビルドのみ)

**Makefile を使用したビルド:**```bash
make build-java-client

または手動でビルド:```bash cd java-client mvn clean package

root@kitploit:~
**実行:**```bash
# Connect to localhost
java -jar bin/redteamcoin-miner-client.jar

# Connect to remote server
java -jar bin/redteamcoin-miner-client.jar -server 192.168.1.100:50051

機能:

  • gRPCプロトコル(Goクライアントと一致)
  • ヘッドレス運用(GUIなし)
  • サーバー制御(一時停止/再開/スロットル)
  • 自動再接続
  • サーバーコマンドによる自己削除
Java スタンドアロンマイナー(GUI)

グラフィカルインターフェースを備えたデスクトップマイナー。

前提条件:

  • Java 21以降
  • Maven(ビルドのみ)

Makefileを使用したビルド:```bash make build-java-standalone

root@kitploit:~
**または手動でビルド:**```bash
cd java-standalone
mvn clean package

実行:```bash

GUI mode (default)

java -jar bin/redteamcoin-miner-standalone.jar

CLI mode

java -jar bin/redteamcoin-miner-standalone.jar --pool localhost:50051

root@kitploit:~
**特徴:**

- デスクトップGUIインターフェース
- 視覚統計表示
- シンプルなJSON/Socketプロトコル
- アプリケーションに組み込み

##### すべてのJavaマイナーをビルド```bash
make build-java-all

Javaマイナーの利点:

  • 単一のJARファイルで、配布が簡単
  • クロスプラットフォーム(Windows、Linux、macOS)
  • ターゲットシステムでのコンパイル不要
  • Javaランタイム(JRE)のみ必要

完全なJava gRPCクライアントドキュメントについては、java-client/README.mdを参照してください。

リモートサーバーへの接続

デフォルトでは、クライアントはlocalhost:50051に接続します。リモートサーバーに接続するには:

コマンドラインフラグを使用する(推奨):```bash ./bin/client -server 192.168.1.100:50051 ./bin/client -s mining-pool.example.com:50051

root@kitploit:~
**環境変数を使用:**```bash
export RTC_CLIENT_SERVER_ADDRESS=192.168.1.100:50051
./bin/client

優先順位: コマンドラインフラグ > 環境変数 > デフォルト (localhost:50051)

GPU マイニング

RedTeamCoinは、NVIDIA (CUDA) および AMD/Intel (OpenCL) GPU向けのGPUアクセラレーションマイニングをサポートしています。GPUマイニングはCPUマイニングと比較して100~400倍高速で、エネルギー効率も大幅に優れています。

GPU インストール

NVIDIA CUDA:```bash sudo apt install cuda-toolkit make build-cuda

root@kitploit:~
**AMD/Intel OpenCL:**```bash
sudo apt install ocl-icd-opencl-dev
make build-opencl

自動検出:```bash make build-gpu # Automatically detects and builds for available GPU

root@kitploit:~
### GPU使用```bash
# Auto-detect GPU (default)
./bin/client

# Force CPU only
RTC_CLIENT_MINING_GPU_ENABLED=false ./bin/client

# Hybrid mode (CPU + GPU)
RTC_CLIENT_MINING_HYBRID_MODE=true ./bin/client

# GPU with remote server
./bin/client -server mining-pool.example.com:50051

Performance Comparison

Note: GPU mining is 100-150x more energy efficient than CPU mining.```bash

Test GPU detection

./bin/client 2>&1 | grep -i "gpu|cuda|opencl"

Force CPU mining (verify fallback works)

RTC_CLIENT_MINING_GPU_ENABLED=false ./bin/client

Force GPU mining (if available)

RTC_CLIENT_MINING_GPU_ENABLED=true ./bin/client

Test hybrid CPU+GPU mode

RTC_CLIENT_MINING_HYBRID_MODE=true ./bin/client

root@kitploit:~
See [docs/GPU_MINING.md](https://github.com/xyplex3/redteamcoin/blob/HEAD/docs/GPU_MINING.md) で完全なGPUマイニングガイドを参照してください。

## 設定

RedTeamCoinは、柔軟な設定管理のために [Viper](https://github.com/spf13/viper) を使用しています。設定は環境変数、YAML設定ファイル、またはコマンドラインフラグで指定でき、以下の優先順位に従います。

**コマンドラインフラグ** > **環境変数** > **設定ファイル** > **デフォルト値**

### セットアップ

**設定ファイルの初期化:**```bash
# Initialize both server and client configs
make init-config

# Or initialize individually
make init-server-config  # Creates server-config.yaml
make init-client-config  # Creates client-config.yaml

これはサンプルYAMLファイルを作業ディレクトリにコピーして編集できるようにします。設定ファイルは ~/.rtc/ または /etc/rtc/ に配置することもできます。

環境変数で上書き:```bash

Environment variables take precedence over config files

export RTC_SERVER_MINING_DIFFICULTY=8 export RTC_CLIENT_SERVER_ADDRESS=pool.example.com:50051 ./bin/server

root@kitploit:~
### 環境変数

すべての環境変数はプレフィックスを使用します: サーバー用の `RTC_SERVER_`、クライアント用の `RTC_CLIENT_`。

**サーバー設定:**

| 変数                                | 説明                   | デフォルト            |
| --------------------------------------- | ----------------------------- | ------------------ |
| `RTC_SERVER_NETWORK_GRPC_PORT`          | gRPCサーバーポート              | `50051`            |
| `RTC_SERVER_NETWORK_API_PORT`           | HTTPS APIポート                | `8443`             |
| `RTC_SERVER_NETWORK_HTTP_PORT`          | HTTPウェブインターフェースポート       | `8080`             |
| `RTC_SERVER_MINING_DIFFICULTY`          | マイニング難易度 (1-64)      | `6`                |
| `RTC_SERVER_MINING_BLOCK_REWARD`        | ブロック報酬 (コイン単位)         | `50`               |
| `RTC_SERVER_TLS_ENABLED`                | HTTPS/TLSを有効化              | `false`            |
| `RTC_SERVER_TLS_CERT_FILE`              | TLS証明書のパス          | `certs/server.crt` |
| `RTC_SERVER_TLS_KEY_FILE`               | TLS秘密鍵のパス          | `certs/server.key` |
| `RTC_SERVER_API_READ_TIMEOUT`           | API読み取りタイムアウト              | `15s`              |
| `RTC_SERVER_API_WRITE_TIMEOUT`          | API書き込みタイムアウト             | `15s`              |
| `RTC_SERVER_API_IDLE_TIMEOUT`           | APIアイドルタイムアウト              | `60s`              |
| `RTC_SERVER_LOGGING_UPDATE_INTERVAL`    | 統計更新間隔         | `30s`              |
| `RTC_SERVER_LOGGING_FILE_PATH`          | ログファイルのパス                 | `pool_log.json`    |
| `RTC_AUTH_TOKEN` *(legacy)*             | カスタム認証トークン   | 自動生成     |

**クライアント設定:**

| 変数                                          | 説明                         | デフォルト           |
| ------------------------------------------------- | ----------------------------------- | ----------------- |
| `RTC_CLIENT_SERVER_ADDRESS`                       | プールサーバーアドレス (ホスト:ポート)     | `localhost:50051` |
| `RTC_CLIENT_SERVER_TLS_ENABLED`                   | gRPC接続のTLSを有効化      | `false`           |
| `RTC_CLIENT_SERVER_TLS_INSECURE_SKIP_VERIFY`      | 証明書検証をスキップ       | `true`            |
| `RTC_CLIENT_SERVER_TLS_CA_CERT_FILE`              | CA証明書ファイルのパス         | `""`              |
| `RTC_CLIENT_MINING_GPU_ENABLED`                   | GPUマイニングを有効化                   | `true`            |
| `RTC_CLIENT_MINING_HYBRID_MODE`                   | CPU+GPU同時マイニングを有効化  | `false`           |
| `RTC_CLIENT_MINING_AUTO_DELETE`                   | シャットダウン時に自動削除             | `true`            |
| `RTC_CLIENT_GPU_NONCE_RANGE`                      | GPUバッチあたりのノンス範囲           | `500000000`       |
| `RTC_CLIENT_GPU_CPU_START_NONCE`                  | CPUの開始ノンス (GPUとの重複回避) | `5000000000`      |
| `RTC_CLIENT_NETWORK_HEARTBEAT_INTERVAL`           | ステータス更新間隔              | `30s`             |
| `RTC_CLIENT_NETWORK_RETRY_INTERVAL`               | 接続再試行遅延              | `10s`             |
| `RTC_CLIENT_NETWORK_MAX_RETRY_TIME`               | 最大再試行時間                  | `5m`              |
| `RTC_CLIENT_BEHAVIOR_WORKER_UPDATE_INTERVAL`      | ワーカー進捗レポート間隔     | `100000`          |
| `POOL_SERVER` *(legacy)*                          | リモートサーバーアドレス               | `localhost:50051` |
| `GPU_MINING` *(legacy)*                           | GPUマイニングの有効/無効           | 自動検出       |
| `HYBRID_MINING` *(legacy)*                        | CPU+GPUマイニングを有効化               | `false`           |

### 設定ファイルの例

**サーバー設定** (`server-config.yaml`):```yaml
network:
  grpc_port: 50051
  api_port: 8443
  http_port: 8080
mining:
  difficulty: 8
  block_reward: 100
tls:
  enabled: true
  cert_file: /etc/rtc/certs/server.crt
  key_file: /etc/rtc/certs/server.key
logging:
  update_interval: 30s
  file_path: /var/log/rtc/pool.json

クライアント設定 (client-config.yaml):```yaml server: address: pool.example.com:50051 tls: enabled: false insecure_skip_verify: true ca_cert_file: "" mining: gpu_enabled: true hybrid_mode: false auto_delete: true gpu: nonce_range: 1000000000 cpu_start_nonce: 5000000000 network: heartbeat_interval: 30s retry_interval: 10s max_retry_time: 5m

root@kitploit:~
### 認証

すべてのAPIエンドポイント(ダッシュボードホームページを除く)は、Bearerトークン認証が必要です。

**自動生成トークン:**
サーバーは起動時にセキュアなトークンを生成し、コンソールに表示します。

**カスタムトークン:**```bash
export RTC_AUTH_TOKEN="your-secret-token"
./bin/server

パフォーマンス

予想される採掘時間はCPU性能と運によって異なります:

  • 難易度4: ~1-10秒/ブロック (シングルCPU)
  • 難易度5: ~10-60秒/ブロック
  • 難易度6: ~1-10分/ブロック

HTTPS設定```bash

Generate certificates

./generate_certs.sh

Start with HTTPS using new config system

export RTC_SERVER_TLS_ENABLED=true export RTC_AUTH_TOKEN="my-secure-token" ./bin/server

Custom certificates

export RTC_SERVER_TLS_CERT_FILE="/path/to/cert.pem" export RTC_SERVER_TLS_KEY_FILE="/path/to/key.pem" ./bin/server

root@kitploit:~
詳細なTLS設定については、[docs/TLS_SETUP.md](https://github.com/xyplex3/redteamcoin/blob/HEAD/docs/TLS_SETUP.md)を参照してください。

## APIリファレンス

### REST API エンドポイント

**公開エンドポイント:**

- `GET /` - Webダッシュボード (HTML)
- `GET /blocks` - 全ブロック表示ページ (HTML)

**認証済みエンドポイント:**

- `GET /api/stats` - プール統計 (JSON)
- `GET /api/miners` - 全マイナーのリスト (JSON)
- `GET /api/blockchain` - 完全なブロックチェーン (JSON)
- `GET /api/blocks/{index}` - 特定のブロックの詳細 (JSON)
- `GET /api/validate` - ブロックチェーンの整合性を検証 (JSON)
- `GET /api/cpu` - CPUとGPUの使用率統計 (JSON)
- `POST /api/miner/pause` - 特定のマイナーのマイニングを一時停止
- `POST /api/miner/resume` - 特定のマイナーのマイニングを再開
- `POST /api/miner/delete` - マイナーを削除 (自動終了と自己削除)
- `POST /api/miner/throttle` - CPUスロットル率を設定 (0-100%)

### 認証例

**cURL:**```bash
# Get stats
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8080/api/stats

# Get miners
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8080/api/miners

# Pause a miner
curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"miner_id":"miner-hostname-1234567890"}' \
  http://localhost:8080/api/miner/pause

# Set CPU throttle to 50%
curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"miner_id":"miner-hostname-1234567890","throttle_percent":50}' \
  http://localhost:8080/api/miner/throttle

# HTTPS (with self-signed cert)
curl -k -H "Authorization: Bearer YOUR_TOKEN" https://localhost:8443/api/stats

JavaScript:```javascript const token = "YOUR_TOKEN_HERE"; const headers = { Authorization: Bearer ${token} };

fetch("http://localhost:8080/api/stats", { headers }) .then((r) => r.json()) .then((data) => console.log(data));

root@kitploit:~
**Python:**```python
import requests

headers = {'Authorization': 'Bearer YOUR_TOKEN'}
response = requests.get('http://localhost:8080/api/stats', headers=headers)
print(response.json())

gRPC サービス```protobuf

service MiningPool { rpc RegisterMiner(MinerInfo) returns (RegistrationResponse); rpc GetWork(WorkRequest) returns (WorkResponse); rpc SubmitWork(WorkSubmission) returns (SubmissionResponse); rpc Heartbeat(MinerStatus) returns (HeartbeatResponse); rpc StopMining(MinerInfo) returns (StopResponse); }

root@kitploit:~
## アーキテクチャ

### 技術スタック

- **言語**: Go 1.21+
- **RPCフレームワーク**: gRPC(Protocol Buffers使用)
- **Webサーバー**: Go net/http 標準ライブラリ
- **依存関係**: google.golang.org/protobuf, google.golang.org/grpc

## 開発

### ビルドコマンド```bash
make proto                # Generate protobuf code
make build                # Build server and client (CPU only)
make build-gpu            # Build with GPU support (auto-detect)
make build-cuda           # Build with NVIDIA CUDA
make build-opencl         # Build with AMD/Intel OpenCL
make build-windows        # Cross-compile for Windows
make build-all-platforms  # Cross-compile for all platforms
make clean                # Remove build artifacts
make deps                 # Download dependencies
make init                 # Full initialization

テスト

RedTeamCoinには、サーバーとクライアントの両方のコンポーネントに対する包括的なユニットテストが含まれています。

すべてのテストを実行:```bash make test # Run all tests (server + client)

root@kitploit:~
**特定のテストスイートを実行:**```bash
# Server tests
cd server && go test -v

# Client tests
cd client && go test -v -short

# With coverage
cd server && go test -cover
cd client && go test -cover

テストカバレッジ:

  • サーバー: 76テスト、66.3%カバレッジ

    • blockchain_test.go: 15テスト - ブロックチェーン検証、ハッシュ計算、 同時アクセス
    • pool_test.go: 26テスト - マイナー管理、作業配布、統計
    • grpc_server_test.go: 17テスト - gRPCエンドポイント、マイナー制御、ハートビート
    • api_test.go: 18テスト - REST API、認証、マイナー操作
  • クライアント: 41テスト、16.2%カバレッジ

    • main_test.go: 24テスト - マイニングロジック、ハッシュ計算、状態管理
    • gpu_test.go: 18テスト - GPU検出、デバイス管理、統計

合計: コア機能をカバーする117の単体テスト

テスト対象:

  • ブロックチェーンの検証と整合性
  • ブロックマイニングとプルーフ・オブ・ワーク
  • マイニングプールの作業配布
  • マイナーの登録と管理
  • サーバー側のマイナー制御(一時停止/再開/削除/スロットル)
  • gRPC通信プロトコル
  • REST APIエンドポイントと認証
  • GPUデバイスの検出と初期化
  • ハッシュレート計算と統計
  • 同時操作とスレッドセーフ
  • エラーハンドリングとエッジケース

CI/CDテスト:

すべてのテストは自動的に実行されます:

  • プルリクエスト
  • mainブランチへのコミット
  • リリースビルド

CI設定については.github/workflows/build-verification.yamlを参照してください。

クロスコンパイル

Windows(CPUのみ):```bash make build-windows

root@kitploit:~
作成します `bin/client.exe`

**OpenCL(GPUサポート)対応のWindows:**```bash
# Requires MinGW-w64 and Windows OpenCL SDK
make build-windows-opencl

bin/client-windows-opencl.exe を作成します

Windowsビルドの完全な手順については、docs/WINDOWS_BUILD.md を参照してください。内容は以下の通りです:

  • GPU対応のネイティブWindowsビルド
  • Linuxからのクロスコンパイル設定
  • 認証トークンの設定
  • トラブルシューティングガイド

複数プラットフォーム:```bash make build-all-platforms

root@kitploit:~
Creates:

- `client-linux-amd64` - Linux 64ビット
- `client-linux-arm64` - Linux ARM64
- `client-windows-amd64.exe` - Windows 64ビット
- `client-darwin-amd64` - macOS Intel
- `client-darwin-arm64` - macOS Apple Silicon

**注意:** クロスコンパイルされたバイナリは、`build-windows-opencl` を使用しない限り、CPUのみ(CGO無効)です。

### 分析ツール

マイニング影響分析のための被害評価レポートを生成します:```bash
make build-tools
./bin/generate_report -log pool_log.json

レポートの内容:

  • リソース消費分析
  • パフォーマンス影響評価
  • インフラストラクチャの損傷
  • セキュリティへの影響
  • 財務影響の概要
  • システム単位の分析
  • 修復の推奨事項

コスト前提条件:

パラメータデフォルト

レポートの変換:```bash

PDF

pandoc Report_Miner_Activity_from_to.md -o report.pdf

HTML

pandoc Report_Miner_Activity_from_to.md -o report.html

DOCX

pandoc Report_Miner_Activity_from_to.md -o report.docx

root@kitploit:~
**使用例:**

- インシデント後の分析
- 経営陣向け説明
- 財務的正当性の説明
- コンプライアンス文書
- 保険請求
- 法的証拠

詳細なドキュメントについては、[tools/README.md](https://github.com/xyplex3/redteamcoin/blob/HEAD/tools/README.md) を参照してください。

## トラブルシューティング

### リモート接続の問題

**接続のテスト:**```bash
# Test connection
ping <server_ip>
nc -zv <server_ip> 50051

# Check server (on server side)
lsof -i :50051
ss -an | grep 50051

一般的な問題:

  • サーバーのアドレスとポートを確認する
  • サーバーが実行中であることを確認する
  • ファイアウォールルール(クライアントとサーバー)を確認する
  • ネットワーク接続を確認する
  • ポート50051がリッスンしていることを確認する

GPUマイニングの問題

一般的な問題

ビルドの失敗:

  • Go 1.21+ がインストールされていることを確認する
  • make deps を実行して依存関係をインストールする
  • protocツールのために make install-tools を実行する

接続拒否:

  • サーバーが実行中であることを確認する
  • ポートが使用中でないことを確認する: lsof -i :50051
  • ファイアウォール設定を確認する

認証エラー:

  • トークンがサーバーの出力と一致することを確認する
  • Authorization: Bearer TOKEN ヘッダーの形式を確認する
  • トークンがURLまたはヘッダーに含まれていることを確認する

ドキュメント

ユーザーガイド

  • docs/GPU_MINING.md - CUDAおよびOpenCLを使用したGPUマイニング
  • docs/WINDOWS_BUILD.md - Windowsビルドガイド(ネイティブおよびクロスコンパイル)
  • docs/TLS_SETUP.md - HTTPS/TLS設定
  • java-client/README.md - Java gRPCクライアント(ヘッドレスマイナー)
  • tools/README.md - 分析ツールおよび被害レポート

技術リファレンス

  • docs/WORKFLOWS.md - CI/CDワークフローと開発プロセス

例

  • docs/examples/ - サンプルレポートと使用例

コントリビューション

コントリビューションを歓迎します! 始め方は以下の通りです:

  1. リポジトリをフォークする
  2. 機能ブランチを作成する: git checkout -b feature/amazing-feature
  3. 変更を加え、テストを追加する
  4. テストスイートを実行する: make test
  5. 変更をコミットする: git commit -m 'Add amazing feature'
  6. ブランチにプッシュする: git push origin feature/amazing-feature
  7. プルリクエストを開く

開発環境のセットアップ```bash

Clone your fork

git clone https://github.com/YOUR_USERNAME/RedTeamCoin.git cd RedTeamCoin

Install dependencies

make install-tools make deps

Run tests

make test

Build and test locally

make build make run-server # Terminal 1 make run-client # Terminal 2

root@kitploit:~
### コードガイドライン

- Goの標準フォーマットに従う (`gofmt`)
- 新機能にはユニットテストを追加する
- ユーザー向けの変更についてはドキュメントを更新する
- PRを提出する前にすべてのCIチェックが通ることを確認する

## セキュリティに関する注意

これは、許可されたセキュリティテストおよびレッドチーム運用のための**デモンストレーション/教育プロジェクト**です。以下を目的としています:

- 許可された侵入テストの実施
- セキュリティ管理の検証
- 検知能力の評価
- 教育およびトレーニング目的

このツールは実際の暗号通貨としての本番使用を意図しておらず、本番システムに必要な多くの機能(暗号署名、ウォレット、トランザクション検証、ネットワークコンセンサスなど)が欠けています。

**所有している、またはテストする許可があるシステムでのみ、明示的な許可を得て使用してください。**

## ライセンス

このプロジェクトはGNU General Public License v3.0の下でライセンスされています。詳細は[LICENSE](https://github.com/xyplex3/redteamcoin/blob/HEAD/LICENSE)ファイルを参照してください。

## 謝辞

**作成者:**

- Peter Greko ([@Xyplex02](https://github.com/Xyplex02))
- Luciano Krigun ([@klucho](https://github.com/klucho))
- Jayson Grace ([@l50](https://github.com/l50))
ツールをダウンロード
ConfigurationHash RateSpeedupEfficiency (MH/W)
CPU (1 core)~2 MH/sBaseline~0.02
CPU (8 cores)~16 MH/s8x~0.02
GPU (RTX 3080)~500 MH/s250x~2.0
GPU (RTX 3090)~600 MH/s300x~2.5
GPU (AMD MI250)~800 MH/s400x~3.0
Hybrid (CPU+GPU)~620 MH/s310x~2.0
備考
CPU消費電力150Wフル負荷
GPU消費電力250Wフル負荷
電気代$0.12/kWh地域に応じて調整
寿命短縮20-40%継続的なマイニングによる
問題解決方法
"cannot find -lcuda"export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
"nvcc not found"sudo apt install cuda-toolkit
"No OpenCL device"sudo apt install ocl-icd-opencl-dev
GPUが遅いexport RTC_CLIENT_MINING_GPU_ENABLED=true
CGoビルドエラーsudo apt install build-essential