ある研究者の手記

セキュリティとかゲームとかプログラミングとかそのへん

2023年 → 2024年

前回の投稿が 2022年 → 2023年 だったので、だんだん一年の総評をまとめる生存報告ブログになってきています。ちょっと早いですが今年はすでに仕事納めもしており、2023年を締めていきたいと思います。

2023年振り返り

💼 仕事

引き続き Ubie でエンジニアをやらせてもらっています。

バックエンドプロダクト開発多し

仕事内容としては2022年に引き続き、バックエンドのプロダクト開発が多かった年になりました。社内のリスク低減に関連した取り組みではあったのですが、直接的に情報セキュリティに関係があったかというとあんまりなかったです。とはいえ企業におけるリスクというのは情報セキュリティだけに限ったものではありませんし、多角的な経験ができたとも言えます。

また、自分のチームで開発するだけでなく、ほかチームを巻き込む形でプロダクト開発するということもありました。今まで開発といえばほとんど個人技だった自分からすると、この2年間はかなり多くのことを得られたと思っています。実際には何事も「言うは易く行うは難し」でいろいろ苦労も多かったのですが、なかなか良い経験になりました。

とはいえそろそろセキュリティに直接関連するところに戻りたいなと考えており、来年はそちらの方面を全力投球する予定になっています。

組織の変化・進化

Ubieで働き始めてから2年半弱経ったのですが、思い返してみると物凄い勢いで組織が変化してきたのを感じます。入社当時はまだ事業の探索フェーズだったと言ってよく、様々な可能性を模索したり、ときに筋肉運用で物事を解決したりというのも珍しくありませんでした。セキュリティ観点でも最低限の部分を抑えつつ、その他の部分は流動的に対応するというような状況も多くありました。

しかしこの2年半の間で会社として様々な出来事や挑戦があり、その度に組織全体、そして社のメンバーも目覚ましくアップデートしてきていると感じています。特に事業の蓋然性が高くなってきたことにより、会社全体として開発生産性や信頼性をかなり重要視するようになり、それがメンバーにも浸透していったように思います。こういったスタートアップのフェーズの移り変わりというのを経験するのが初めてなので、一般的にこの変化の良し悪し判断が難しいですが、個人的にはわりと凄いことなのではないかなと考えてます。

🌴 趣味

OSS

相変わらず休日はコード書きを趣味にして生きています。2023年のヒット作(当社比)はGoの公式構造化ロガーとして登場した log/slog 利用時に秘匿値をログに出力しないようにする masq かなと思います。

github.com

user := struct {
    ID    string
    Email EmailAddr // ここでは独自の型を使う例(実態はstring型)
}{
    ID:    "u123",
    Email: "mizutani@hey.com",
}

// slogのlogger作成時に、ReplaceAttrに指定
logger := slog.New(slog.HandlerOptions{
    ReplaceAttr: masq.New(masq.WithType[EmailAddr]()),
}.NewJSONHandler(os.Stdout))

// で出力する
logger.Info("hello", slog.Any("user", user))

こんな感じでメールアドレスの型を指定すると、

{
  "time": "2022-12-25T09:00:00.123456789",
  "level": "INFO",
  "msg": "hello",
  "user": {
    "ID": "u123",
    "Email": "[REDACTED]"
  }
}

こんな感じにメールアドレスの値の部分をフィルタしてくれます。秘匿値がうっかり本番環境のログにでていたときに面倒臭さは何度も体験しているので、(自分で言うのもなんですが)もはや手放せないツールになっています。


あとは軽量SOAR(Security Orchestration, Automation and Response)ツールである AlertChain の開発もかなり力を入れてやってきました。

github.com

平たく言うと、いろんな種類のセキュリティアラートをHTTP APIで受け取って、アラートの整形や各種サービスへの連携(情報収集や通知など)を Rego で記述したポリシーをもとに処理してくれるツールです。ポリシーをテキスト形式で記述できるのでGitなどで管理しやすいこと、そしてアラート処理のワークフローを回帰テストできるようになっているのが推しポイントで、個人的には気に入っています。

こちらはすでに社内に展開し利用もしているのですが、まだいろいろ拡張をしたいのと、ユーザ層がかなりニッチだろうと予想しているため、あまり積極的に広報はしていません(何かの発表ではちょろっと話した気がするけど)。もし詳細を知りたいという奇特な方が世の中に1人でもいたら、解説記事の執筆などを前向きに検討したいと思いますので、ぜひご一報ください。

ゲーム

いままでずっとFGOをわりとやっていたんですが、今は完全に原神にドはまりしてます。戦闘システムやキャラの性質を考えた編成の組み方が幅広く、戦略的にいろんな編成で遊べるのが楽しいですね。戦闘の難易度もほどほどの難しさではありつつも奥が深く、エンドコンテンツである深境螺旋をよく遊んでいます。

最近実装されたキャラのナヴィア、無凸でなかなかぶっ壊れていて良いですね

昨年に引き続き、サイクリングマシンで運動しながら素材収集するというのをほぼ毎日やっており、ゲームをするほど健康になっていてお得です。

2024年どうするか

仕事

ちょっと前にアドベントカレンダーでも書いた Detection Engineering 、そしてそれにともなった Policy as Code の実践と浸透をやっていきたいというのが大きな目標です。長い目で見るとこのトピックは学生時代から追っていた自分にとって生涯のテーマみたいなところがあります。時代の流れとともにやるべきことや技術的な背景は大きく変わってきましたが、それでも根っこの部分である「セキュリティの分野でエンジニアリングをやっていく」というのは共通していると思います。

今回は自力で頑張るだけでなく、社内のメンバーの知見なども借りながら基盤を構築していくことになりそうです。クラウド環境の機能を使い倒していくだけでなく、LLMのような技術の活用も視野にいれています。これについてはまだ構想の段階なのですが、うまく成果がでたらまた後日なんらかの形で公開したいと考えています。

プライベート

やや仕事と関連してはいるのですが、最近英語(特にListeningとSpeaking)を使う機会がわりと増えており、それにともなって英語学習のモチベーションがかなり上がっています。物凄い高いかと言われるとそこまでではないのですが、これまで自らの意志として英語勉強したいと思ったことなど正直一度たりともなかったので、それに比べると自分史上最高の学習モチベーションと言えます。具体的にはListeningの精度を上げること、そして仕事などでの会話で言いたいことがスルッと言えるようになる、というあたりを目指してやっていこうと思っています。

ということで

皆様良いお年をお過ごしください。来年も各位どうぞよろしくおねがいします。