カテゴリ

プログラミング

PHPやJavaScript、Pythonなどの実装メモやエラー対応、書き方の整理をまとめます。

まず押さえたいこと

言語や構文だけでなく、エラーの読み方、データの流れ、保守しやすい書き方まで含めて見ると理解が残りやすくなります。

よくある入口

API、データベース、認証、フレームワーク、開発環境まわりの記事から読むと、実務で出会いやすい問題につながります。

実務で見るポイント

動くコードだけで満足せず、例外時の挙動、ログ、テスト、あとから直す人が読めるかまで確認するのが大事です。

GitHub Actions の pull_request_target が12月2日から公開リポジトリで既定ブロックに?確認と準備

GitHub は2026年12月2日から、公開リポジトリで pull_request_target をイベントポリシーで許可しない限り既定でブロックします。その前の11月9日と16日には試験的な強制があり、対象のワークフローは失敗します。対象の範囲、自分のワークフローが影響を受けるかの確かめ方、pull_request に移せるかの判断、必要なときの許可の仕方、安全な使い方を、公式の告知とドキュメントにもとづいて整理しました。

GitHub Actions のロックファイル(actions.lock)とは?SHA 固定との違いと導入手順

2026年10月28日に一般提供になった GitHub Actions のワークフローのロックファイル(.github/workflows/actions.lock)を、GitHub の Changelog と公式ドキュメントで整理しました。タグが付け替えられても、ロックしたコミットだけが動く仕組み、コミット SHA 固定との違い(間接的な依存も固定できる、リポジトリの同一性も確かめる)、gh actions-lock での導入手順、Dependabot との連携、組織で必須にする方針(Require lockfile)の試行運用、固定できないものと注意点までまとめています。

Laravel TokenGuard の認証回避(CVE-2026-114509)とは?対象の確認と更新手順

Laravel のフレームワーク本体で見つかった、トークン方式の API の認証を回避される脆弱性(CVE-2026-114509、CVSS v4 で 9.2)を、GitHub の公式アドバイザリと修正コミットで整理しました。なぜ MySQL・MariaDB で起きるのかを使い捨てのコンテナで確かめた結果、対象になる3条件と確かめ方、13.29.0 / 12.68.0 への更新手順、更新できないときの考え方、アクセスログでの痕跡の探し方までまとめています。

VS Codeでリポジトリを開くと勝手に実行される?tasks.jsonとワークスペースの信頼

採用の課題を装って悪意のあるリポジトリを開かせ、VS Code の tasks.json に仕込んだ自動タスクで攻撃コードを動かす手口を、Jamf・Microsoft の報告と VS Code の公式ドキュメントで整理しました。いまの VS Code が既定で止めてくれること(制限モードと自動タスクの確認)、npm のインストール時のスクリプトなどタスク以外の入口、知らないリポジトリを開く前の確認手順、設定の見直し、実行してしまったときの対応までまとめています。

HTTP2Shellとは?Brotliの脆弱性CVE-2026-111497の影響と確認・更新の手順(Node.js・Python・Bun)

圧縮形式Brotliの展開処理に見つかった重大な脆弱性「HTTP2Shell(Node2Shell)」(CVE-2026-111497)について、影響を受けるNode.js・Bun・Pythonのパッケージ・Envoy、body-parserやfetchが既定で展開する理由、自分の環境の版の確かめ方、修正版への更新とプロセスの入れ替え、暫定策の限界を公式情報をもとに整理します。

PHP2Shellとは?影響を受けるPHPの版・確認方法・今すぐやる対策(CVE-2026-109618/109619)

2026年10月に修正が公開されたPHP本体の重大な脆弱性「PHP2Shell」(CVE-2026-109618・CVE-2026-109619)について、影響を受ける版と動かし方、自分のサーバーの版の確かめ方、修正版への更新とワーカーの再起動、更新できないときの暫定策とその限界、攻撃されていないかの確かめ方を公式情報をもとに整理します。

プログラミング 2026.09.13 33

MavenとGradleの違いは?書き方・速さに加え、依存の版がぶつかったときの選ばれ方を実際に比べた

MavenとGradleはどちらもJavaのビルドと依存管理の道具ですが、設定の書き方や速さだけでなく、同じライブラリの別の版がぶつかったときに選ぶ版まで違います。同じ依存を並べてMaven 3.9.16とGradle 9.7.1で確かめた結果と、版を固定する方法、プロジェクトでの選び方をまとめます。

プログラミング 2026.09.12 32

git switch と git restore は何が違う?checkout が2つに分かれた理由と使い分け

git checkout は枝を移る操作とファイルを戻す操作を兼ねていました。この2つは取り消せるかどうかが正反対なので、同じ名前で呼ぶと事故が起きます。restore でコミットしていない変更が消えて回収先も残らないことを手元で再現し、移動したいなら switch、捨てたいなら restore という判断の順番を整理します。

プログラミング 2026.09.12 21

静的解析は何を見つけられて何を見つけられないのか|緑になっても安全とは言えない理由

静的解析はコードを動かさずに形から問題を探す手法です。同じ検査を何度でも回せて行番号まで示せる一方、認証や権限の不備は自動では追えず、設定ファイル側の問題はコードに現れないため見えません。OWASPの整理で得意と不得意を確認し、誤検知への向き合い方と何と組み合わせれば穴が埋まるかを整理します。