土日の勉強ノート

AI、機械学習、最適化、Pythonなどについて、技術調査、技術書の理解した内容、ソフトウェア/ツール作成について書いていきます

サイトマップ

本ブログを見て頂いて、ありがとうございます!

このブログでは、AI、機械学習、最適化、Python、セキュリティ(CTF)などについて、技術的な内容や、ツールの作成/紹介を書いています。

また、はてなブログを始めるにあたり、ブログをカスタマイズした方法についても、詳しく書いています。

もし、このブログでお気づきの点や、問い合わせなどありましたら、問い合わせフォームか、XのDMにお知らせください。

(当ブログは、プロモーションが含まれています)

エンジニアグループのランキングに参加中です。

気楽にポチッとよろしくお願いいたします🙇

AI

AI - Optuna

AI - 量子化

AI - LLM

Java

Python

Linux

QEMU

Renode

セキュリティ、Webアプリケーション

ブログカスタマイズ

ブログ作成&運営

便利ツール

その他

CodeQL(静的解析ツール)の挙動を確認するための対象ソースコードとしてlibusbを調査する

前回 は、CERT C というセキュアコーディングについて調べてみました。

CodeQL の挙動を理解するに、Tinyhttpd を使ってきましたが、この OSS は、規模が小さいので良い面もありましたが、クエリの条件に当てはまるコードが無い場合が出てきました。そこで、新しく、対象の OSS として、libusb も使っていきたいと思います。

libusb は、とても有名な OSS で、USB を扱う OSS が採用してる場合が多いです。apt でパッケージを入れたときに、一緒に入ったりしてると思います。libusb は、USBデバイスへの汎用的なアクセスを提供してくれる Cソースライブラリです。USB の規格は膨大な量であり、USBデバイスにアクセスすることも結構な労力が必要になります。そこの役割をしてくれるのが libusb です。

それでは、やっていきます。

続きを読む

「LangChainとLangGraphによるRAG・AIエージェント実践入門」でLLMを始める

生成AI の書籍がたくさん出てきています。今回は、世の中から遅れないように、LangChainとLangGraphによるRAG・AIエージェント[実践]入門 エンジニア選書 を読みながら、OpenAI の GPT をAPI から使っていこうと思います。

では、やっていきます。

続きを読む

セキュアコーディング:CERT C INT02-C 「整数変換のルールを理解する」を調べる

前回 は、CodeQL の挙動を理解するために、Tinyhttpd を対象として、OverflowStatic.ql をいろいろ変更して、その結果を確認しました。

今回は、CERT C というセキュアコーディングについて調べたいと思います。まず、CERT C のルールを理解して、実際に、違反しているコードを実装してみて、挙動を確認してみたいと思います。

それでは、やっていきます。

続きを読む

Windowsターミナルの使い方と設定方法

tmuxの紹介 - 土日の勉強ノート」で、tmux を使い始めました。

最近、TeraTerm で tmux を使っていると、画面が乱れたりすることがありました。具体的には、左右の 2つのペインを開き、片方で作業していると、もう片方のペインが一緒に画面がスクロールしたり、表示がグチャグチャになったりしました。

いろいろ調べてみると、tmux は、TeraTerm と相性が悪い、ということが書かれているところがありました。そこで、tmux を使うときは、Windowsターミナルを使うことにしました。VirtualBox から WSL に移行したこともあり、Windowsターミナルはとても便利です。今回は、Windowsターミナルの設定や、調べた内容をまとめようと思います。

それでは、やっていきます。

続きを読む

Tinyhttpdを使用してCodeQL(静的解析ツール)のクエリの挙動を確認する

前回 は、CodeQL の挙動を理解するための対象のソースコードとして、Tinyhttpd を調査しました。

今回は、これを使って、CodeQL のクエリの挙動をいろいろ調べてみたいと思います。

それでは、やっていきます。

続きを読む

CodeQL(静的解析ツール)の挙動を確認するための対象ソースコードとしてTinyhttpdを調査する

前回 は、VSCode(Visual Studio Code)で、CodeQL を使う方法について調べました。

CodeQL の挙動を理解するには、対象のソースコードを少し変更して、CodeQL の結果を確認する、を繰り返すことが必要そうです。しかし、これまで対象のソースコードとして、使いたいと考えていた Use-After-Free は、1関数しかなく、データフロー解析を試すことを考えると、少し使いにくいと感じました。そこで、今回は、GitHub に公開されている OSS のうち、軽めの HTTPサーバの実装である Tinyhttpd を調査します。これが CodeQL の対象ソースコードとして、使いやすいといいのですが、まだ分かりません。

それでは、やっていきます。

続きを読む

Intelパソコンのまとめ

今回は、完全に自分用のメモです。

数年に一度、PC を買い替える機会があります。スペックを確認するとき、主に、CPU、MB、メモリ、SSD の性能を確認しますが、命名規則(Intel CPU は従来なら第X世代という名前付けがされてた)、規格、数値の意味を忘れており、毎回イチから調べ直してる気がしたので、1つの記事にまとめておこうと思った次第です。

個人的に、AMD まで把握するのは難しいので、Intel CPU の PC に関する内容に絞って書いていこうと思います。デスクトップパソコンの場合は、自作PC を想定しています。ノートパソコンは既製品です。

では、やっていきます。

続きを読む