ELW株式会社 テックブログ

リアルなログをそのままお届けします。

GlassWorm:開発者エコシステムを侵食するサプライチェーン攻撃

GlassWormは、npmやGitHub、VS Code拡張などの開発者エコシステムを悪用するサプライチェーン型の攻撃キャンペーンである。単一のマルウェアではなく、複数の手法を組み合わせて展開される攻撃のまとまりとして観測されている。

この攻撃の特徴は、次のような「信頼された経路」をそのまま利用する点にある。

  • 正規パッケージ
  • 正規リポジトリ
  • 正規拡張機能

そのため、通常の開発作業の中で侵入が成立する。

続きを読む

仕様駆動開発で高品質かつ省力化したワークフロー ― cc-sddとClaude Codeの組み合わせ

はじめに

Kiroに代表される仕様駆動開発(Spec-Driven Development)は、AIエージェントによる開発に「要件→設計→タスク→実装」という構造を与えるアプローチとして注目されています。

本記事では、仕様駆動開発フレームワーク「cc-sdd」で仕様を整理し、Claude Codeのカスタムスラッシュコマンドで実装からPR作成、さらにはレビューボットへの対応まで大幅に省力化する方法を紹介します。

私が実際に運用しているワークフローであり、品質を保ちつつ人間の作業量を最小限に抑えられていると感じています。

続きを読む

OpenAI Chat Completions API におけるresponse_formatの活用

はじめに

以前の記事では、Function callingを使ってAIからの回答を定型化する方法を紹介しました。

Function callingは外部関数を呼び出す形式でJSON構造を取得できる便利な機能ですが、実はOpenAI APIにはresponse_format という、より直接的にJSON形式の回答を得られる方法が存在します。

本記事では、response_formatパラメータを用いた構造化出力の実装方法と、実際のKotlinコードでの活用例を紹介します。

続きを読む

【Quarkus】RequestScoped備忘録

Quarkusを使っていると、次のようなエラーに遭遇することがある。

jakarta.enterprise.context.ContextNotActiveException: RequestScoped context was not active when trying to obtain a bean instance for a client proxy of CLASS bean

これは@RequestScopedなBeanをRequest Contextが開始されていない実行パス(非同期処理・別スレッド・HTTP以外のエントリポイントなど)で使ったときに発生する。

続きを読む

個別株投資 スクリーニングツール & Claude API


前提:やりたいこと

投資信託だけでなく個別株式投資をしたい。数多存在する銘柄の選定を効率化できないか?

課題 詳細
対象が多すぎ 東証プライム市場だけで約1,600銘柄
指標だけでは不安 PER/PBRが割安でも実態はわからない
報告書はなるべく読みたくない 1社あたり100ページ超の決算資料
全部手動AI分析は非現実的 1,600社から選定 -> 報告書収集 -> AI分析

解決策 → 定量で絞り込み → 報告書と乖離がないか上位だけAI分析

続きを読む

QuarkusでMCPサーバーを構築し、AI AgentとSlack botを連携させる

CTOの村上です。本記事では、Quarkusを使用してMCPサーバーを構築し、OpenAI Agent SDKを使ったAI Agentとの連携、さらにSlack botとしての実装までをプロトタイプとして作成しましたので、その解説をさせていただきます。なお、記載しているコードについては、Production用ではなく、記事のために省略・改変をしている旨をご了承ください。また、実装をもとにLLMに記事の土台を作成させ、手で加筆修正しました。

続きを読む