みなさまこんにちは!エアークローゼットでCTOをしている辻です。 今回は、複数サービス合計46リポジトリに跨る本番システムのコードベースを、静的解析で1つのナレッジグラフに統合した話です。 社内ではcode-graphと呼んでいて、今年の1月から3月にかけて構築しました。 書き残しておきたい論点が3つあります。 なぜ「コードを読ませる」だけでは足りなくて、リポジトリを跨いだ繋がりまで取りに行く必要があったのか 46リポジトリに散らばる多種多様なフレームワーク(jQuery / AngularJS / Express / NestJS / TypeORM / Redux Axios ...)の境界をどう抽出していったか 3ヶ月の試行錯誤の結果、何が解けて何が解けなかったか 本記事は前編で、code-graph自体の構築と苦労、そして残った課題までを書きます。後編では、code-graphをb
2026年5月22日、米Anthropic社は「Project Glasswing(プロジェクト・グラスウイング)」の中間報告を公表した。約50の企業・組織と組み、同社の未公開モデル「Claude Mythos Preview(クロード・ミュトス・プレビュー)」を使って実施している脆弱性発見プロジェクトの成果をまとめたものだ。 結論から言えば、わずか1カ月で1万件超の重大脆弱性が発見されたという。この数字は大きく注目されているが、ただMythosの驚異的な脆弱性発見能力そのものは、4月にその存在が知られた段階でAnthropic自身が予告していたことであり、特段の驚きではない。 注目すべきは、その能力が実装フェーズに入った結果、具体的にどのような数字となって動き出したかである。実際にいくつかの数字に注目しながら、「Mythosが存在する世界」の現実を追ってみたい。 バグ発見の速度は10倍以
人間のコードレビューをやめた 正直に言うと、意思決定の要らないコード品質のチェックに関しては、もう人間のレビューは不要だと思っている。 人間のレビュワーはコードベースの一部しか把握していないし、疲れるし、遠慮するし、見落とす。AIはコードベース全体を読んだ上で、一貫した基準で指摘を出してくれる。しかもAIが数分で書いたコードを、人間が数時間〜数日かけてレビューするのは、単純にボトルネックでしかない。 hentekoさんのコードレビューをなくすことを考えるという記事にもすごく共感した。 僕は今、コードレビューを完全にAIに任せている。この記事ではそのやり方を書く。 ハーネスエンジニアリングという考え方 ただ、AIにレビューを丸投げすれば解決するかというと、そう単純でもない。AIのレビューは過剰な指摘を出すし、修正がバンドエイドになることもあるし、ループさせると振り子のように同じ箇所を行ったり
PSScriptAnalyzer is a static code checker for PowerShell modules and scripts. PSScriptAnalyzer checks the quality of PowerShell code by running a set of rules. The rules are based on PowerShell best practices identified by PowerShell Team and the community. It generates DiagnosticResults (errors and warnings) to inform users about potential code defects and suggests possible solutions for improvem
はじめに PSScriptAnalyzerとはPowerShellの静的コード解析ツールです。 バグになりやすい書き方や可読性を著しく低下させている箇所を警告してくれたり、 ベストプラクティスとされる書き方へ自動修整する機能を提供してくれたりしています。 MicrosoftのPowerShell公式チームが管理しているOSSで、 そこそこ有名なPowerShellのプロジェクトにはほぼ全てこちらのツールが利用されている印象です。 インストール方法 動作環境としては、Windows PowerShell 3.0以上、または、PowerShell 7.0.11以上(Linux, macOSも可)です。 PSScriptAnalyzerはVisual Studio CodeのPowerShell拡張機能(こちらもPowerShell公式チームより提供)に同梱されているため、 PowerShell
この記事は 実践で フル AI コーディングするための考え方とノウハウを凝縮したものです。筆者が持ってるノウハウはほぼ全て書いたつもりです。 Algomatic アドベントカレンダー 12/8 です。 この記事は、必要となる前提知識・考え方と、実践ノウハウと、AI デトックスについての三段構成になっています。 注意事項: この記事は、実践で、本格的なプロダクト開発をフル AI コーディングするためのものです つまり、メンテナンス性がとても重要です フル AI コーディングとは、コーディングエージェントなどの AI のみでコーディングすることです。一部人間がちょっとした手直しをすることもあるかもしれませんが、基本的には AI に書かせます LLM とは何かを知ってる人向けの記事です Claude Code や Codex や gemini-cli などをコーディングエージェントと呼ぶことを知
by Alexander Gorlin アメリカ空軍や航空自衛隊が運用する戦闘機「F-35」はC++でコーディングされたソフトウェアを搭載しています。このC++コードは「Joint Strike Fighter Air Vehicle C++ Coding Standards(JSF AV C++)」と呼ばれるコーディング規則に沿って記されているとのことで、Googleの研究者で航空機関連プログラミングにも詳しいLaurieWired(Laurie Kirk)氏がJSF AV C++の特長を解説しています。 Why Fighter Jets Ban 90% of C++ Features - YouTube 1996年6月に欧州宇宙機構はアリアン5型ロケットの初回打ち上げを実施しました。しかし、ロケットは発射から数十秒後に爆発し、打ち上げは失敗。この失敗はロケットのソフトウェアで処理できな
はじめに 今回は、RAG(Retrieval-Augmented Generation)を使ってセキュリティチェックシートへの記入を自動化した事例を紹介します。生成AI技術をどう業務に活かせるのか、実際のところどうだったのか、できるだけ具体的にお伝えできればと思います。 課題 最近のシステム開発では、何でもかんでも自分たちで作るのではなく、外部のサービスをAPIで使うことが増えてきました。開発スピードが上がって便利なのですが、私の会社は金融系ということもあり、外部サービスを使う前にFISCの安全対策基準に基づいたセキュリティチェックが必須になっています。 このチェックシート、とにかく項目が多いのです。400項目以上あります。 1項目あたりの作業を考えてみると、まず質問の意図を理解して、次にサービス会社が提供するSOC2レポート(だいたい100ページ超えのPDF)から該当しそうな箇所を探して
NTTドコモビジネスが開発しているSBOM管理ソリューション「Threatconnectome」において、Trivyと同じ脆弱性データベースを使用しているにもかかわらず、特定のパッケージで脆弱性検出漏れが発生した事例を紹介します。 はじめに 1. Trivyにおけるパッケージの分類について バイナリパッケージとソースパッケージについて バイナリパッケージ ソースパッケージ バイナリパッケージとソースパッケージの分類の意図 Trivyにおける脆弱性検出の仕組み Threatconnectomeにおける脆弱性の未検知問題の詳細 プロジェクトでの対応策 実施後の効果 まとめ 脚注 参考文献 はじめに こんにちは。イノベーションセンターMetemcyberプロジェクトの千坂知也と申します。 本記事では、私たちMetemcyberプロジェクトが開発しているSBOM(Software Bill of
「Goで静的解析ツールを作ってみたいけど、何から始めればいいの?」と思ったことはありませんか? Goは「静的解析がやりやすいように設計しよう」という背景を持って作られたプログラミング言語なので、go/astやgo/typesといった解析用の標準ライブラリがとても充実しています。 しかし、いざ作ろうと思っても「skeletonで雛形は作れたけど、その先のgo/astパッケージやgo/typesパッケージを使って自分がやりたい解析ロジックをどう書いていけばいいのか全く分からない」という壁にぶつかる方も多いと思います。 この本では、そんな「静的解析ツールを作りたいけれど、最初の一歩が踏み出せない」という方のために、ASTや型情報の基礎知識から実践的な解析ロジックの書き方まで、実際に動くサンプルコードとともに解説します。 読み終わる頃には「自分でも静的解析ツールが書けそう!」という状態になっている
はじめに PHPでの開発において、コードの品質を高く保つことは、プロジェクトの成功に欠かせない重要な要素です。 これまで、コードフォーマッタ、リンター、静的解析といったツールは、それぞれ別のものを組み合わせて使うのが一般的でした。しかし、今回ご紹介する Mago は、これらの機能をたった一つに統合した、PHP界に現れたちょっと革新的なツールチェーンです。 私自身、普段のPHP開発では、次のようなツールを愛用していました。 PHPStan: 頼れる静的解析ツール PHP-CS-Fixer: コードを美しく整えるフォーマッタ これらのツールに大きな不満はなかったのですが、心のどこかで「静的解析、もう少し速くならないかな…」「ツールの設定がバラバラで、ちょっと面倒だな…」と感じていたのも事実です。 そこで今回は、最近注目を集めている Mago という、Rustで書かれた爆速PHPツールチェーンを
みなさんこんにちは、イノベーションセンターの @Mahito です。 普段は社内のエンジニアが働きやすくなることを目標に、 コーポレートエンジニアのような活動やエンジニア向けイベントの企画・運営をしています。 今回は、本 NTT docomo Business Engineers' Blog のレビューに、 GitHub Copilot code review を利用し始めたことと、その学びについてお話します。 なお、GitHub Copilot code review を導入以降は投稿がないので、 これが GitHub Copilot code review の初レビュー記事となっております。 企業ブログにおけるレビューの重要性と難しさ 本ブログにおけるこれまでの取り組みと GitHub Copilot code review 導入の背景 仕組みによるレビュー スタッフ内でのレビュースキ
ゲーム業界が、消費者から理不尽な要求や誹謗(ひぼう)中傷を受ける「カスタマーハラスメント(カスハラ)」に頭を悩ませている。以前からゲームへの不満に対してユーザー側の暴力的な言動に発展することは珍しくなかったが、近年はクリエイターを名指しで中傷する投稿が交流サイト(SNS)などで目立つ。各社は「カスハラ対応方針」を発表し、悪質な場合は法的措置も検討すると警告するが、歯止めがかかっていない状況だ。 直近2万件レビュー「圧倒的不評」「死ね」「土下座しろ」「無能」「クズ」-。カプコンが2月に発売した人気シリーズの最新作「モンスターハンターワイルズ」を巡り、SNS上に投稿された特定のクリエイターへの誹謗中傷の一部だ。 同作ではプレー中にパソコン(PC)やゲーム機が強制終了するなどの不具合が報告されており、ゲーム内容自体への不満と合わせて〝炎上〟する事態となっている。世界最大のPCゲーム配信サービス「
SOLID原則とは、ソフトウェア設計の5つの原則の頭字語を取ったものです。ソフトウェアをより理解しやすく、より柔軟に、よりメンテナナンス性の高いものにするために考案されました。 単一責任の原則(Single Responsibility Principle) オープン・クローズドの原則(Open/closed principle) リスコフの置換原則(Liskov substitution principle) インターフェース分離の原則(Interface segregation principle) 依存性逆転の原則(Dependency inversion principle) 今回はSOLID原則のひとつ、単一責任の原則についてです。 単一責任の原則 個々のモジュール(関数やクラス)は、一つの責任だけを持つべきという原則です。責任は、そのシステムを使うアクター(ユーザやステークホル
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く