---
generated_at: 2026-03-01 16:35:00
metrics:
  claims_total: 25
  claims_with_evidence: 24
  claims_without_evidence: 1
confidence_derived: 0.96
---

# 根拠レポート：61-乱数生成

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：24 / 25、根拠なし：1
- 優先レビュー（高）
  1. **暗号学的安全性に関する記述**：コード内に明示的な警告がないため推測

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `crates/nu-command/src/random/mod.rs` - モジュール構成
- E-02: `crates/nu-command/src/random/random_.rs` - 親コマンド実装
- E-03: `crates/nu-command/src/random/int.rs` - random int 実装
- E-04: `crates/nu-command/src/random/float.rs` - random float 実装
- E-05: `crates/nu-command/src/random/bool.rs` - random bool 実装
- E-06: `crates/nu-command/src/random/chars.rs` - random chars 実装
- E-07: `crates/nu-command/src/random/binary.rs` - random binary 実装
- E-08: `crates/nu-command/src/random/dice.rs` - random dice 実装
- E-09: `crates/nu-command/src/random/byte_stream.rs` - ストリーミング処理
- E-10: `docs/code-to-docs/機能一覧/機能一覧.csv` - 機能定義

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | random int は指定範囲内の整数を生成する | E-03 (14-24行目、94-98行目) | ○ |
| C-02 | random float は指定範囲内の浮動小数点数を生成する | E-04 (14-19行目、90-96行目) | ○ |
| C-03 | random bool はバイアス設定が可能 | E-05 (16-21行目、65-77行目) | ○ |
| C-04 | random chars はデフォルト25文字を生成 | E-06 (4行目 DEFAULT_CHARS_LENGTH) | ○ |
| C-05 | random chars は英数字(a-z, A-Z, 0-9)のみ使用 | E-06 (27-29行目 description) | ○ |
| C-06 | random binary は必須パラメータとして長さを取る | E-07 (16-18行目 required) | ○ |
| C-07 | random dice はデフォルトで6面1個のサイコロ | E-08 (84-90行目) | ○ |
| C-08 | random dice は v0.107.0 で非推奨 | E-08 (41-49行目 deprecation_info) | ○ |
| C-09 | 範囲指定なしの random int は 0..=i64::MAX | E-03 (110-113行目) | ○ |
| C-10 | 範囲指定なしの random float は 0.0..1.0 | E-04 (97-101行目) | ○ |
| C-11 | bool のバイアス値は 0.0〜1.0 の範囲 | E-05 (72-76行目 InvalidProbability) | ○ |
| C-12 | ストリーミング処理は 8192 バイト単位 | E-09 (25行目 OUTPUT_CHUNK_SIZE) | ○ |
| C-13 | ByteStream でチャンク出力を行う | E-09 (27-47行目) | ○ |
| C-14 | rand クレートの random_range を使用 | E-03 (3行目 use rand::random_range) | ○ |
| C-15 | rand クレートの random_bool を使用 | E-05 (2行目 use rand::random_bool) | ○ |
| C-16 | 範囲の step が負の場合はエラー | E-03 (83-92行目) | ○ |
| C-17 | float範囲を int に渡すとエラー | E-03 (102-107行目) | ○ |
| C-18 | Alphanumeric 分布で chars を生成 | E-06 (100-101行目), E-09 (11行目) | ○ |
| C-19 | Binary 分布で random binary を生成 | E-07 (64-65行目), E-09 (10行目) | ○ |
| C-20 | dice は ListStream で結果を返す | E-08 (97行目) | ○ |
| C-21 | chars/binary は Filesize 型も受け付ける | E-06 (20行目), E-07 (18行目) | ○ |
| C-22 | 親コマンド random はヘルプを表示 | E-02 (36行目 get_full_help) | ○ |
| C-23 | Category::Random に属する | E-03 (23行目), E-04 (19行目) | ○ |
| C-24 | 負の長さはエラー | E-06 (74-78行目), E-07 (41-44行目) | ○ |
| C-25 | 暗号学的に安全な乱数ではない | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- C-25 の「暗号学的に安全ではない」という記述について
  - rand クレートのデフォルト実装は CSPRNG ではないという一般知識に基づく
  - コード内に明示的な警告やドキュメントは存在しない
  - 候補：rand クレートのドキュメント / Nushell のセキュリティドキュメント

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 機能自体は単純な乱数生成であり、重大なセキュリティリスクはない
- 1: 中リスク - 暗号学的安全性の警告について、ユーザーへの注意喚起が必要かどうか検討

## 6) レビュアーチェックリスト（最小）
- [ ] random dice の非推奨警告が最新バージョンと整合しているか確認
- [ ] 暗号学的安全性についての記述がユーザーにとって適切か確認
- [ ] 各サブコマンドの入出力型が正確に記載されているか確認
