緊急の脆弱性パッチをエージェントに当てさせる手順: 読むだけの棚卸し→承認→検証済みの版→前後テスト→1リポ1PR
Cognition が PHP・Node.js・GitLab の RCE 対応用に公開したスキル集(MIT、Agent Skills 形式)の流れ。いきなり書き換えさせず、まず全リポジトリの使用箇所を読むだけで洗い出し、人が対象を選んでから、公式で確かめた版に上げ、新しい本番イメージの中で前後のテストを比べ、リポジトリごとに1本の PR を出させる。
どんな場面で使う?
- ランタイムやミドルウェアに緊急の脆弱性が出て、複数のリポジトリ・Dockerfile・CI 設定をまとめて直したい
- 自前のエージェント用に「パッチ当てスキル」を作るときの型が欲しい
手順
- 入れる(Claude Code・Codex・Cursor・Copilot・Gemini CLI・OpenCode などに対応)
bash
npx skills add CognitionAI/devin-vuln-fixes # エージェントを検出して入れ先を聞かれる # Claude Code のプラグインとして入れる場合 /plugin marketplace add CognitionAI/devin-vuln-fixes /plugin install vuln-fixes@cognition-skills - 頼む: 「PHP の脆弱性を直して(対象は acme/billing-api と acme/storefront)」のように対象を絞って依頼。スラッシュコマンドなら
/fix-php-vuln・/fix-node-vuln・/fix-gitlab-vuln - 棚卸しを確認して承認: Dockerfile とベースイメージ、OS パッケージ、ソースビルド、CI(setup-node、
.nvmrc、.tool-versions等)、Helm、Terraform、Lambda ランタイムなどの一覧と影響有無が表で返る。どのリポジトリを直すか、メジャー更新(例 Node 20→22)を含めるかを指示する - 出てきた PR を読む: 前後の版、テスト結果、ランタイムの差(拡張・ini・OpenSSL 等)、リスクの印、展開と戻し方の計画が入る。リスクの高いものはステージングやカナリアから出す。浮動タグを使っているイメージは再ビルドして再デプロイするまで直らない
自作スキルに流用できる型
- 最初は読み取り専用の棚卸しだけ。人の承認があるまで何も変えない
- 上げ先の版・イメージの digest・チェックサムは、公式のレジストリや告知で確かめてから書き換える。確かめられなければ PR に「未検証」と書く
- 変更前の版でテストを走らせて基準を取り、新しい本番イメージの中でもう一度走らせて比べる。壊れたら止まって最小の修正案を出す
- PR はリポジトリごとに1本。リスクの印と戻し方を必ず書かせる
注意点
- 検証の質はテストの量で決まる。テストが薄いリポジトリでは PR にそう書かれるので、ステージングで確かめる
- Debian/Ubuntu のパッケージは修正を取り込んでも上流の版番号が変わらない(
php -vを信じない)。digest で固定したイメージはタグではなく digest の更新が要る。Composer のrequire.phpを変えても本番の PHP は変わらない - ローカルのエージェントはスキルを自分の全権限で実行する。入れる前に中身を読む
- 修正率のベンチマークは公表されていない(Marktechpost の指摘)
- 関連: プラグインの「コミットSHA固定」を過信しない(Plugin4Shell) / Cloudflare 公式 security-audit skill: 見つける役と確かめる役を分ける
出典
- @Marktechpost · 2026-10-25
- Cognition ブログ(2026-10-22): devin.ai
- リポジトリ: github.com