Мэдээ

Код задлах урлаг AI-ийн гарт: Бэлэн программыг бинар түвшинд шинжлэн дахин бүтээдэг "REA" төсөл GitHub-ийг доргиов

TOGTOKHTOGTOKH·2026 оны аравдугаар сарын 13·0 үзсэн·
Код задлах урлаг AI-ийн гарт: Бэлэн программыг бинар түвшинд шинжлэн дахин бүтээдэг "REA" төсөл GitHub-ийг доргиов

Хөгжүүлэгч бүрд ямар нэгэн сонирхолтой аппликейшн ашиглаж байхдаа "Энэ үйлдлийг цаанаа яг ямар логикоор, хэрхэн хийсэн бол?" гэж бодогдох үе олон гардаг. Эсвэл байгууллагынхаа хэдэн жилийн өмнөх хуучин системийн эх код (source code) нь олдохгүй, гэтэл бинар файлаас нь логикийг нь сэргээх шаардлага тулгарч байсан уу?

Уламжлалт аргаар бол энэ нь Ghidra, IDA Pro, Hopper зэрэг мэргэжлийн хэрэгслүүд ашиглан assembly код, санах ойн хаяг ухаж чаддаг цөөн тооны ур чадвартай инженерүүдийн хийдэг нүсэр, цаг хугацаа шаардсан ажил байлаа. Харин сүүлийн 24 цагт хөгжүүлэгчдийн дунд эрчээ авч буй нээлттэй эхийн шинэ тренд энэ босгыг бүрэн эвдэж эхлэв.

AI кодчиллын агентуудыг урвуу инженерчлэл буюу код задаргааны (reverse engineering) мэргэжлийн хэрэгслүүдтэй холбосон REA (Reverse Engineer Anything) төсөл GitHub дээр богинохон хугацаанд 100,000 давсан од (stars) цуглуулан жинхэнэ тэсрэлт хийлээ.


REA гэж юу вэ? AI-д зориулсан "дижитал задлагч"

REA (Reverse Engineer Anything) нь Anthropic-ийн өргөн ашиглаж эхэлсэн Model Context Protocol (MCP) стандарт дээр суурилсан нээлттэй эхийн хэрэгсэл юм.

Хөгжүүлэгч өөрийн Claude Code, Cursor, Codex эсвэл бусад бие даасан AI агентаа REA-ийн MCP сервертэй холбоход (npx rea-agents setup), агент зөвхөн хөгжүүлэгчийн бичсэн эх текстийг харах бус, системийн түвшний урвуу инженерчлэлийн бүх хэрэгслүүдийг өөрөө бие даан удирдах эрхтэй болдог.

Үүний дүнд AI агент дараах өргөн хүрээний платформуудын файлыг задлан шинжилж чадаж байна:

  • Натив бинар файлууд (C/C++ дээр хөрвүүлэгдсэн Windows .exe, Linux ELF, macOS Mach-O)
  • Android APK болон гар утасны багцууд
  • Electron аппууд болон задлахад төвөгтэй JavaScript багцууд
  • .NET Assemblies (C#, VB.NET)
  • WebAssembly (WASM) модулиуд болон микроконтроллерын firmware файлууд

Зүгээр нэг хийсвэр таамаглал биш: REA хэрхэн ажилладаг вэ?

Энгийн том хэлний загварууд (LLM) асуултад хариулахдаа сургагдсан дата дээрээ үндэслэн "магадлал"-аар хариулдаг тул бодит техникийн логик дээр галлюцинаци (худал таамаглал) гаргах эрсдэл өндөр байдаг. Харин REA-ийн архитектур нь нотолгоонд суурилсан анализ (evidence-based analysis) хийдгээрээ онцлог.

Агент бодит бинар дээр ажиллахдаа дараах шат дарааллыг автоматаар гүйцэтгэнэ:

  1. Static Analysis & Decompilation: Ghidra эсвэл суулгасан бусад декомпиляторыг дуудаж, машины кодыг C-төст псевдо-код болон assembly бүтэц рүү буулгана.
  2. Symbol & API Tracing: Системийн дуудлагууд (syscalls), сүлжээний хүсэлтүүд, экспорт хийгдсэн функцүүд болон санах ойн бүтцийг мөшгинө.
  3. Хипотез дэвшүүлж, логикийг ойлгох: Декомпил хийсэн ойлгомжгүй псевдо-кодыг өөрийн контекст цонхонд шинжилж, тухайн алгоритм ямар математик эсвэл өгөгдлийн бүтцээр ажиллаж байгааг логик дараалалд оруулна.
  4. Дахин кодчилох (Clean-room Reconstruction): Шинжилж тогтоосон логик дээрээ үндэслэн хүссэн орчин үеийн хэл дээр (жишээ нь Rust, TypeScript, Go) цэвэр эх код болгон дахин бичиж, түүнийгээ батлах unit test-үүдийг хамтад нь үүсгэдэг.

Хөгжүүлэгчид үүнийг бодит амьдрал дээр юунд ашиглаж байна вэ?

GitHub болон олон нийтийн сүлжээнд REA-ийг туршсан инженерүүдийн кейсүүд эрчимтэй хуваалцагдаж байна. Тэдгээрийн гол чиглэлүүд:

  • Легаси болон баримтжуулалтгүй системийг сэргээх: Эх код нь устаж алга болсон, бүтээсэн баг нь тарсан байгууллагын хуучин хэрэгслүүдийн ажиллагааг задлан шинжилж, орчин үеийн технологийн стек рүү дахин хөрвүүлэхэд цагийг асар их хэмнэж байна.
  • Хуучин тоглоом, эмуляторуудын порт: Ретро тоглоомуудын binary-г задлан орчин үеийн үйлдлийн системүүд дээр ажиллах нээлттэй эхийн PC порт болгон хөрвүүлэх ажил хэдхэн хоногийн дотор хийгдэж байна.
  • Платформ хоорондын логик судлах: Notion, Figma зэрэг цогц системүүдийн clipboard боловсруулалт, файлын синхрончлол хэрхэн ажилладгийг хөгжүүлэгчид өөрсдийн нүдээр бинар түвшинд шалгаж суралцах боломж бүрдэв.

Шуугианы ардах асуудал: Оюуны өмч ба кибер аюулгүй байдал

Гэвч энэхүү хэрэгсэл зөвхөн урам зориг биш, салбарын хэмжээний ширүүн маргааныг ч дагуулж байна.

1. "Clean-room" зарчим уу, эсвэл дижитал хулгай юу? Хууль эрх зүйн хувьд ямар нэгэн программыг задруулж үзээд, түүнээс логикийг нь цэвэр орчинд дахин бичих ("Clean-room design") нь олон улсад хүлээн зөвшөөрөгдсөн байдаг. Гэвч AI агент декомпил хийсэн кодоос шууд санаа аван хуулбарлах нь зохиогчийн эрх, лицензийн гэрээ (EULA), DMCA хуулийг зөрчих шинэ саарал бүсийг үүсгэж байна.

2. Аюулгүй байдлын хоёр талт хутга: Урвуу инженерчлэл нь аюулгүй байдлын судлаачдад хортой код (malware) шинжлэхэд асар том туслах болж байгаа ч, нөгөө талд халдагчид арилжааны хамгаалалттай программ хангамжуудын цоорхойг илрүүлэх, лицензийн шалгуурыг тойрч гарах үйлдлийг автоматжуулах эрсдэлийг нэмэгдүүлж байна.


Дүгнэлт: "Хар хайрцаг"-ны эрин дуусч байна уу?

Өнөөдрийг хүртэл AI кодчиллын хэрэгслүүд зөвхөн хөгжүүлэгчийн өгсөн текст эсвэл төслийн эх код дээр л "ухаантай" ажилладаг байв. Харин REA зэрэг төслүүд гарч ирснээр AI агентууд хөрвүүлэгдсэн, битүүмжлэгдсэн бинар ертөнц рүү чөлөөтэй нэвтэрч эхэллээ.

Энэ нь нэг талаас хөгжүүлэгчдэд ямар ч программыг "хар хайрцаг" биш, нээлттэй суралцах боломж гэж харах хүч чадлыг олгож байгаа ч, нөгөө талд программ хангамжийн нууцлал, оюуны өмчийн хамгаалалтыг цоо шинэ түвшинд авч үзэх цаг ирснийг сануулж байна.

Эх сурвалж: GitHub (morluto/rea repository), Hacker News & KuCoin Tech News

Сэтгэгдэл

Ачаалж байна...