著者:Brian Smitches、Windsurf パートナーデプロイエンジニアリング責任者 | Jin Wong、Windsurf パートナーデプロイエンジニア | Tarak、Aikido グロース
現代の開発チームは、単にコードを書くだけではありません。現在、AIの助けを借りて、ソフトウェア開発組織は、その作成、保守、デリバリーをこれまで以上に大規模にオーケストレーションしています。
Cognition社のWindsurfやDevinのようなツールは、コードを記述できる多段階推論エージェントで人間を拡張することにより、ソフトウェア開発ライフサイクル(SDLC)全体で開発者を支援します。WindsurfはローカルマシンのIDEでコードベースに直接関与するのを支援し、Devin(世界初のAIソフトウェアエンジニア)は自律型エージェントの群れに作業を委任するのを支援することで、最終的にエンジニアあたりの生産量を増やします。
開発速度の向上がこれらのAIツールの価値提案の中核である一方で、セキュリティ意識の高い顧客は、AIツールの使用が追加のリスクをもたらさないことを確実にしたいと考えています。誤設定、脆弱性、エクスプロイトなどの意図しない結果を軽減することは、イノベーションの速度でセキュリティを維持するために不可欠です。ここに、Aikido Securityのような専用の開発者セキュリティプラットフォームが適合します。
この記事では、Windsurf(AI対応IDE)、Aikido(開発者ファーストのセキュリティ)、Devin(自律エージェント)などのツールを使用して、AI対応のSDLCおよび開発パイプラインにセキュリティを直接組み込む方法を探ります。適切なツール、人材、プロセスが連携することで、高いセキュリティポスチャを維持しながらソフトウェアを効率的に開発できます。
SDLCにセキュリティファーストの基盤が必要な理由
強固なセキュリティ体制がない場合、組織はAIツールを使用しているかどうかにかかわらずリスクに直面します。これらには以下が含まれますが、これらに限定されません。
- データ侵害
- 内部脅威
- ソフトウェアサプライチェーン攻撃
- 敵対的エクスプロイト
多くの企業が、開発パイプライン全体にセキュリティプラクティスを組み込むために、DevSecOpsまたはSecDevOpsプロセスを採用しています。セキュリティ対策を後付けではなく事前検討とすることで、経済的損失、規制上の罰則、および評判の損害から保護されます。
AIシステムは、適切なコンテキスト認識とプロンプトエンジニアリングを組み込むことで、非常にインテリジェントになります。WindsurfやDevinのようなAIソリューションは、AIがセキュリティ上の懸念に能動的かつ受動的に対処できるよう、顧客がAIのカスタマイズされた動作を定義することを可能にします。AikidoのようなセキュリティソリューションからのコンテキストとツールでAIエージェントを強化すると、セキュリティのシフトレフト、自律エージェントによるリアルタイムでの脆弱性トリアージ、DevSecOpsパイプライン全体の成熟といったメリットが得られます。
AI搭載IDE: セキュアな開発が始まる場所
Windsurfは、コラボレーションAIエージェントであるCascadeをIDEに直接統合し、通常開発プロセスへの中断を最小限に抑えます。このエージェントは、Windsurf Editor(VS Codeベース)またはJetBrains製IDEスイートのプラグインとして使用できます。
.gif)
Cascadeはコードベースのコンテキストを理解し、複数ファイルの編集を計画・実行し、インラインコード提案を提供できます。重要なことに、Windsurfはその核となる部分で、伝統的に実践的な開発環境における完全自律型AIに対する防御として、人間参加型(human-in-the-loop)の哲学を念頭に置いて構築されました。
開発者が自身のワークフローとAIとの連携方法を管理することで、制御を放棄することなく、エージェント型ソフトウェア開発のメリットを享受できます。人間はAIが提案する変更をコードスニペットごとにレビューでき、会話の以前のチェックポイントに任意で戻すことも可能です。人間開発者とコーディングエージェント間のシームレスな連携は、セキュリティと効率を向上させる直感的なフローを生み出します。
Windsurfは、ユーザーが日々の開発における独自の標準とセキュリティプラクティスをAIエージェントに定義するメカニズムを提供することで、Cascadeをさらに強化します。Windsurf Customizationsにより、Cascadeはチーム固有のガイドライン、コーディング規範、実装の詳細に適応します。Windsurf Rulesを使用するとワークスペース全体でスタイルと構造をコード化でき、Windsurf Workflowsは反復的なプロンプトパターンを再利用可能で共有可能なプレイブックに変換します。
Aikido Windsurfプラグインのようなセキュリティツールでさらにカスタマイズされ、有効化されたAIは、ユーザーが記述したソフトウェアがセキュリティ標準とベストプラクティスに準拠するのを支援します。
自律型エージェント: 追加のAIソフトウェアエンジニアを活用する方法
開発者はミッションクリティカルなタスクやクリエイティブなタスクには常に必要ですが、Devinのような自律型エージェントは、より範囲が明確で反復的なタスクで人気を集めています。Devinは、ソフトウェア開発の需要の変化に応じて弾力的にスケールする、ジュニアソフトウェアエンジニアのAI版と考えることができます。

Devinを通じて、顧客は大規模な移行を記録的な速さで実行し、無限のバグや機能リクエストのバックログを解消し、フラグ付けされた脆弱性を自動的にトリアージしています。
全体として、Devinは既存の開発チームの負担を軽減することで組織がより迅速に動くのを支援し、Pull Requestを開始する前にテストやローカルセキュリティスキャンツールを実行するその勤勉さによって、組織はDevinを信頼しています。
Devinは1対多の方式で動作するように設計されているため、Jira、Slack、Linearなどの既存の作業コラボレーションシステムに統合されており、割り当てられたタスクを受け取ることができます。Devinがタスクを完了すると、プルリクエストと、そのすべての調査および作業の監査ログを作成し、開発者がセッションを確認できるようにします。さらに、Source Code ManagementツールでAikidoのようなセキュリティツールを使用して結果のプルリクエストを確認することで、コード出力のリリースに対する信頼を高めることができます。
これにより、エンジニアは曖昧なタスクや高リスクのタスクに集中できます。その間、エージェント群が機能リクエスト、バグ、およびAikidoのようなセキュリティシステムから特定されたセキュリティ脆弱性に対応します。
Aikidoが果たす役割
AI搭載IDEで迅速に作業を進め、自律エージェントでソフトウェア開発をオーケストレーションする際も、Aikidoは速度がセキュリティを犠牲にしないことを保証します。
AIによって強化された開発環境であっても、セキュリティ脆弱性は避けられません。コミットされた設定ファイルにテスト用のAPIキーが含まれている可能性があります。ローカルテストに使用されるDockerfileが、ステージング環境で意図せず広範なネットワークアクセスを公開する可能性があります。スキャフォールディングを目的としたAI生成ルートが、認証なしで本番環境に到達する可能性があります。Infrastructure-as-codeテンプレートが、過剰なアクセス権をプロビジョニングする可能性があります。詳細なスタックトレースやハードコードされたテスト資格情報のような些細なことでも、現実世界の脆弱性につながる可能性があります。
だからこそAikidoは、ソフトウェアを構築、ホスト、実行するあらゆる場所でセキュリティを確保し、あらゆる規模の脆弱性がインシデントになる前に捕捉するという前提に基づいて構築されています。
実際には、これはAikidoがIDEやCIパイプラインからビルド成果物やクラウドインフラストラクチャに至るまで、開発ツールや環境に接続し、継続的に脆弱性をチェックすることを意味します。コミット前のシークレットの捕捉、重要な問題でのCIビルドのゲート、プルリクエストでの依存関係リスクの表面化など、既存のワークフロー内で直接フィードバックを提供します。Aikidoは独自のAIを適用して、ノイズをフィルタリングし、影響の大きい発見を優先し、SDLC全体で脆弱性を自動的に修正します。
開発者がすでに作業している場所で対応することで、Aikidoは開発フローを中断することなく、簡単にアクションを実行できるようにします。あらゆる段階で、そしてリアルタイムで問題を早期に捕捉することで、チームは最高のソフトウェアを出荷するという彼らの得意なことに集中できます。チームはAIを活用した開発の全速力で進むことができ、作成、生成、出荷するコードのセキュリティに自信を持つことができます。

WindsurfとAikidoを使用する方法
WindsurfとDevinをAikidoで強化するのに、複雑なセットアップや統合は必要ありません。Aikidoがすでにリモートリポジトリに接続されている場合、コードがWindsurf、Devin、またはNotepad ++のいずれで開発されたかに関わらず、コミットとプルリクエストを監視します。
これら2つのツールを連携して使用する方法は次のとおりです。
1. IDE内で:よりスマートかつ安全なコーディング
WindsurfはIDEにAIを導入します。Aikidoもそこにセキュリティを導入します。コードが開発者自身によるものかAIエージェントによるものかにかかわらず、Aikidoはリアルタイムで作業ツリーがセキュリティ基準を満たすようにサポートします。
- コミットされる前に、トークンや認証情報のような漏洩したシークレットを検出します。
- 生のSQL、シェル呼び出し、弱い入力検証など、リスクのあるロジックをフラグ付けします。
- オープンソースライブラリのような脆弱な依存関係を強調表示します。
IDEにAikidoが組み込まれていることで、コンテキストスイッチなしで即座のフィードバックが得られ、フローを維持しながらセキュリティも向上させることができます。
2. CIとPRにおける第二の目
コードがエディターを離れた後、AikidoはCIパイプラインとプルリクエストを監視します。誰がコードを書いたかに関わらず、すべての変更をスキャンし、以下の点で役立ちます。
- コードと依存関係における既知の脆弱性を再確認します
- インフラストラクチャまたはサービス設定への変更を検証します。
- 致命的な問題が発見された場合、マージをブロックします。
- 優先度の低いノイズを除外することで、重要な情報のみを確認できます。
検出結果はプルリクエスト内またはCIステータスチェックにインラインで表示されます。追加の設定は不要です!
3. ビルド時: 出荷物を検査する
セキュリティはソースコードだけにとどまりません。コンテナやパッケージを構築する際、Aikidoは以下によって生成される実際のアーティファクトに焦点を移します。
- 古いシステムパッケージや一般的な脆弱性がないかイメージをスキャンします。
- コード生成やコピーされたサンプルによって導入されたライブラリを特定します。
- リリース前にバンドルされたコードのライセンスリスクを確認します。
- AIが生成したものを宣言する必要なく機能します。
これは、自動的に含まれるパッケージや、サードパーティのアプリケーション依存関係から来るテンプレートベースのスキャフォールディングから問題が浮上することがよくある点です。
4. デプロイ後:クラウドを監視
Aikidoは、アプリケーションが実行される環境を監視し、一般的な設定ミスを以下を通じてチェックします。
- AWS、GCP、Azure全体でクラウド設定を検証します。
- 公開されたサービス、パブリックバケット、および脆弱な権限を検出します。
- Kubernetes、ネットワーク、およびデプロイ設定を確認します。
- エージェントは不要で、何もインストールする必要はありません。
AIによって生成されたインフラストラクチャコードが、再確認されることなくステージング環境や本番環境に導入された場合に特に役立ちます。
5. 本番環境:攻撃者のようにテスト
Aikidoは、ユーザーや攻撃者が行うように、稼働中のアプリケーションに対して実際のテストを実行できます。Aikidoは以下を実行できます。
- 有効な認証情報を使用してルートと機能をテストします。
- インジェクションリスク、公開されたエンドポイント、および不足しているアクセス制御を検出します。
- ドキュメント化されていない、あるいは意図せず公開されたAPIを検出します。
- 有効になっている場合、ランタイムで不審なトラフィックをブロックします。
これは、コードレビュー時には見えなかったものの、アプリが稼働した際の動作で現れる問題を捕捉する場所です。
最終的に、セキュリティ脆弱性の原因が何であれ、セキュリティを可能な限り左にシフトさせる合理化された対応計画を持つべきです。Aikidoは問題を表面化させ、Windsurf Editorのようなアプリケーションで手動で、またはDevinを介してソースコードを更新することで、リスクに対処するお手伝いをします。
次のステップ
これらのアイデアを実践する準備ができた際には、AI機能を活用して安全なソフトウェアやアプリケーションを開発する方法を理解するために、以下の出発点をお勧めします。
- Windsurfを始める: https://www.windsurf.com/university
- Aikidoでコードをスキャンします: https://integrations.aikido.dev/integrations/windsurf
- DevinのDeepWikiのパブリックリポジトリに関する機能はdeepwiki.comでご覧ください。
- Devinを始める: app.devin.ai
- Aikidoのセキュア開発プラクティスはこちらをご覧ください:https://www.aikido.dev/learn/secure-development
- Aikidoのセキュアバイブコーディングウェビナーをご覧ください:https://www.youtube.com/watch?v=xGDYPRPoFPA
最後に
AIは開発者を置き換えるのではなく、彼らを強化するものです。しかし、安全性を伴わない速度は一時停止する正当な理由となるため、速度を最大化する前にセキュリティメカニズムを改善することをお勧めします。安全なアプリケーションは偶然生まれるものではなく、思慮深い設計、有能なツール、そして人々の優先順位付けの組み合わせの結果として生まれます。
プロンプトから本番環境まで、あらゆるステップにセキュリティを組み込むことは、チームがより速く、より安全に製品を出荷するために不可欠な要素です。

