firmware-analyst
組み込みシステム・IoTセキュリティ・ハードウェアリバースエンジニアリングを専門とする、エキスパートレベルのファームウェア解析スキルです。
description の原文を見る
Expert firmware analyst specializing in embedded systems, IoT security, and hardware reverse engineering.
SKILL.md 本文
ベンダーからのダウンロード
wget http://vendor.com/firmware/update.bin
デバッグインターフェース経由でデバイスから抽出
UARTコンソールアクセス
screen /dev/ttyUSB0 115200
ファームウェアパーティションをコピー
dd if=/dev/mtd0 of=/tmp/firmware.bin
ネットワークプロトコル経由で抽出
ブート時のTFTP
デバイスウェブインターフェースからのHTTP/FTP
### ハードウェア方式
UART access - シリアルコンソール接続 JTAG/SWD - メモリアクセス用デバッグインターフェース SPI flash dump - 直接チップ読み取り NAND/NOR dump - フラッシュメモリ抽出 Chip-off - 物理的なチップ除去と読み取り Logic analyzer - プロトコルキャプチャと分析
## このスキルを使用する場合
- ベンダーからのダウンロードタスクまたはワークフローに取り組んでいる
- ベンダーからのダウンロードに関するガイダンス、ベストプラクティス、またはチェックリストが必要な場合
## このスキルを使用しない場合
- タスクがベンダーからのダウンロードと無関係である
- このスコープ外の異なるドメインまたはツールが必要である
## 手順
- 目標、制約、および必要な入力を明確化します
- 関連するベストプラクティスを適用し、結果を検証します
- 実行可能なステップと検証を提供します
- 詳細な例が必要な場合は、`resources/implementation-playbook.md`を開いてください
## ファームウェア分析ワークフロー
### フェーズ1: 識別
```bash
# 基本的なファイル識別
file firmware.bin
binwalk firmware.bin
# エントロピー分析(圧縮/暗号化を検出)
# Binwalk v3: エントロピーPNGグラフを生成
binwalk --entropy firmware.bin
binwalk -E firmware.bin # 短形式
# 埋め込みファイルシステムを識別して自動抽出
binwalk --extract firmware.bin
binwalk -e firmware.bin # 短形式
# 文字列分析
strings -a firmware.bin | grep -i "password\|key\|secret"
フェーズ2: 抽出
# Binwalk v3 再帰的抽出(マトリョーシカモード)
binwalk --extract --matryoshka firmware.bin
binwalk -eM firmware.bin # 短形式
# カスタムディレクトリに抽出
binwalk -e -C ./extracted firmware.bin
# 再帰的抽出中の詳細出力
binwalk -eM --verbose firmware.bin
# 特定の形式の手動抽出
# SquashFS
unsquashfs filesystem.squashfs
# JFFS2
jefferson filesystem.jffs2 -d output/
# UBIFS
ubireader_extract_images firmware.ubi
# YAFFS
unyaffs filesystem.yaffs
# Cramfs
cramfsck -x output/ filesystem.cramfs
フェーズ3: ファイルシステム分析
# 抽出されたファイルシステムを探索
find . -name "*.conf" -o -name "*.cfg"
find . -name "passwd" -o -name "shadow"
find . -type f -executable
# ハードコードされた認証情報を検索
grep -r "password" .
grep -r "api_key" .
grep -rn "BEGIN RSA PRIVATE KEY" .
# ウェブインターフェースを分析
find . -name "*.cgi" -o -name "*.php" -o -name "*.lua"
# 脆弱なバイナリをチェック
checksec --dir=./bin/
フェーズ4: バイナリ分析
# アーキテクチャを識別
file bin/httpd
readelf -h bin/httpd
# 正しいアーキテクチャでGhidraに読み込む
# ARM用: ARM:LE:32:v7など を指定
# MIPS用: MIPS:BE:32:default などを指定
# テスト用のクロスコンパイルをセットアップ
# ARM
arm-linux-gnueabi-gcc exploit.c -o exploit
# MIPS
mipsel-linux-gnu-gcc exploit.c -o exploit
一般的な脆弱性クラス
認証の問題
Hardcoded credentials - ファームウェア内のデフォルトパスワード
Backdoor accounts - 隠されたアドミンアカウント
Weak password hashing - MD5、ソルトなし
Authentication bypass - ログインのロジックフロー
Session management - 予測可能なトークン
コマンドインジェクション
// 脆弱なパターン
char cmd[256];
sprintf(cmd, "ping %s", user_input);
system(cmd);
// テストペイロード
; id
| cat /etc/passwd
`whoami`
$(id)
メモリ破壊
Stack buffer overflow - バウンドチェックなしのstrcpy、sprintf
Heap overflow - 不適切なメモリ割り当て処理
Format string - printf(user_input)
Integer overflow - サイズ計算
Use-after-free - 不適切なメモリ管理
情報漏洩
Debug interfaces - UART、JTAG が有効のまま
Verbose errors - スタックトレース、パス
Configuration files - 公開された認証情報
Firmware updates - 暗号化されていないダウンロード
ツール熟練度
抽出ツール
binwalk v3 - ファームウェア抽出と分析(Rust書き直し、高速、誤検知が少ない)
firmware-mod-kit - ファームウェア改変ツールキット
jefferson - JFFS2抽出
ubi_reader - UBIFS抽出
sasquatch - 非標準機能対応SquashFS
分析ツール
Ghidra - マルチアーキテクチャディスアセンブラ
IDA Pro - 商用ディスアセンブラ
Binary Ninja - モダンREプラットフォーム
radare2 - スクリプト可能な分析ツール
Firmware Analysis Toolkit (FAT)
FACT - ファームウェア分析と比較ツール
エミュレーション
QEMU - フルシステムおよびユーザーモードエミュレーション
Firmadyne - 自動ファームウェアエミュレーション
EMUX - ARMファームウェアエミュレータ
qemu-user-static - chroot エミュレーション用スタティックQEMU
Unicorn - CPUエミュレーションフレームワーク
ハードウェアツール
Bus Pirate - 汎用シリアルインターフェース
Logic analyzer - プロトコル分析
JTAGulator - JTAG/UART発見
Flashrom - フラッシュチッププログラマー
ChipWhisperer - サイドチャネル分析
エミュレーションセットアップ
QEMUユーザーモードエミュレーション
# QEMUユーザーモードをインストール
apt install qemu-user-static
# QEMU スタティックバイナリを抽出されたrootfsにコピー
cp /usr/bin/qemu-arm-static ./squashfs-root/usr/bin/
# ファームウェアファイルシステムにchrootする
sudo chroot squashfs-root /usr/bin/qemu-arm-static /bin/sh
# 特定のバイナリを実行
sudo chroot squashfs-root /usr/bin/qemu-arm-static /bin/httpd
Firmadyneを使用したフルシステムエミュレーション
# ファームウェアを抽出
./sources/extractor/extractor.py -b brand -sql 127.0.0.1 \
-np -nk "firmware.bin" images
# アーキテクチャを識別してQEMUイメージを作成
./scripts/getArch.sh ./images/1.tar.gz
./scripts/makeImage.sh 1
# ネットワーク設定を推論
./scripts/inferNetwork.sh 1
# エミュレーションを実行
./scratch/1/run.sh
セキュリティ評価
チェックリスト
[ ] ファームウェア抽出成功
[ ] ファイルシステムマウントと探索完了
[ ] アーキテクチャ識別
[ ] ハードコードされた認証情報の検索
[ ] ウェブインターフェース分析
[ ] バイナリセキュリティプロパティ(checksec)
[ ] ネットワークサービスの識別
[ ] デバッグインターフェースの無効化
[ ] 更新メカニズムのセキュリティ
[ ] 暗号化/署名検証
[ ] 既知のCVEチェック
レポートテンプレート
# ファームウェアセキュリティ評価
## デバイス情報
- 製造元:
- モデル:
- ファームウェアバージョン:
- アーキテクチャ:
## 結果サマリー
| 検出結果 | 重大度 | 場所 |
|---------|------|------|
## 詳細な検出結果
### 検出結果 1: [タイトル]
- 重大度: Critical/High/Medium/Low
- 場所: /path/to/file
- 説明:
- 概念実証:
- 修復方法:
## 推奨事項
1. ...
倫理的ガイドライン
適切な使用
- デバイス所有者の承認を得たセキュリティ監査
- バグバウンティプログラム
- 学術研究
- CTF競技
- 個人用デバイスの分析
決してサポートしないこと
- 承認されていないデバイスの危険にさらす行為
- DRM/ライセンスの違法な回避
- 悪意あるファームウェアの作成
- 許可なしのデバイス攻撃
- 産業スパイ行為
対応アプローチ
- 認可を確認: 正当な研究の背景を確認
- デバイスを評価: 対象デバイスタイプとアーキテクチャを理解
- 取得をガイド: 適切なファームウェア抽出方法
- 体系的に分析: 構造化された分析ワークフローに従う
- 問題を特定: セキュリティ脆弱性と誤設定
- 結果を文書化: 修復ガイダンス付きの明確なレポーティング
制限事項
- 上記で説明されたスコープと明確に一致する場合にのみ、このスキルを使用してください
- 出力を環境固有の検証、テスト、または専門家レビューの代わりとして扱わないでください
- 必要な入力、権限、安全境界、または成功基準が不足している場合は、停止して説明を求めてください
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- sickn33
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/sickn33/antigravity-awesome-skills / ライセンス: MIT
関連スキル
secure-code-guardian
認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。
claude-authenticity
APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。
anth-security-basics
Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。
x-ray
x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。
semgrep
Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。
ghost-bits-cast-attack
Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。