lunaplus*

Find hints in all sort of places

長年運用しているHugo静的サイトのセキュリティアップデートを実施する

このサイトはHugoでビルドした静的コンテンツを共有ホスティングに配信する構成で、長年運用しています。 静的サイトはサーバーサイドの処理を持たないため「攻撃されにくい」と思われがちですが、実際には見直すべき箇所が意外と多くあります。 ページに同梱しているJavaScriptライブラリの陳腐化 外部CDNへの依存 HTTPセキュリティレスポンスヘッダーの欠如 今回、サイト全体のセキュリティ状態を棚卸しして、まとめてアップデートを実施しました。 静的サイトを長期運用している方の参考になりそうなポイントを整理します。

Janome + SQLite FTS5 で日本語の作業手順書の検索精度を向上する

Hugoで管理している作業手順書を、AIエージェントから検索できるようにしたいと考えました。 MCP(Model Context Protocol)経由でリモートの検索サーバーに問い合わせ、関連する手順書を返す構成です。 ただし、検索精度が悪いとエージェントが誤った手順を参照してしまいます。 とくに日本語の文書は英語のように単語がスペース区切りになっていないため、検索方式を安易に選ぶと期待した文書にたどり着けません。

TR-03183-2で整理するSBOMスキーマ要件

CRAではSBOMの作成が求められますが、本文ではフォーマットの細部までは規定されていません。 実務で困るのは「どの項目を、どの形式で、どこまで埋めるか」です。 その具体化に役立つのが、BSIのTR-03183-2です。 法的拘束力はないものの、SPDX/CycloneDXのフィールドに落とし込んだ要件が整理されており、 実装ガイドとして使いやすいドキュメントです。

CRAにおけるSBOM要件を整理する

EUのCRA(Cyber Resilience Act)が発効し、デジタル要素を持つ製品に対して、 開発時だけでなく運用段階まで含めたセキュリティ要件が明確になりました。 その中でもSBOM(Software Bill of Materials)は、脆弱性対応の基礎情報として扱われています。 今回は、CRA本文と関連ガイダンスを見ながら、 「最低限どこまでSBOMを準備すればよいか」を実務目線で整理します。

FastAPI-MCPで構築するシンプルなMCPサーバー

MCP(Model Context Protocol)サーバーは、AIアプリケーションと外部データソースやツールを接続するための統一プロトコルです。Claude、ChatGPT、その他のAIモデルが外部システムと安全に相互作用できるようにする仕組みです。 AI利用において、MCPサーバーが重要な役割を果たす理由は複数あります。

AWS Bedrockのインファレンスプロファイルの検証

AWS Bedrockのインファレンスプロファイル(Inference Profile)は、使用状況メトリクスの追跡やタグを使用してコストのモニタリングを行うために利用します。また、複数の基盤LLMモデルに対してリクエストを効率的にルーティングするための機能です。