Atlas / Skills / morluto / rea

reaBLOCK

skills/morluto/rea

Reverse engineer anything with agents, from app behavior down to native binaries.

Verdict
BLOCK
Grade
F
Trust score
41 /100
Version
37
Hosts
7 documented
License
MIT
Stars
71,499
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Türkçe · Русский · Tiếng Việt · ไทย · Deutsch · Español · Français · Українська · Polski · Português (Brasil) · العربية · فارسی · Bahasa Indonesia · Italiano

One MCP for reverse engineering across binaries, applications, and runtime behavior.

See a feature you like. Understand how it works, down to the binary level.

[](https://www.npmjs.com/package/rea-agents) [](https://github.com/morluto/rea/actions/workflows/ci.yml) [](docs/mcp-contracts.md#generated-catalog) [](#what-you-can-analyze) [](https://skills.sh/morluto/rea/reverse-engineer-anything) [](LICENSE) [](https://discord.gg/GkcryMnJDM)

**[W

Read from source at commit 271def47ba70OBSERVED · 2026-10-10
02

Install

Commands as the repository documents them. They are shown, not run.

npm install --global rea-agents
npm install --global rea-agents
npm install --global rea-agents
npm install --global rea-agents
npm install --global rea-agents
npm install --global rea-agents
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
claude-desktopmentioned
codexmentioned
copilotmentioned
cursormentioned
gemini-climentioned
windsurfmentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: rea-tool-design
description: Design or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.
---

# REA tool design

Use the [tool-design guide](../../../docs/tool-design.md) for tool boundaries,
contract semantics, provider ownership, and discoverability. Inspect the current
contract and nearest existing tool relevant to the analyst question; source,
documentation, and live catalogs may describe different versions.

For a design request, return the proposed boundary, input/result shape, Evidence
semantics, nearest alternative, and verification approach. Implement when
requested, preserving the user's scope and existing authorization.

For implementation or verification, consult [testing](../../../docs/testing.md)
for the affected consumer and provider lanes, and
[contributing](../../../CONTRIBUTING.md) for generated-file ownership. Read
provider/workflow guides only as the task requires.
05

Trust audit

BLOCKgrade F · trust 41/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (3 observation(s))
Network
declared (5 observation(s))
Shell
declared (10 observation(s))
Dependencies
pinned
Secrets in source
found

Findings (25)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
bridge/pwndbg/core_context.py:28
exec(compile(Path(entry).read_bytes(), entry, "exec"), {"__name__": "__main__", "__file__": entry})
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
bridge/pwndbg/launch.py:25
exec(compile(source, implementation, "exec"), {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
bridge/pwndbg/launch_impl.py:9
exec(compile(runtime_path.read_bytes(), str(runtime_path), "exec"), runtime)
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
bridge/pwndbg/launch_impl.py:24
command = "python exec(compile(open(" + repr(bridge) + ", 'rb').read(), " + repr(bridge) + ", 'exec'), {'__name__':'__main__','__file__':" + repr(bridge) + "})"
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
bridge/pwntools/layout.py:25
exec(compile(source, implementation, "exec"), {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHPrompt injection · prompt.zero_width · CWE-94, CWE-1427
README_fa.md:7
### یک MCP برای مهندسی معکوس فایلهای باینری، برنامهها و رفتار زمان اجرا.
Why it matters. invisible characters in instruction text
Fix. strip non-printing characters
HIGHPrompt injection · prompt.zero_width · CWE-94, CWE-1427
README_fa.md:9
**قابلیتی دیدهاید که دوستش دارید؟ سازوکارش را تا سطح باینری درک کنید.**
Why it matters. invisible characters in instruction text
Fix. strip non-printing characters
HIGHPrompt injection · prompt.zero_width · CWE-94, CWE-1427
README_fa.md:21
**[وبسایت](https://rea.tools/) · [راهنماها](https://rea.tools/guides/) · [نمونههای عملی](https://rea.tools/showcase/)**
Why it matters. invisible characters in instruction text
Fix. strip non-printing characters
HIGHPrompt injection · prompt.zero_width · CWE-94, CWE-1427
README_fa.md:23
[شروع سریع](#شروع-سریع) · [REA چگونه کار میکند؟](#rea-چگونه-کار-میکند) · [چه چیزهایی را میتوان تحلیل کرد؟](#چه-چیزهایی-را-میتوان-تحلیل-کرد) · [نمونههای عملی](#نمونههای-عملی) · [پرسشهای متداول](#پرسشها
Why it matters. invisible characters in instruction text
Fix. strip non-printing characters
HIGHPrompt injection · prompt.zero_width · CWE-94, CWE-1427
README_fa.md:43
قابلیتی در یک برنامه دیدهاید که میخواهید در محصول خودتان داشته باشید؟ از ایجنت خود بخواهید با REA آن را بررسی کند. ایجنت میتواند بدون دسترسی به کد منبع برنامه، نحوهٔ کار قابلیت را بررسی و توضیح دهد، ش
Why it matters. invisible characters in instruction text
Fix. strip non-printing characters
MEDIUMObfuscation / stealth · obf.anti_debug · CWE-506, CWE-94
scripts/verify/recorded-crash/trace.mjs:57
"trace=%process,%network,%file,ptrace,process_vm_readv,process_vm_writev",
MEDIUMObfuscation / stealth · obf.anti_debug · CWE-506, CWE-94
scripts/verify/recorded-crash/trace.mjs:108
`Inspection attempted ptrace: ${file}`,
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
scripts/fixtures/browser-verifier-site.mjs:210
body: JSON.stringify({ token: "request-body-secret-value", active: true })
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
scripts/fixtures/browser-verifier-site.mjs:218
socket.addEventListener("open", () => socket.send(JSON.stringify({ token: "websocket-secret-value" })));
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
tests/boundary/mcp/ghidraFailureDiagnostics.test.ts:12
const token = "fixture-authentication-token";
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
tests/boundary/providers/ghidra/ghidraLauncher.test.ts:233
const token = "secret-token-that-must-not-leak";
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
tests/fixtures/fakeCdpBrowserResults.ts:114
result: { ok: true, token: "response-body-secret" },
LOWInventory / provenance · inv.hidden_file · CWE-1104
.gitmodules
.gitmodules
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.jscpd.json
.jscpd.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.oxfmtrc.json
.oxfmtrc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.oxlintrc.json
.oxlintrc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.release-please-manifest.json
.release-please-manifest.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/application/LinuxHopper.test.ts:233
file_hash: createHash("sha1").update(bytes).digest("hex"),
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/application/LinuxHopper.ts:348
createHash("sha1").update(bytes).digest("hex") === release.file_hash;
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/application/MacHopper.test.ts:34
: createHash("sha1").update(this.archive).digest("hex"),

Gates applied: no_behavioural_pass.

Audited 2026-10-10 · audit v0.4.1 · source sha 271def47ba70full audit observations/trust-audit/skill/morluto__rea.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-10271def47ba70BLOCKF41first audit
07

Questions

What does the rea skill do?

Reverse engineer anything with agents, from app behavior down to native binaries.

Is rea safe to install?

No — not without reading the findings first. The audit graded it F (41/100) and found 10 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What can rea access on my machine?

The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.

Which assistants does rea work with?

Its documentation mentions claude-code, claude-desktop, codex, copilot, cursor, gemini-cli and windsurf. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (271def47ba70), read on 2026-10-10. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement