SSH秘密鍵を「複製不可能」にする運用と、会社PCでできる現実的な代替
参考: 複製不可能なSSH鍵運用のススメ まとめ ファイルとして置かれた SSH 秘密鍵は、コピー・同期・マルウェアによる窃取のリスクから逃げられない 「複製不可能」とは、秘密鍵をハードウェアの中で生成して 外部にエクスポートできない 状態にし、外に出るのは公開鍵と署名結果だけにする運用 OpenSSH 8.2+ なら FIDO セキュリティキー(YubiKey 等)を ...
参考: 複製不可能なSSH鍵運用のススメ まとめ ファイルとして置かれた SSH 秘密鍵は、コピー・同期・マルウェアによる窃取のリスクから逃げられない 「複製不可能」とは、秘密鍵をハードウェアの中で生成して 外部にエクスポートできない 状態にし、外に出るのは公開鍵と署名結果だけにする運用 OpenSSH 8.2+ なら FIDO セキュリティキー(YubiKey 等)を ...
まとめ バケット ACL を public-read にすると、誰でもバケット直下に対する ListObjectsV2 が叩けてしまう(オブジェクトキー・サイズ・LastModified が匿名で取得できる情報漏洩リスク) 個別オブジェクトの public-read 配信(CarrierWave の asset_sync / Rails アセット等)は維持しつつ、 バケットレベル...
まとめ AWS CLI v2 は出力が一定量を超えるとデフォルトで less を起動し、ターミナルが全画面の pager 表示に切り替わる 抑制方法は 3 通り: コマンド単位の --no-cli-pager、環境変数 AWS_PAGER=""、~/.aws/config の cli_pager 永続化したいなら .zshenv に export AWS_PAGER="" を...
参考: 「依頼された仕事をやらない人」は、なぜ仕事をしないのか まとめ ある記事は「依頼された仕事をやらない人」の本質を「考えるのが嫌」と診断し、処方箋として「考えなくていい仕事に閉じ込めろ」と提案している しかしその処方箋が指す領域は、ちょうど今 AI が一番得意な領域と重なる 「計画が苦手」を 8 要素に分解すると、AI で代替できる部分と人間に残る部分がはっきり分か...
まとめ macOS「システム設定 → 一般 → ログイン項目と機能拡張 → バックグラウンドでの実行を許可」に表示される名前は、plist の Label ではなく ProgramArguments[0] の basename から取られる ProgramArguments[0] を /bin/zsh にして第二要素にスクリプトを渡すと、表示名は「zsh」に丸め込まれて識別不能に...
まとめ Claude にファイル探索や有無判定を「自然言語の指示」で任せると、似た名前のファイルを巻き込んで読んでしまう 決定的に判定できる処理は test -f などのシェルコマンドに移譲し、echo で次にやるべき指示文を直接返す SKILL.md の手順は「決定的処理(スクリプト)」と「判断・生成(Claude)」に分けて記述すると迷いが減る 起きたこと Clau...
まとめ CLAUDE.md はセッション中 毎ターンプロンプト先頭に積まれる ので、細かい規約を全部書くとトークンを毎回払う トークン以上に深刻なのは アテンションが薄まる こと。長くなるほど一行一行の効きが弱くなり、肝心の禁止事項が守られなくなる 長セッションでは CLAUDE.md も コンパクションで要約に巻き込まれて潰れる 。細かいルールほど消えやすい 推奨は 薄...
まとめ 誰も達成できていないグレードが存在する場合、それは個人の問題ではなく制度の失敗かもしれない 「何をすれば上のグレードになれるか分からない」は評価基準の透明性の欠如が原因の一つである 担当案件の重さが評価機会を左右する構造は、努力が報われにくい状況を生みやすい マネジメントが「聞くだけ」で終わると、制度への不信感が蓄積しやすい 「予防」の貢献は見えにくく、評価者...
まとめ git push --force で書き換えた旧 commit は GitHub 上に約 90 日残る(dangling commit)。SHA を直接指定すれば誰でも閲覧可能 private repo であってもリポジトリ所有者にアクセス権がある人なら旧 commit URL から内容を読める 完全に消したいなら (1) GitHub のガベージコレクション待ち (...
まとめ 稼働中の ELF バイナリに cp で上書きすると Text file busy (ETXTBSY) で失敗する 一時ファイルに書き出して mv -f で差し替える atomic rename で回避できる rename(2) はディレクトリエントリだけを書き換え、古い inode は実行中プロセスが使い続ける Rails で同じ問題に遭遇しなかったのは Capi...
まとめ GitHub App の bot user (<slug>[bot]) を @<slug> で mention しても、bot がその repo の participant になるまで auto-link されず plain text のまま表示される bot が participant になる条件は「その repo で 1 度でもコメント済み」「...
参考: Amazon RDS event categories and event messages まとめ RDS Multi-AZ の failover は「別 AZ への切替」と「同一 AZ での復旧」の2パターンがある RDS-EVENT-0015 (Multi-AZ failover to standby complete) → 別 AZ への切替 RDS-EV...
まとめ AI への技術指示が誤解されるのは「出力例」だけ提示しているケースが多い 出力例に加えて スコープ(実行範囲) ロジック(生成ルール) データソース(入力源) を併記すると一発で伝わる 出力例単独だと AI 側が前提を勝手に補完してしまい、間違った方向に作り込みが走る きっかけ AI コーディングエージェントに「フェールオーバー検証スクリプトの出力で 1a → ...
参考: HTTPS公開サイトへの即座の攻撃について まとめ HTTPS証明書を発行すると CT Log(証明書透明性ログ) に即座に記録され、誰でも検索できる 攻撃者はcertstreamでCT Logをリアルタイム監視しており、証明書発行から数分以内にスキャンが来る 開発・ステージング環境はBasic認証+IP制限で守る。本番はWAF サブドメイン名を隠すにはワイル...
まとめ SES のサプレッションリストはリージョンごとに独立している。正しいリージョンを確認すること Hard Bounce が発生すると SES がアドレスを自動的にサプレッションリストに登録し、以降の送信がすべてブロックされる サプレッションリストから削除してもブロックされたメールは再送されない。手動で再送が必要 現象 あるユーザーへの招待メールをはじめ、OTP...