メインコンテンツへスキップ

Ghidraがさらに進化!?マルウェア解析を激変させるMCPサーバー登場!

·2 分
2025/03 Ghidra マルウェア解析 リバースエンジニアリング MCP LLM

Ghidraがさらに進化!?マルウェア解析を激変させるMCPサーバー登場!

引用元:https://news.ycombinator.com/item?id=43474490

randomtoast 2025-03-27T12:35:50

いつかどんなバイナリファイルもワンクリックでソースコードに変換できるツールが欲しいなー。全てのゲームが“オープンソース”になったら超楽しいじゃん?今はOpenGothicとかopenageみたいなプロジェクトがあるけど、コミュニティの努力が何年も必要だしね。

airza 2025-03-27T15:15:43

今のSOTAモデルってREがマジで下手なんだよね。オープンデータで学習しても改善するとは思えない。ネット上に高品質な例が少ないし、コード書く人も積極的に難しくしてるし。

sebzim4500 2025-03-27T16:13:24

リバースエンジニアリングを学習させるための高品質な合成データを作るのは簡単だよ。適当なオープンソースプロジェクトを使って、モデルにバイナリからコード(または同等のもの)を生成させればいいんだから。

ai-christianson 2025-03-27T17:49:39

そうだね。コード難読化ツールとか使って、もっと多様でリアルな例を作っても良いかも。

gus_massa 2025-03-27T15:26:31

自分のじゃないコードはオープンソースにできないよ。彼らはクリーンな新しいバージョンを実装してるんだ。逆に、企業がGPLプロジェクトを選んで、コードを逆コンパイルして、プロプライエタリとしてリリースすることもできない。

randomtoast 2025-03-27T15:41:57

>彼らはクリーンな新しいバージョンを実装してるんだ。
リバースエンジニアリングって既存のコードを分析することが多いし、それは秘密でもなんでもないよ。みんながリバースエンジニアリングの結果を議論したり共有したりするフォーラムもあるし。それがないと、元のゲームファイルを使えるような、ほぼ100%互換性のあるクローンを作るのはほぼ不可能だよ。

Xx_crazy420_xX 2025-03-27T07:40:34

LLMがコードを理解するには、ASTネイティブであるべきだと思う。コードはツリー構造なのに、モデルには構造を明示せずに線形に与えてる。今のモデルは再帰性とか真の記憶がないから、階層構造を効果的に推論できないんだよね。

Nesco 2025-03-27T08:00:07

LLMは自己回帰モデルだよね。でも、ASTの順序って存在しないかもしれない。特に計算や制御フローの並列ブランチでは。各ブランチをN個のシーケンスにほどくこともできるけど、制御フローの情報が消えちゃう。ノードの子に客観的な順序がある場合でも、{先行順, 後行順} × {幅優先, 深さ優先}の4つのトラバーサルオプションがあるしね。ARC-AGI向けのカスタムAST DSLをいじった経験から言うとね。

Xx_crazy420_xX 2025-03-27T08:40:55

ARC-AGIに取り組んだことがあるって聞いて嬉しいなー。俺もちょっと触ったことあるんだ。並列ブランチがあると、トラバーサル空間がめちゃくちゃになるってのはマジでその通り。トークンレベルで曖昧だったものが、ASTでは構造化された曖昧さになるんだよね。LLMはトラバーサル空間全体を解決する必要はなくて、クリーンで抽象的なインターフェースがあればいいと思う。タイプと構造で推論できれば、Copilotみたいなツールの信頼性が爆上がりすると思う。

dragonwriter 2025-03-27T08:39:59

>LLMは自己回帰モデルだよね。
ほとんどのLLMは自己回帰モデルだけど、例外もあるよ。例えば、Mercury[0]は拡散LLMだよ。
[0]https://www.inceptionlabs.ai/news

Nesco 2025-03-28T10:05:27

えーと、diffusion modelsの理解がめっちゃ浅いんだけど、あれって基本的には固定長の構造、特に連続空間に適用されるものだよね。木構造で使えるようにする方法もあるかもしれないけど、それはマジで簡単なことじゃないと思うよ。

dragonwriter 2025-03-28T15:24:20

Autoregressive LLMsは大体において木構造じゃなくて、上限付きの線形トークン列で動いてるんだよね。それって固定長のシーケンスと同型じゃん。なんで木構造で処理する必要があると思ったのか分かんないなー。diffusion language modelsはマジで存在するし。Mercuryはプロプラだけど、LLaDAもあるよ。https://ml-gsai.github.io/LLaDA-demo/

gnfargbl 2025-03-27T12:09:04

バイナリをAST形式に変換する研究ってあんまりないのかな?誰かが考えそうな気もするんだけど、見たことないんだよね。汎用的にできるのか、特定のコンパイラを知る必要があるのか?言語も特定する必要がある?あるいは、同じバイナリになる別の言語の仮説的なASTを作ったりできるのかな?

lmeyerov 2025-03-27T16:40:56

ASTというよりグラフの方がしっくりくるな。プログラムを、元々はテキスト→ASTとしてエンコードされた、ごちゃごちゃしたデータフロー/コントロールフロー/依存関係グラフとして考えるんだよね。GNNはいくつか試みられたけど、推論への道って感じはしなかった。datalogで簡単にできることを、RL推論器にやらせるにはどうすればいいんだろう?

pilooch 2025-03-27T14:03:47

コードのこと忘れちゃって、モデルに直接行動させればいいんじゃない?それが俺の予想。

otabdeveloper4 2025-03-27T08:26:01

LLMって情報を完全に順番に処理するんだよね。それがコアな能力で、人間っぽく感じる理由だと思う。

dragonwriter 2025-03-27T08:35:54

>LLMs process information in a strictly sequential manner。”LLM”っていうクラス全体がそうってわけじゃないよ。ほとんどのLLMはautoregressiveモデルだからそうだけど、diffusion LLMもあるし、autoregressiveモデルみたいに順番じゃないんだ。
>It’s their core capability
順番であることは能力じゃないし、LLMを定義するコアなものでもない。
>and what makes them feel so anthropomorphic.
それにも同意できないなー。LLMが人間っぽく感じるのは、人間が他人を人間として認識する時に言語を重視するからだと思う。LLMの出力は人間の言語使用をモデル化して、人間らしさの認識に使われる重要な特徴を直接ターゲットにしてるんだ。

otabdeveloper4 2025-03-27T10:51:32

LLMのギミックは、まるで話しかけてくるかのように、順番にテキストを出力すること。それが「生きてる」とか「知的」に感じさせるんだよ。(皮肉なことに、この順番性こそが実際には知性を制限してるんだけどね。AIの盛り上がりは見た目重視で、事実じゃないんだ。)

lucianbr 2025-03-27T13:13:00

> That’s what makes them feel “alive” and “intelligent” to us.
この主張の根拠は何?「A」(チャットボットは順番にテキストを出力する)は真実で、「B」(彼らは知的に感じられる)も真実だけど、「AがBを引き起こす」って主張は根拠がないじゃん。たまたま両方とも真実で、個人的に因果関係があると感じるってだけで、何も証明にならない。

dragonwriter 2025-03-27T18:33:55

> The gimmick of the LLM is that it outputs text sequentially, as if it is talking to us. That’s what makes them feel “alive” and “intelligent” to us.
元の主張はそうだったね。でもやっぱり同意できない。彼らが生きているとか知的だと感じられるのは、人間みたいな言語を出力するからで、出力が順番に構築されるプロセスじゃないんだ。同じくらいの出力品質の非autoregressive LLMも、autoregressive LLMと同じくらい生き生きとして知的に見えるはず。tokenごとに順番に出力されるのがユーザーに見えないようなインターフェースのautoregressive LLMは、出力がストリーミングされるものと変わらず知的に見えるよ。

もっとコメントを表示(1)
rowanG077 2025-03-27T11:28:09

もしLLMが視覚的にテキストを順番に出力しないで、一度に出力したら、今ほど成功しないってことかな?

otabdeveloper4 2025-03-28T08:38:22

そうだよ。人間の言葉は順番に出てくる(音を一つずつ出す)。LLMがトークンごとに自動補完でこれを真似ると、人間っぽく見えるんだよね。(「成功」って言葉には異議があるけど。LLMを人間みたいな知能として売るのは、ただのギミックで詐欺まがいだよ。)

mike_hearn 2025-03-27T08:51:41

完全にはそうじゃないよ。TransformerのAttentionのポイントは、トークン同士の関係を色々なレベルで計算するクロスワイズ処理なんだ。だからLLMは読むのが速いんだよ。全部の入力トークンを並行して処理してるから。LLMは外側のループでは順番にトークンを出すけど、内部の活性化関数には計画された出力全体の非シーケンシャルマップがあるのは明らかだよ。そうじゃないと、首尾一貫した文章を作ったり、動詞を最後におくドイツ語を話したりできないもん。

qwertox 2025-03-26T19:08:20

今MCPを呼び出せるツールって何があるの?少し読んだだけだけど、ClaudeのデスクトップアプリがローカルでMCPを使えるって知ったよ。MCPをリモートで使えるチャットインターフェースってある?ChatGPT、Claude、GeminiのウェブインターフェースでMCPのエンドポイントと関数を指定して、リモートのサーバーを呼び出せるようにしたいんだよね。GPTsとかGemsみたいに。

lauriewired 2025-03-26T19:23:43

ビデオで少し触れたけど、Claude Desktopの他に、5ireが割とモデルに依存しないローカルMCPクライアントだよ。他にもあると思う。samaも最近ChatGPT DesktopにMCPクライアント機能が「すぐ」搭載されるって言ってた。リモートクライアントについては、Cloudflareに便利なツールがあるよ。”AI Playground”を見てみて。

jauntywundrkind 2025-03-26T19:43:40

OpenAIがAgents SDKでサポートを発表したよ。https://news.ycombinator.com/item?id=43485566

https://openai.github.io/openai-agents-python/mcp/

electroly 2025-03-26T23:13:31

Cursorで使ってるよ。MCPサーバーを書くのは簡単で、CursorにTypeScriptで書いてもらうだけ。ローカルのMCPサーバーを使って、好きなリモートAPIを呼び出したり(または他のタスクを実行したり)できる。MCPサーバーはstdin/stdoutを使ってCursorと通信するよ。

jevyjevjevs 2025-03-27T11:04:42

Librechatを使ってるけど、かなり機能が充実してると思う。Obsidian MCPを更新して、最新の日記エントリがセラピストのように振る舞うようにしたんだ。設定例はこちら:https://www.jevy.org/articles/obsidian-mcps-to-work-with-not…

dockerd 2025-03-27T11:39:03

@jevyjevjevsさん、サイトのブログにRSSフィードを追加してくれませんか?興味深くて役立つ記事がいくつかありました。購読したいのですが、RSSまたはメール購読が見当たりません。

efunnekol 2025-03-26T19:56:05

SAM(Solace Agent Mesh)でMCPサーバーを使えるよ。チャットインターフェースがあって、リモートで実行できる。リモートで一番簡単なのは、無料のSlackワークスペースを使ってSAMにSlack連携することかな。そうすれば、ブラウザUIを提供するために穴をあける必要はないよ。https://github.com/SolaceLabs/solace-agent-mesh

nekitamo 2025-03-26T19:42:11

おっ、同じ疑問持ってた人いたんだ!Google検索したら、ここにリストがあったよ:
https://github.com/punkpeye/awesome-mcp-clients

lordviet 2025-03-26T21:46:20

サーバーのリストはこっちにあるね:
https://github.com/punkpeye/awesome-mcp-servers

salgorithm 2025-03-26T20:00:35

BlockのGooseってツールがMCP使ってるらしいよ。
https://block.github.io/goose/

hedgehog 2025-03-27T02:15:38

Gooseをうまく使うコツってあるのかな?ちょっと試したけど、手動で設定したOpen Web UIに比べて不安定だったんだよね。

fixprix 2025-03-26T22:23:30

Unity、Blender、Photoshopにも、MCP連携機能があるみたい。GitHubで探せるよ。

mettamage 2025-03-26T19:59:48

プロキシサーバーを使えば、MCPサーバーをリモートで実行できるかもね。

asphodel_gray 2025-03-26T20:10:41

CursorがMCPをサポートしてると思うよ。

mdaniel 2025-03-26T14:25:32

前にGhidraとLLMを連携させた動画も良かったよ。
https://news.ycombinator.com/item?id=42860849
Malimite – iOS and macOS Decompiler
https://news.ycombinator.com/item?id=42829402
Jan, 2025 (37 comments)

sorenjan 2025-03-26T21:54:18

まだ彼女のYouTubeチャンネルを見たことないなら、チェックしてみて!技術的な内容も面白いけど、レトロなOSグラフィックを使った編集も楽しいよ。

foooorsyth 2025-03-27T02:46:49

マジですごいよね。技術的なコンテンツ、動画と連携したGitHubのリポジトリ、セットデザイン、レトロな編集…大手スタジオの作品よりもクオリティが高いものが多いと思う。

もっとコメントを表示(2)
npace12 2025-03-26T20:04:27

radare2用のもあるよ:
https://github.com/dnakov/radare2-mcp

ngneer 2025-03-27T01:07:37

もし全てのバイナリが完璧にリバースエンジニアリングできるようになったら、セキュリティはどう変わると思う?

LegionMammal978 2025-03-27T02:43:24

みんなプロプライエタリなプログラムを、サーバーと通信するただのクライアントに置き換えるんじゃない?それか、準同型暗号に全力投球するか。

ynniv 2025-03-27T02:45:03

形式的に証明されたシステムだけが安全になるだろうね。

xeckr 2025-03-27T01:31:56

アセンブリが読めれば、全てはオープンソースみたいなもんだよ。

gosub100 2025-03-27T14:35:04

セキュアエンクレーブがほとんどのコンピュータに現れるだろうね。暗号化なしに何も実行されなくなるかも。

brokensegue 2025-03-26T03:01:59

ghidraからLLMにコピペして解析させようとしたけど、うまくいかなかったんだよね。ベンチマークとかあると嬉しいな。

Everdred2dx 2025-03-26T05:27:38

一度だけ試したけど、逆の経験をしたよ。PS2のゲームから5つくらいの関連関数を与えたら、グラフィックスコードに関連するものだと正しく推論して、パラメータに適切な型と名前を付けたんだ。もちろん、これは当たるも八卦当たらぬも八卦だと思うけど。

strstr 2025-03-27T04:30:01

同じような経験をしたよ。ghidraからの不安定なデコンパイルを取ってきて、パラメータと関数に名前を付けることができたんだ。文字列内の単一の名前に基づいてゲームを把握することもできた。ラベル付けされたデコンパイルの私の読み方に基づくと、それはおおむね正しそうに見えた。そして間違いなく私よりずっと速い。たとえ100%頼らなくても、間違いなく関数の素晴らしい下書きパスだった。

cedws 2025-03-26T06:45:26

ほとんどの場合、トレーニングデータから認識された、どこかに紛れ込んだシンボルがあっただけだと思うよ。

rowanG077 2025-03-26T17:52:43

それどこから来てるの?ランダムなPS2ゲームのコードシンボルが学習データに入ってる可能性はめっちゃ低いと思うよ。コードを理解して書き換える能力があるって方がずっとありそう。LLMが何年も前からやってることじゃん。

sitkack 2025-03-26T18:02:46

親コメントは経験なしで想像で言ってるね。LLMは16進数とかバイトコードとかbase64とかrot13とかも理解できるんだよ。俺はいつもLLMを使ってバイトコードをデコンパイルしてるよ。

rfoo 2025-03-26T18:22:28

こういう系のベンチマークをどう作るかずっと考えてるんだけど、LLMを審査員にする以外に良いアイデアが浮かばないんだよね(でもすぐぐちゃぐちゃになる)。現在のニューラルデコンパイルの試みが、構文エラーなしで再コンパイルできるか、とか、再コンパイルの機能的な同等性とか、一見意味のないベンチマークで評価されてる理由もわかる気がする。

vessenes 2025-03-26T20:16:39

えー、特にリバースエンジニアリングに関しては、最高のベンチマークがあるじゃん。オリジナルのコードをチェックできるんだから。

brokensegue 2025-03-27T02:58:09

それってLLMを審査員にする必要があるよね。

dataangel 2025-03-27T11:40:19

いや、そんなことないよ。実際のソースコードとdiffを取ればいいだけじゃん。実際のdiffよりはもっとファジーで連続的なものになるだろうけど、それでも。

rfoo 2025-03-30T09:58:39

機能的な同等性に加えて、ニューラルデコンパイルの重要な価値は、それが復元したシンボル(関数名、変数名、メンバ名を含む構造体定義)にあるよね。もしLLMが、元々“find_pool”と呼ばれてた関数に対して“FindFirstFitContainer”を予測したとしたら、これは正しいの?間違い?26.333%正解?

brokensegue 2025-03-27T12:28:17

2つのコード片が同等であることを証明するのって、めっちゃ難しいよね(計算不可能)。

Everdred2dx 2025-03-27T04:22:31

MCPサーバーの“カタログ”を作ってる人いる?Githubで検索しても、なかなか見つからないんだよね。

meander_water 2025-03-27T04:58:07

最近、MCPサーバーのリストみたいなウェブサイトがめっちゃ増えてる気がする。
例えば:
>https://mcpservers.org/”
>https://glama.ai/mcp/servers”
>https://www.claudemcp.com/servers”
それにいつものGitHubのやつ:
>https://github.com/punkpeye/awesome-mcp-servers”
マジで流行ってるね。

もっとコメントを表示(3)
knowaveragejoe 2025-03-27T06:27:32

ちょっと詳しく説明するね。全部のMCPサーバーをインデックスしてるんだけど、中にはMCPサーバー自体をリモートでホストしてくれるサービスもあるんだ。Glamaとかmcp.runとか、最近だとCloudflareもその仲間入りしてるよ。

Klaster_1 2025-03-28T13:20:24

これらのMCPレジストリって、MCPサーバーも公開してるのかな?そうすればクライアントはレジストリを使ってMCPサーバーを自動で見つけられるよね。

dSebastien 2025-03-27T06:37:47

すでにディレクトリはいくつかあるよ。いくつかメモにまとめたから見てみて。
https://notes.dsebastien.net/30+Areas/33+Permanent+notes/33

cocoflunchy 2025-03-27T10:01:18

https://www.mcpt.com/

celesian 2025-03-27T03:26:27

これすごくいいね!でもMCPサーバーにもっと機能があったら嬉しいな。例えば、プログラムの任意のアドレスを読み書きできるとか。前にXORされた命令を自己解凍するCTFの問題に取り組んだんだけど、XORされたアドレスの値を読みたかったんだ。

dang 2025-03-26T17:45:20

関連情報(マージされたもの):GhidraMCP: AIがマルウェアをリバースエンジニアリング [動画] - https://news.ycombinator.com/item?id=43475025

userbinator 2025-03-27T04:12:49

REは正確さと注意深い推論が必要な作業で、LLMの推論は当てにならない。LLMは推論が苦手だから、AIに僕らの仕事は奪えないね。

iugtmkbdfil834 2025-03-27T04:38:54

そうとは限らないよ。“まあまあ”とか“十分”って思えるレベルでいいなら、今のLLMでも十分代わりになる。色々壊しながらもね。

enigma101 2025-03-27T11:47:50

パンドラの箱を開けちゃったね。

dprophecyguy 2025-03-27T03:42:37

lauriewired、愛してる。

記事一覧へ

海外テックの反応まとめ
著者
海外テックの反応まとめ
暇つぶしがてらに読むだけで海外のテックニュースに詳しくなれるまとめサイトです。