[{"data":1,"prerenderedAt":516},["ShallowReactive",2],{"/ja-jp/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help":3,"footer-ja-jp":50,"the-source-banner-ja-jp":382,"the-source-navigation-ja-jp":388,"article-site-categories-ja-jp":411,"the-source-newsletter-ja-jp":413,"why-legacy-code-is-a-security-risk-and-how-ai-can-help-article-hero-category-ja-jp":420,"why-legacy-code-is-a-security-risk-and-how-ai-can-help-the-source-source-cta-ja-jp":446,"why-legacy-code-is-a-security-risk-and-how-ai-can-help-article-hero-author-ja-jp":453,"why-legacy-code-is-a-security-risk-and-how-ai-can-help-category-ja-jp":477,"why-legacy-code-is-a-security-risk-and-how-ai-can-help-the-source-resources-ja-jp":490},{"id":4,"title":5,"body":6,"category":7,"config":8,"content":14,"description":6,"extension":41,"meta":42,"navigation":43,"path":44,"seo":45,"slug":46,"stem":47,"type":48,"__hash__":49},"theSource/ja-jp/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help.yml","Why Legacy Code Is A Security Risk And How Ai Can Help",null,"security",{"layout":9,"template":10,"featured":11,"author":12,"sourceCTA":13},"the-source","TheSourceArticle",false,"joel-krooswyk","source-lp-how-a-devsecops-platform-drives-business-success-the-complete-guide",{"title":15,"description":16,"date":17,"timeToRead":18,"heroImage":19,"keyTakeaways":20,"articleBody":24,"faq":25},"レガシーコードがセキュリティリスクとなる理由と、AIを活用した対策法","AIによるコードリファクタリングが、レガシーシステムをモダナイズし、セキュリティ対策を強化し、組織を未来へと導く仕組みをご紹介します。","2025-01-15T00:00:00.000Z","6分で読めます","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463670/cdynzww9p2annh3mmbhl.png",[21,22,23],"レガシーコードは保守に多くのコストと時間がかかり、最新のセキュリティツールと互換性がない場合、業種を問わず組織にとって重大なリスクとなり得ます。","コードリファクタリングとは、コードをより読みやすくし、コードベースの安定性を高めるとともに、デベロッパーの生産性と作業効率を向上させるための戦略です。","AIによるコードリファクタリングは、予防的なセキュリティツールと併用することで、レガシーコードのモダナイズとセキュリティ脆弱性のリスクの軽減を同時に実現できます。","今日のテクノロジーの急速な進化は、とても興味深いものです。これはつまり、新製品や成長のチャンス、イノベーションの機会があらゆる場所に転がっているということです。しかし、このような成長と変化のスピードには、特にセキュリティの面でデメリットもあります。たった一人の悪意のある第三者によって、企業は業務の大きな混乱や評判の低下、さらには収益の損失を被る可能性があるのです。\n\n業界のリーダーたちがデジタルトランスフォーメーションの必要性や、古い、いわゆる「レガシー」システムへの依存に関する懸念について語っているのを聞いたことがあるかもしれません。レガシーコードそのものが必ずしも問題というわけではありませんが、最新のセキュリティツールと互換性がないことが多く、攻撃されやすい脆弱性につながることがあります。さらに、それが継続的なセキュリティ管理が求められるオープンソースコードと組み合わさることで、自社のコードベースが組織のデータやユーザー、そして評判を危険にさらしている可能性があります。\n\nレガシーコードは、セキュリティ面やコンプライアンス面から見てリスクがあるだけでなく、メンテナンスにも多くの時間とコストがかかります。しかも、そもそもチームのデベロッパーがそのレガシーコードを理解しているとは限りません。\n\nこのように、業界全体がレガシーコードに依存している現状は、非常に大きな問題であり、コスト面でも深刻な課題です。では、どうすればこの状況から抜け出せるのでしょうか？\n\nここからは、レガシーコードとは何かを改めて整理しながら、AIによるコードリファクタリングを活用して、どのようにコードベースのセキュリティを高めていけるかを探っていきます。AI主導のテストやセキュリティ機能と組み合わせることで、コードリファクタリングはコードベースを未来へと導き、チーム全体が過去ではなく未来を見据えて動けるようになります。\n\n## レガシーコードとは\n\n広い意味では、レガシーコードとは「以前のデベロッパーたちから引き継がれ、現在も使われ続けているコードベース」のことを指します。コードそのものは一応動作しているかもしれませんが、長年にわたって複数のデベロッパーが手を加えてきた可能性が高く、今のチームにとっては、どの変更が有用でどれが不要なのかを見極めるのが難しい場合があります。さらに、そのコードが古いフレームワークで書かれていたり、今のチーム内に使いこなせる人がいないような、古すぎる、もしくはすでに廃れたプログラミング言語で書かれていることもあります。\n\nそれではなぜ企業はレガシーコードに依存し続けているのか、不思議に思えるかもしれません。理由はさまざまですが、こう考えてみてください。あなたは古い家に住んでいるとします。その家は住み慣れていて落ち着くけれど、水回りは不安定で、電気配線も古く、ひとつ直すたびに別の場所が壊れるような状態です。本当はリフォームしたいけれど、それには業者の手配やいろいろな許可、数か月間の騒音と混乱、そして予算オーバーのリスクがつきものです。\n\nだから、とりあえず壊れたところだけを応急処置で修理しながら、なんとか日々を過ごしている。完璧ではないけれど、とりあえず動いている。レガシーコードも同じようなものです。たとえ古くて非効率的であっても、慣れ親しんだ「機能する」ソリューションです。一から書き直すのは大変な作業で、コストがかかる上にリスクもあります。それに、新機能の開発や緊急のバグ対応に追われている中、大規模な改修を行えるような余裕はありません。\n\nそのため、多くの企業がコードを更新せずに、レガシーコードを使い続けることを選択しています。その方が短期的に見て混乱が少ないからです。コードを更新するには、多くのコーディング作業やテスト作業が必要になります。しかも、古いコードの言語や仕組みを理解してもらうために、トレーニングが必要になる場合もあります。そういった内容が文書化されていない場合は、さらに対応が難しくなってしまうでしょう。\n\n## レガシーコードの問題点\n\n他の多くの企業と同じように、レガシーコードを使い続けることを選択した場合、さまざまな問題に直面する可能性があります。 というのも、そのコードは新しいテクノロジーに対応して設計されていないため、たとえばAIツールのような最新ソフトウェアと連携させることができず、製品の性能やスケーラビリティに悪影響を与えるおそれがあります。結果的に、それが会社の成長を阻み、顧客体験の質を損なうことにもつながります。\n\nレガシーコードの一番の懸念点は、それが5年前のものであれ50年前のものであれ、対応できるセキュリティスキャナーが存在しないかもしれない点です。つまり、更新中に何か問題があっても、それに気づけないかもしれないということです。さらに、更新を担当するデベロッパーがその言語や構造を十分に理解していない場合、意図せず新たな脆弱性を作り出してしまうリスクすらあります。最後に、多くの古いアプリケーションはCやC++で書かれています。これらはメモリ安全性が低い言語であり、実際、[報告されている脆弱性のうち約70%](https://www.cisa.gov/news-events/news/urgent-need-memory-safety-software-products)が、こうした言語によるものです。\n\nレガシーコードに対してセキュリティを確保する手段が限られていること、安全に更新する方法が少ないこと、結果として脆弱性が発生しやすくなること、これら3つの課題は、どんな業界の企業にとっても「見過ごすべきではないサイン」だと言えるでしょう。\n\n米国の[サイバーセキュリティ・インフラセキュリティ庁](https://www.cisa.gov/stopransomware/bad-practices)は、重要なインフラを危険にさらす可能性のある不適切な慣行の一覧を作成するにあたって、次のように述べています。\n\n「重要なインフラや国家の重要機能を支える目的で、サポートが対象外または終了しているソフトウェアを使い続けることは非常に危険であり、国家の安全、経済の安全、そして公衆衛生や安全に対するリスクを著しく高める。このような危険な行為は、特にインターネット経由でアクセス可能なテクノロジーにおいて、重大な問題となる。」\n\n国家の安全保障や公衆衛生に直接関わる業務ではなかったとしても、この警告は無関係ではありません。古いコードを使い続けることは、ベストプラクティスではなく、明らかな「悪い慣習」なのです。\n\n## ソリューション：コードリファクタリング\n\nソフトウェア開発者であり著者でもある[Martin Fowler](https://www.martinfowler.com/)氏によれば、\n「リファクタリングとは、既存のコードベースの設計を改善するための統制された手法であり、コードの外部的な動作を変えることなく内部構造を再構築する、規律ある技術」とされています。\n\nつまり、コードリファクタリングを行うことで、レガシーコードの元々の機能を損なうことなく、セキュリティを強化し、現代的なコードに生まれ変わらせることができるのです。\n\nリファクタリングにはさまざまな手法があります。たとえば、不要な要素を取り除いてコードをシンプルにする「インラインリファクタリング」や、重複コードを削除する「抽象化によるリファクタリング」などが代表例です。ただし、リファクタリングを効果的に行うには時間と高い開発スキルが求められます。さらに、たとえ他のタスクで忙しかったとしても、多くのテストが必要になります。\n\nそのため、コードリファクタリングは確かに、レガシーコードを未来に対応させ、読みやすく、効率的で、安全な状態に変える手段ではありますが、特に大規模なシステムにおいては、それ自体がひとつの大きなプロジェクトとなります。\n\n## AIができること\n\n今やAIは、ソフトウェア開発のライフサイクル全体を加速させる存在になっています。そしてもちろん、[AIがチームのリファクタリング作業を加速するためにできること](https://about.gitlab.com/blog/refactor-code-into-modern-languages-with-ai-powered-gitlab-duo/)もたくさんあります。たとえば、[GitLab Duo](https://about.gitlab.com/blog/gitlab-duo-chat-now-generally-available/)のようなツールは、既存のコードの説明を補助したり、新しいコードの生成を助けたりすることで、レガシーコードのモダナイズにおける大きなハードルを乗り越える手助けをします。また、デベロッパーがそのコードの言語に詳しくなくても、AIが足りない部分を補います。テストやセキュリティの面でも、AIは[根本的な原因を分析したり、テストケースを自動生成したり](https://about.gitlab.com/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/)、[脆弱性の修正をサポートしたり](https://about.gitlab.com/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/)できます。AIをツールキットに取り入れることで、コードリファクタリングはようやく現実的に取り組めるプロジェクトになり、長らく後回しになっていた作業も、ようやく完了できるかもしれません。\n\n[GitLabの調査](https://about.gitlab.com/developer-survey/2024/ai/)では、ソフトウェア開発ライフサイクル全体でAIを活用している人のうち、34%がレガシーコードのモダナイズにもAIを使っていることがわかっています。金融サービス業界では46%と、さらに高い結果となっています。\n\nもちろん、AIを使い始めるときにはいくつか気をつけるべきこともあります。\n\nまず、AIは完璧ではありません。テストやガードレール、そして人間の確認が必要です。時間のかかる手作業の一部を自動化して効率化することはできますが、すべてをAIに任せることはできません。特にセキュリティに関しては、AIだけに頼らず、他のツールと組み合わせて対策を行うことが重要です。その一環として、[動的なソフトウェア部品表（SBOM）](https://about.gitlab.com/blog/the-ultimate-guide-to-sboms/)を作成することをおすすめします。これにより、レガシーコードを含むソフトウェア全体におけるライセンスやセキュリティリスクを可視化できます。\n\n## コードベースを未来へ導く\n\nレガシーコードの保守からモダナイズへと踏み出すのは、大きなハードルに感じられるかもしれません。しかし、組織とユーザーデータの安全性を維持するためには最善の道です。適切なツールと手法を使えば、チームにとってはより効率的な、企業全体にとってもコスト効率の高い選択となり得ます。\n\n古い言語や古いフレームワークに時間と労力を取られ、ストレスや遅延、ボトルネックに悩まされる必要はもうありません。AIにリファクタリングという骨の折れる作業を任せることで、コードの安全性や正しい動作を保ち、デベロッパーは本来の仕事である、「新しい製品や機能を開発し、顧客に価値を届けること」に集中できるようになります。",[26,29,32,35,38],{"header":27,"content":28},"なぜレガシーコードはセキュリティリスクとなるのですか？","レガシーコードは、古いフレームワークやプログラミング言語を使用していることが多く、現代のセキュリティ対策が施されていません。そのため、最新のセキュリティツールとの互換性がなく、脆弱性のリスクが高まります。さらにサポート対象外、またはサポートが終了したソフトウェアは、攻撃者に悪用されやすく、データの整合性や安全性を損なうおそれがあります。",{"header":30,"content":31},"AIによるコードリファクタリングで、レガシーコードのセキュリティはどう向上しますか？","AIを活用したコードリファクタリングは、以下のような方法でレガシーシステムの安全性を高めます。\n - 古い、または脆弱なコードパターンを検出し、安全な書き方を提案\n - コードの動作を変えずに、可読性や保守性を向上できるよう自動で改善\n - セキュリティテストを生成し、脆弱性の根本原因を分析して、迅速な修正を支援\nこのアプローチにより、手作業の負担を減らし、より安全かつ効率的でスケーラブルなコードベースへの移行を加速させます。",{"header":33,"content":34},"AIなしでレガシーコードを保守する際の課題は？","以下のような課題があります。\n - __セキュリティ対応の欠如__：レガシーコードには対応するセキュリティスキャナーがないことがある\n - __複雑で古い構造__：デベロッパーが古いフレームワークやコードの知識を持っていない場合、保守や更新が難しい\n - __保守コストが高い__：保守にかかる時間とコストが大きく、イノベーションの妨げになる\n - __セキュリティリスク__：脆弱性や攻撃の対象になりやすく、情報漏えいのリスクが高まる",{"header":36,"content":37},"GitLabは、AIによるリファクタリングとレガシーコードのモダナイズにどう対応していますか？","GitLabはGitLab Duoを通して、レガシーコードの説明を提供し、デベロッパーがレガシーコードを理解できるように支援します。また、新しいコードの生成も行います。さらに、以下の機能も提供しています。\n - レガシーコードの脆弱性を検出する、AI主導のセキュリティスキャン\n - コードのセキュリティを強化する、自動テストと修正\n - レガシーコンポーネントを含む、全体のライセンスとセキュリティリスクを可視化する、動的ソフトウェア部品表（SBOM）",{"header":39,"content":40},"AIを使ってレガシーコードをリファクタリングするメリットは何ですか？","以下のようなメリットがあります。\n - __セキュリティの強化__：AIが脆弱性を特定・軽減し、セキュリティ体制を向上\n - __生産性の向上__：繰り返しの作業を自動化することで、デベロッパーがより価値ある仕事に集中できる\n - __コスト削減__：最新のフレームワークやツールに対応させることで、保守コストを抑えられる\n - __スケーラブルなモダナイズ__：複雑なコードベースでも一貫したリファクタリングが可能になり、組織のソフトウェア資産を将来に向けて強化できる","yml",{},true,"/ja-jp/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help",{"title":15,"description":16,"ogDescription":16,"ogImage":19,"ogTitle":15},"why-legacy-code-is-a-security-risk-and-how-ai-can-help","ja-jp/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help","article","zizsg-a4JqpTHbQdY_u7Y06Ab96n2Pf05iCKZqH_Eto",{"data":51},{"text":52,"source":53,"edit":59,"contribute":64,"config":69,"items":74,"minimal":373},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":54,"config":55},"ページのソースを表示",{"href":56,"dataGaName":57,"dataGaLocation":58},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":60,"config":61},"このページを編集",{"href":62,"dataGaName":63,"dataGaLocation":58},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":65,"config":66},"ご協力をお願いします",{"href":67,"dataGaName":68,"dataGaLocation":58},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":70,"facebook":71,"youtube":72,"linkedin":73},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[75,131,188,248,311],{"title":76,"links":77,"subMenu":93},"価格",[78,83,88],{"text":79,"config":80},"プランの表示",{"href":81,"dataGaName":82,"dataGaLocation":58},"/ja-jp/pricing/","view plans",{"text":84,"config":85},"Premiumを選ぶ理由",{"href":86,"dataGaName":87,"dataGaLocation":58},"/ja-jp/pricing/premium/","why premium",{"text":89,"config":90},"Ultimateを選ぶ理由",{"href":91,"dataGaName":92,"dataGaLocation":58},"/ja-jp/pricing/ultimate/","why ultimate",[94],{"title":95,"links":96},"お問い合わせ",[97,101,106,111,116,121,126],{"text":95,"config":98},{"href":99,"dataGaName":100,"dataGaLocation":58},"/ja-jp/sales/","sales",{"text":102,"config":103},"サポートを受ける",{"href":104,"dataGaName":105,"dataGaLocation":58},"https://support.gitlab.com","support portal",{"text":107,"config":108},"カスタマーポータル",{"href":109,"dataGaName":110,"dataGaLocation":58},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"text":112,"config":113},"ステータス",{"href":114,"dataGaName":115,"dataGaLocation":58},"https://status.gitlab.com/","status",{"text":117,"config":118},"利用規約",{"href":119,"dataGaName":120,"dataGaLocation":58},"/terms/","terms of use",{"text":122,"config":123},"プライバシーに関する声明",{"href":124,"dataGaName":125,"dataGaLocation":58},"/ja-jp/privacy/","privacy statement",{"text":127,"config":128},"Cookie 優先設定",{"dataGaName":129,"dataGaLocation":58,"id":130,"isOneTrustButton":43},"cookie preferences","ot-sdk-btn",{"title":132,"links":133,"subMenu":144},"製品",[134,139],{"text":135,"config":136},"DevSecOpsプラットフォーム",{"href":137,"dataGaName":138,"dataGaLocation":58},"/ja-jp/platform/","devsecops platform",{"text":140,"config":141},"AI支援開発",{"href":142,"dataGaName":143,"dataGaLocation":58},"/ja-jp/gitlab-duo-agent-platform/","ai-assisted development",[145],{"title":146,"links":147},"トピック",[148,153,158,163,168,173,178,183],{"text":149,"config":150},"CI/CD",{"href":151,"dataGaName":152,"dataGaLocation":58},"/ja-jp/topics/ci-cd/","cicd",{"text":154,"config":155},"GitOps",{"href":156,"dataGaName":157,"dataGaLocation":58},"/ja-jp/topics/gitops/","gitops",{"text":159,"config":160},"DevOps",{"href":161,"dataGaName":162,"dataGaLocation":58},"/ja-jp/topics/devops/","devops",{"text":164,"config":165},"バージョン管理",{"href":166,"dataGaName":167,"dataGaLocation":58},"/ja-jp/topics/version-control/","version control",{"text":169,"config":170},"DevSecOps",{"href":171,"dataGaName":172,"dataGaLocation":58},"/ja-jp/topics/devsecops/","devsecops",{"text":174,"config":175},"クラウドネイティブ",{"href":176,"dataGaName":177,"dataGaLocation":58},"/ja-jp/topics/cloud-native/","cloud native",{"text":179,"config":180},"コーディングのためのAI",{"href":181,"dataGaName":182,"dataGaLocation":58},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":184,"config":185},"エージェント型AI",{"href":186,"dataGaName":187,"dataGaLocation":58},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":189,"links":190},"ソリューション",[191,196,201,206,211,215,220,223,228,233,238,243],{"text":192,"config":193},"アプリケーションセキュリティテスト",{"href":194,"dataGaName":195,"dataGaLocation":58},"/ja-jp/solutions/application-security-testing/","Application Security Testing",{"text":197,"config":198},"自動化されたソフトウェアデリバリー",{"href":199,"dataGaName":200,"dataGaLocation":58},"/ja-jp/solutions/delivery-automation/","automated software delivery",{"text":202,"config":203},"アジャイル開発",{"href":204,"dataGaName":205,"dataGaLocation":58},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":207,"config":208},"SCM",{"href":209,"dataGaName":210,"dataGaLocation":58},"/ja-jp/solutions/source-code-management/","source code management",{"text":149,"config":212},{"href":213,"dataGaName":214,"dataGaLocation":58},"/ja-jp/solutions/continuous-integration/","continuous integration & delivery",{"text":216,"config":217},"バリューストリーム管理",{"href":218,"dataGaName":219,"dataGaLocation":58},"/ja-jp/solutions/value-stream-management/","value stream management",{"text":154,"config":221},{"href":222,"dataGaName":157,"dataGaLocation":58},"/ja-jp/solutions/gitops/",{"text":224,"config":225},"大企業",{"href":226,"dataGaName":227,"dataGaLocation":58},"/ja-jp/enterprise/","enterprise",{"text":229,"config":230},"スモールビジネス",{"href":231,"dataGaName":232,"dataGaLocation":58},"/ja-jp/small-business/","small business",{"text":234,"config":235},"公共機関",{"href":236,"dataGaName":237,"dataGaLocation":58},"/ja-jp/solutions/public-sector/","public sector",{"text":239,"config":240},"教育",{"href":241,"dataGaName":242,"dataGaLocation":58},"/ja-jp/solutions/education/","education",{"text":244,"config":245},"金融サービス",{"href":246,"dataGaName":247,"dataGaLocation":58},"/ja-jp/solutions/finance/","financial services",{"title":249,"links":250},"リソース",[251,256,261,266,271,276,281,286,291,296,301,306],{"text":252,"config":253},"インストール",{"href":254,"dataGaName":255,"dataGaLocation":58},"/ja-jp/install/","install",{"text":257,"config":258},"クイックスタートガイド",{"href":259,"dataGaName":260,"dataGaLocation":58},"/ja-jp/get-started/","quick setup checklists",{"text":262,"config":263},"学ぶ",{"href":264,"dataGaName":265,"dataGaLocation":58},"https://university.gitlab.com/","learn",{"text":267,"config":268},"製品ドキュメント",{"href":269,"dataGaName":270,"dataGaLocation":58},"https://docs.gitlab.com/ja-jp/","docs",{"text":272,"config":273},"ブログ",{"href":274,"dataGaName":275,"dataGaLocation":58},"/ja-jp/blog/","blog",{"text":277,"config":278},"お客様成功事例",{"href":279,"dataGaName":280,"dataGaLocation":58},"/ja-jp/customers/","customer success stories",{"text":282,"config":283},"リモート",{"href":284,"dataGaName":285,"dataGaLocation":58},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":287,"config":288},"GitLabサービス",{"href":289,"dataGaName":290,"dataGaLocation":58},"/ja-jp/services/","services",{"text":292,"config":293},"コミュニティ",{"href":294,"dataGaName":295,"dataGaLocation":58},"/community/","community",{"text":297,"config":298},"フォーラム",{"href":299,"dataGaName":300,"dataGaLocation":58},"https://forum.gitlab.com/","forum",{"text":302,"config":303},"イベント",{"href":304,"dataGaName":305,"dataGaLocation":58},"/events/","events",{"text":307,"config":308},"パートナー",{"href":309,"dataGaName":310,"dataGaLocation":58},"/ja-jp/partners/","partners",{"title":312,"links":313},"会社情報",[314,319,324,329,334,339,344,348,353,358,363,368],{"text":315,"config":316},"GitLabについて",{"href":317,"dataGaName":318,"dataGaLocation":58},"/ja-jp/company/","company",{"text":320,"config":321},"採用情報",{"href":322,"dataGaName":323,"dataGaLocation":58},"/jobs/","jobs",{"text":325,"config":326},"経営陣",{"href":327,"dataGaName":328,"dataGaLocation":58},"/company/team/e-group/","leadership",{"text":330,"config":331},"チーム",{"href":332,"dataGaName":333,"dataGaLocation":58},"/company/team/","team",{"text":335,"config":336},"ハンドブック",{"href":337,"dataGaName":338,"dataGaLocation":58},"https://handbook.gitlab.com/","handbook",{"text":340,"config":341},"投資家向け情報",{"href":342,"dataGaName":343,"dataGaLocation":58},"https://ir.gitlab.com/","investor relations",{"text":345,"config":346},"Sustainability",{"href":347,"dataGaName":345,"dataGaLocation":58},"/sustainability/",{"text":349,"config":350},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":351,"dataGaName":352,"dataGaLocation":58},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":354,"config":355},"トラストセンター",{"href":356,"dataGaName":357,"dataGaLocation":58},"/ja-jp/security/","trust center",{"text":359,"config":360},"ニュースレター",{"href":361,"dataGaName":362,"dataGaLocation":58},"/company/contact/#contact-forms","newsletter",{"text":364,"config":365},"プレス",{"href":366,"dataGaName":367,"dataGaLocation":58},"/press/","press",{"text":369,"config":370},"現代奴隷制の透明性に関する声明",{"href":371,"dataGaName":372,"dataGaLocation":58},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":374},[375,377,380],{"text":117,"config":376},{"href":119,"dataGaName":120,"dataGaLocation":58},{"text":378,"config":379},"Cookieの設定",{"dataGaName":129,"dataGaLocation":58,"id":130,"isOneTrustButton":43},{"text":122,"config":381},{"href":124,"dataGaName":125,"dataGaLocation":58},{"visibility":43,"title":383,"button":384},"The Intelligent Software Development Era: How AI is reshaping DevSecOps teams",{"config":385,"text":387},{"href":386},"/ja-jp/developer-survey/japan/","Get the research report",{"logo":389,"subscribeLink":394,"navItems":398},{"altText":390,"config":391},"the source logo",{"src":392,"href":393},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750191004/t7wz1klfb2kxkezksv9t.svg","/ja-jp/the-source/",{"text":395,"config":396},"購読する",{"href":397},"#subscribe",[399,403,407],{"text":400,"config":401},"人工知能",{"href":402},"/ja-jp/the-source/ai/",{"text":404,"config":405},"セキュリティとコンプライアンス",{"href":406},"/ja-jp/the-source/security/",{"text":408,"config":409},"プラットフォームとインフラストラクチャ",{"href":410},"/ja-jp/the-source/platform/",{"categoryNames":412},{"ai":400,"platform":408,"security":404},{"title":414,"description":415,"submitMessage":416,"formData":417},"The Sourceニュースレター","ソフトウェア開発の未来への洞察に関する最新情報を入手しましょう。","The Sourceのニュースレターへの登録が完了しました。",{"config":418},{"formId":419,"formName":362,"hideRequiredLabel":43},28467,{"id":421,"title":422,"body":6,"category":6,"config":423,"content":424,"description":6,"extension":41,"meta":440,"navigation":43,"path":441,"seo":442,"slug":7,"stem":443,"testContent":6,"type":444,"__hash__":445},"pages/ja-jp/the-source/security/index.yml","",{"layout":9},[425,432],{"componentName":426,"componentContent":427},"TheSourceCategoryHero",{"title":404,"description":428,"image":429},"進化するセキュリティ脅威とコンプライアンス要件に対応するための最新情報をお届けします。",{"config":430},{"src":431},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463273/aplkxrvwpii26xao5yhi.png",{"componentName":433,"componentContent":434},"TheSourceCategoryMainSection",{"config":435},{"sourceCTAs":436},[437,438,439],"source-lp-guide-to-dynamic-sboms","source-lp-a-field-guide-to-threat-vectors-in-the-software-supply-chain","application-security-in-the-digital-age",{},"/ja-jp/the-source/security",{"title":404,"description":428,"ogImage":422},"ja-jp/the-source/security/index","category","LdkNmpSN4IQ6BbGSqZS7AwRiPaalH_hSrFUQoOJA1UY",{"config":447,"link":448},{"slug":13},{"config":449},{"href":450,"dataGaName":451,"dataGaLocation":452},"/the-source/platform/how-a-devsecops-platform-drives-business-success/","Driving Business Success with DevSecOps","thesource",{"id":454,"title":455,"body":6,"category":6,"config":456,"content":457,"description":6,"extension":41,"meta":471,"navigation":43,"path":472,"seo":473,"slug":12,"stem":474,"testContent":6,"type":475,"__hash__":476},"theSourceAuthors/ja-jp/the-source/authors/joel-krooswyk.yml","Joel Krooswyk",{"layout":9},[458,469],{"componentName":459,"componentContent":460},"TheSourceAuthorHero",{"config":461,"name":455,"role":464,"bio":465,"headshot":466},{"gitlabHandle":462,"linkedInProfileUrl":463},"jkrooswyk","https://www.linkedin.com/in/joelrkrooswyk/","連邦CTO","Joel KrooswykはGitLabの連邦CTOです。Joelは2017年からGitLabの成長に積極的に関わってきました。25年にわたるリーダーシップの経験は、米国の公共部門だけでなく、世界中の中小企業、中堅企業、大企業にも及んでいます。Joelは、政府の政策に関する深い専門知識と、テクノロジー、ソフトウェア開発、AI、サイバーセキュリティにおける豊富な経験を兼ね備えており、産業界や政府機関から、政策の解説や対応について頻繁に依頼を受けています。",{"altText":455,"config":467},{"src":468},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463423/mkmdhuxsjggfvokdmdv7.jpg",{"componentName":470},"TheSourceArticlesList",{},"/ja-jp/the-source/authors/joel-krooswyk",{"title":455},"ja-jp/the-source/authors/joel-krooswyk","author","VDXnP75UpAdAXfVrCxPeD10LZPYc0iPpm5FYMtL44VI",{"id":421,"title":422,"body":6,"category":6,"config":478,"content":479,"description":6,"extension":41,"meta":488,"navigation":43,"path":441,"seo":489,"slug":7,"stem":443,"testContent":6,"type":444,"__hash__":445},{"layout":9},[480,484],{"componentName":426,"componentContent":481},{"title":404,"description":428,"image":482},{"config":483},{"src":431},{"componentName":433,"componentContent":485},{"config":486},{"sourceCTAs":487},[437,438,439],{},{"title":404,"description":428,"ogImage":422},[491,500,507],{"config":492,"title":493,"description":494,"link":495},{"slug":439},"デジタル時代のアプリケーション・セキュリティ","[世界各地のDevSecOpsの専門家5,000名を対象に行った調査結果](https://about.gitlab.com/ja-jp/developer-survey/2024/security-compliance/)を読み、組織がアタックサーフェス（攻撃対象領域）の増加にどのように取り組んでいるか、またセキュリティとAIに対する姿勢がどのように変化しているかをご覧ください。",{"text":496,"config":497},"レポートを読む",{"href":498,"dataGaName":499,"dataGaLocation":452},"/ja-jp/developer-survey/2024/security-compliance/","Application Security in the Digital Age",{"config":501,"title":502,"link":503},{"slug":438},"ソフトウェアサプライチェーンにおける脅威ベクターのフィールドガイド",{"config":504},{"href":505,"dataGaName":506,"dataGaLocation":452},"/the-source/security/field-guide-to-threat-vectors-in-the-software-supply-chain/","A field guide to threat vectors in the software supply chain",{"config":508,"title":509,"description":510,"link":511},{"slug":437},"GitLab動的SBOMガイド： 最新のソフトウェア開発に不可欠な要素","ソフトウェア部品表（SBOM）を使用して、これまで認識されていなかった組織リスクを可視化する方法をご紹介します。",{"text":512,"config":513},"ガイドを読む",{"href":514,"dataGaName":515,"dataGaLocation":452},"/the-source/security/guide-to-dynamic-sboms/","Guide to Dynamic SBOMs",1777404625503]