← Rust

LESSON / ARTICLE

セキュリティテストと依存関係の確認

セキュリティテストと依存関係の確認を学び、実務での設計判断につなげます。

要件をテスト可能にする

「安全にする」ではなく検証可能な条件に変換します。入力上限超過を拒否する、権限のない利用者は取得できない、エラー応答に秘密情報が含まれない、期限切れ認証情報を拒否する、などです。

#[cfg(test)]
mod tests{
 use super::*;
 #[test] fn rejects_empty_id(){assert!(parse_id("").is_err());}
}

単体テストで検証関数、統合テストでAPIやDBとの境界を確認します。失敗入力は回帰テストとして保存します。

依存関係

Cargo.lockで依存を固定し、cargo audit等で既知の脆弱性を確認します。スキャナー結果だけで断定せず、利用機能、公開範囲、影響、修正版を評価します。

演習

入力検証・認証認可・秘密情報・依存関係・ログ・テストの6領域について、確認方法と合格条件を作成してください。