Project CodeGuard AI コーディング向けセキュリティのサムネイル

Project CodeGuard とは — AI コーディング向けセキュリティルール(シスコ発・CoSAI)

| 20 min read

今日の日付(閲覧日)

2026年3月22日 ベータ記事

公式リンク

project-codeguard.org Getting Started GitHub Releases

📝 記事について:
本記事は、50近辺のくたびれたおっさん(貧乏)の筆者が、サイトやコードを作っていく際に気になったものをまとめたものです。
利用するかもしれない製品・サービスについて、公開情報を調べています。
内容の正確性については、必ず公式情報やデータソースをご確認ください。

Project CodeGuardは、シスコが開発しオープンソース化したあと、Coalition for Secure AI(CoSAI)に寄贈された、AI コーディングエージェント向けのセキュリティ枠組みです。

脆弱性スキャナ単体というより、Markdown で書かれたセキュリティルールを Antigravity・Cursor・Copilot・Claude Code などに読ませ、生成とレビューの段階で安全なパターンに寄せる設計が中心です。

以下では、公式サイト・シスコブログ・CoSAI の公開情報に沿って経緯を整理します。

あわせて公式リポジトリの sources 相当のルール Markdown を読んだうえでのフォルダ意味特に効くルール(alwaysApply: true の 3 本)をまとめます。図は Mermaid、比較は表です。

Core Insights

① ルール Markdown で出方を変える
codeguard-1 が三本柱(秘密・暗号・証明書)
core と owasp の二層で粒度を切る

  • 1 狙い

    後追い修正だけでなく「書くとき」に効かせる

    公式の説明どおり、計画・生成・レビューにまたがってルールを参照させ、ハードコードや弱い暗号などAI が出しやすい穴を減らすのが目的です。

  • 2 三本柱

    sources/corecodeguard-1-* だけ常時フラグ

    ローカルで grep した範囲では、alwaysApply: true はこの 3 ファイルのみ。ハードコード資格情報禁止・暗号アルゴリズム選定・証明書検証です。

  • 3 二層

    横断の core とチートシート粒度の owasp

    core は 23 本の横断トピック、owasp は 86 本の細目。後者はすべて alwaysApply: false なので、スタックに合わせて必要なファイルだけ足すイメージです。

Project CodeGuard とは何か

公式サイト(project-codeguard.org)の定義によれば、Project CodeGuard はモデル非依存のセキュリティフレームワークで、secure-by-default の実践を AI コーディングエージェントのワークフローに埋め込みます。

ルールは統一された Markdownで書かれ、変換ツールで各 IDE/エージェント向け形式に落とし込む想定です(リポジトリには Python 製コンバータや検証スクリプトもあります)。

CoSAI(Coalition for Secure AI)は OASIS のオープンプロジェクトとして位置づけられています。
シスコによる寄贈後も業界横断のコントリビューションで進化する、という説明が CoSAI 側の記事でも繰り返されています。
ライセンスはリポジトリ上 CC BY 4.0 が明示されています。

公開の経緯(公式・準公式の年表)

時期 内容
2025年10月(目安) シスコが AI 生成コードのセキュリティ向けフレームワークをオープンソースとして発表。
(ブログ「Announcing… securing AI generated code」系)
2026年2月 シスコが Project CodeGuard を CoSAI に寄贈すると発表。
Cisco BlogsOASIS プレスリリース
継続 寄贈後もシスコはコントリビューションを継続する旨。
対応エージェントとして Cursor・Copilot・Claude Code・Windsurf・Codex・Antigravity などの名前が公式文脈で挙がることがあります。

公式がカバーすると説明しているセキュリティ領域(8 分野の整理)

project-codeguard.org の列挙を、記事内参照用に表にまとめました(用語は公式の英語見出しを意訳)。

領域 含まれるイメージ
Cryptography安全なアルゴリズム、ポスト量子の文脈、鍵管理、証明書検証
Input validationSQLi、XSS、コマンドインジェクション等の防御
AuthenticationMFA、OAuth/OIDC、セッション管理
AuthorizationRBAC/ABAC、IDOR 対策、アクセス制御
Supply chain依存関係、SBOM、脆弱性管理
Cloud securityIaC、コンテナ、Kubernetes 等
Platform securityモバイル、Web、API
Data protectionプライバシー、保存・転送の暗号化

開発ライフサイクル上の位置づけ

公式の説明では、ルールは生成の前・中・後のいずれでも使える、とされています。

例えば入力検証のルールは、生成時に安全なパターンを提案し、レビュー時に不足を検出する、といった多段の使い方が文章上イメージされます。

flowchart LR phasePlan["計画と仕様"] phaseGen["コード生成"] phaseRev["レビューと修正"] phasePlan --> phaseGen --> phaseRev

ルールがエージェントに届くまで(公式アーキテクチャの要約)

リポジトリの README や Getting Started の流れは、おおむね次の直列です。

ルールの入手・更新は公式のみで行ってください(本サイトから本プロジェクトの ZIP/ミラーダウンロードは提供しません)。
配布物は GitHub Releases および Getting Started を参照してください。

flowchart TB stepMd["統一Markdownルール"] stepConv["変換ツール"] stepIde["IDE向けルール配置"] stepAi["AIエージェントが参照"] stepMd --> stepConv stepConv --> stepIde stepIde --> stepAi

公式 sources/ のざっくり構造

ルール本体は、リポジトリ上ではおおむね次の 3 か所に分かれます(件数は筆者が確認した時点の目安)。

flowchart TB subRoot["project-codeguard"] subCore["sources内 core 23本"] subOwasp["sources内 owasp 86本"] subTpl["sources内 templates"] subRoot --> subCore subRoot --> subOwasp subRoot --> subTpl

core は横断トピック(API、認証、IaC、MCP など)。
owasp はチートシート粒度の個別ファイル。
templates はカスタムルール用のひな形です。

ファイル名の網羅リストは GitHub 上の sources/ が正です。

alwaysApply フラグの実測

フロントマターの alwaysApply は、エージェント実装側が「常にコンテキストに含めるか」を決める手がかりになります。
筆者が sources 全体を grep した結果は、次のとおりでした。

対象 alwaysApply: true 備考
sources/core/codeguard-1-*.md 3 ファイルすべて ハードコード禁止・暗号アルゴリズム・証明書
sources/core/codeguard-0-*.md なし(すべて false) トピックに応じて読み込ませる運用向き
sources/owasp/*.md なし(すべて false) スタックに合わせてピックアップ
flowchart TB flagT["alwaysApply true"] flagF["alwaysApply false"] tier1["codeguard-1 が3本"] tier0["codeguard-0 が20本"] tierO["owasp が86本"] flagT --> tier1 flagF --> tier0 flagF --> tierO

三本柱 codeguard-1-*(本文から抜いた要点)

以下は sources/core の該当ファイルを読んだうえでの要約です。実装の最終判断は必ず原文と公式ガイドで確認してください。

  • codeguard-1-hardcoded-credentials.md
    パスワード、API キー、トークン、秘密鍵、接続文字列などをソースに置かない。
    AWS・Stripe・GitHub トークン形状など典型的パターンの列挙あり。適用時はどう効かせたか説明を求める。
  • codeguard-1-crypto-algorithms.md
    MD5 系、DES、RC4 など禁止。SHA-1 や AES-CBC/ECB はレガシー回避
    AES-GCM、ChaCha20-Poly1305、ECDHE、PQC ハイブリッド、TLS 1.3 など推奨の方向性。OpenSSL は低レベル API より EVP、置換表あり。
  • codeguard-1-digital-certificates.md
    PEM・拡張子・API から証明書を検知したら検証を促す。期限切れは重大。弱い鍵長、MD5/SHA-1 署名、自己署名の扱いなど手順付き。

codeguard-0-* で特に被害が出やすい論点(抜粋)

  • 入力・インジェクションcodeguard-0-input-validation-injection.md
    信頼境界での allowlist。SQL はプリペアド/バインドを主防衛。ファイルは magic・サイズ・保存場所の分離。
  • 認可codeguard-0-authorization-access-control.md
    既定拒否、リクエストごとの検証。IDOR はユーザースコープで解決。mass assignment は DTO allowlist。
  • MCPcodeguard-0-mcp-security.md
    無防備に公開しない。プロンプト・スキーマ・メタデータも非信頼。サンドボックス、TLS、署名・SBOM、プロンプトインジェクション対策。

OWASP ディレクトリ(86 ファイル)の使い方

認証・XSS・SSRF・フレームワーク別など細かいチートシートが並びます。

一覧は GitHub の sources/owasp を参照。
運用上は「いまのスタックに近いファイルだけ」をエージェントに読ませるのが現実的です。

効果の数字について

シスココミュニティのブログでは、多数プロンプト・複数言語の評価として、静的解析のセキュリティ指摘がおおむね約 36% 減との紹介があります。
再現条件・言語・ベースラインは原典で確認を。ルール導入が脆弱性ゼロを保証するわけではありません

なおシスコの AI セキュリティ文脈では、サプライチェーン向けに MCP ScannerA2A ScannerAgent Skills Scanner などの OSS 言及があります(CodeGuard 本体とは別ツール群)。

入手と始め方(公式)

公式リポジトリのルール類は CC BY 4.0 とされています。
ライセンス要約(英語)LICENSE.md を必ず確認してください。

謝辞

Project CodeGuard をオープンにし、CoSAI へ寄贈してコミュニティで育てようとするCiscoCoSAIOASIS、および GitHub で手入れしてくださるコントリビューターの皆様に感謝します。

本記事は公開情報と筆者の整理メモにすぎず、プロジェクト公式の見解ではありません。

Artist's Perspective

「シスコと聞くと、貧乏でくたびれたおっさんの筆者には、高いイメージしかなくて、こんなことやってたんだ~~~と、感心している。

セキュリティは高い技術で、正常系ならスムーズにいくけど、セキュリティを実装し始めると AI 駆使でもハードルが高いかな、、、、。

さて、 オアシスという謎のオープンソース団体、、始めてきたが、きいたとき、Oasis - Wonderwall の歌が頭に流れる、、、、、、いい歌ですね~~~。。。。。ちょっと古いか、、、笑 くたびれた貧乏すぎるおっさんのたわごとでした。

、、、、 やっぱり、モーニンググローリーのほうが、いいかな、、、こっちのメロディーの方がのれるか、、、、 と」

https://youtu.be/6hzrDeceEKc?si=ZOPgyWHf_yRxnu-v(Oasis「Wonderwall」/YouTube)
https://youtu.be/Wm54XyLwBAk?si=dgEEBuNbw8oUvvJR(Morning Glory ほか/YouTube)