Skip to main content

Anti-REA: Harden apps against AI reverse engineering

Assess software exposure to AI reverse engineering, apply compatible defenses, and measure the results. Anti-REA helps teams compare release artifacts before and after changes using REA (reverse-engineering agent) analysis and behavior checks.

Use it with an AI assistant through the portable Skill or MCP server, or run the same workflows from the terminal. Anti-REA shows applicable options and trade-offs before execution, keeps the original project intact, and reports evidence from the candidate.

Try it with an AI assistant

With the Anti-REA Skill or MCP server available to your assistant, try:

Inspect this app with Anti-REA. Show me what the release exposes, the compatible hardening options, and their trade-offs. Ask me to choose before making changes. Then verify the selected candidate against the same baseline and report the results.

Anti-REA presents evidence-backed options before execution and waits for the user's plan-bound choice. Available actions depend on the target and the adapters that can verify it.

See example results

Example What Anti-REA did Result
Foodie Flutter app Built an obfuscated Flutter 2.5.3 candidate and checked it with REA 6.8.0, an Android cold launch, and signature verification. One accepted run. The generated report shows BEFORE/AFTER artifact hashes and checks. Behavior coverage is one cold launch.
Simple To-Do List Captured a browser baseline, ran a REA summary, and prepared a BLA (Blind LLM Agents) plan for a small JavaScript app. Plan is review-only; no candidate was executed.

These examples show specific workflow results. They do not prove that an app is protected from all reverse engineering.

How Anti-REA works

Anti-REA hardening workflow: capture one fixed baseline, approve a plan, verify isolated candidates against the same baseline, and accept or revise with rollback evidence

  1. Inspect the target and capture a BEFORE release baseline.
  2. Present compatible defenses, expected benefits, trade-offs, and verification requirements.
  3. Wait for the user to choose actions in a plan bound to its exact hash.
  4. Apply the selected actions to an isolated candidate.
  5. Compare the candidate with the unchanged baseline. Accept only if required checks pass; otherwise reject and retain rollback evidence.

Reports show artifact identities, check results, and candidate outcomes. A successful build alone is not evidence of protection.

What Anti-REA does

Workflow What it does Evidence boundary
Assess Inspect a project, identify release artifacts, and capture a BEFORE baseline. Discovery is bounded and does not infer a complete build graph or runtime behavior.
Plan Compare available hardening options, trade-offs, checks, and rollback steps. A user must approve the exact plan before execution.
Evaluate Build an isolated candidate and compare it with the same baseline. Applicable actions and checks depend on the target and verified adapters.
Report Show BEFORE/AFTER identities, verification results, and acceptance status. Evidence applies to the tested artifact, environment, and behavior scope only.

The repository currently includes selected adapters for JavaScript, Flutter Android, WebAssembly, browser behavior, and Python dependency workflows. This is today's implementation set, not the limit of the product's intended platform coverage. See the adapter guide and acceptance audit for exact status and open blockers.

Set up

Install the portable Skill in an application project with the standard community installer:

npx skills add tamkimd/anti-rea --skill anti-rea

Choose your agent and installation scope when prompted. See harness setup for Codex, MCP, and other host options. To use Anti-REA directly from the terminal, install Python 3.11 or newer and the published PyPI package:

python3 -m venv .venv
. .venv/bin/activate
python -m pip install anti-rea
anti-rea doctor

Then inspect a project without executing it:

anti-rea inspect /path/to/project

Start the MCP server with anti-rea mcp serve. Set ANTI_REA_STATE_DIR to keep local workflow records outside the target project. See CLI usage for commands and options.

Security and limitations

  • Anti-REA keeps source and candidate files separate, but a private copy is not automatically a security sandbox.
  • Supported Node and pinned REA/BLA lanes use the configured Docker profile by default. The Docker daemon is trusted, and staged output has no live disk quota.
  • Host-run commands and project-provided browser tests may execute with the user's privileges. Run workflows only for projects and dependencies you trust.
  • Keep state, raw reports, release artifacts, debug symbols, screenshots, caches, and secrets outside the source checkout.
  • Blind LLM Agents (BLA) defenses and obfuscation can increase analysis effort; neither encrypts client code or prevents determined reverse engineering.

See execution boundaries, the release workflow, and the acceptance audit.

Development

python -m unittest discover -s tests -p 'test_*.py'
python -m pip install -e '.[dev]'
ruff format --check .
ruff check .

More

Metadata

Release files for anti-rea 0.1.33

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for anti-rea 0.1.33
File Size Uploaded Provenance Actions
anti_rea-0.1.33.tar.gz 993.0 kB With provenance Details for anti_rea-0.1.33.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for anti-rea 0.1.33
File Interpreter ABI Platform Actions
anti_rea-0.1.33-py3-none-any.whl Python 3 none any Details for anti_rea-0.1.33-py3-none-any.whl

Total release size: 2.0 MB

Release files / anti_rea-0.1.33.tar.gz

Download URL anti_rea-0.1.33.tar.gz
Size 993.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1a85751451a108b7470d8724e478abfc9c080245c91ea991d47cbc1065c7889e
BLAKE2b-256 checksum
How to use checksums
4da4d914c2bc2d681aae3ff9a69a4f9e4a87658743e6dd0aba479f29fa4a4f44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 11, 2026.

Transparency log

Release files / anti_rea-0.1.33-py3-none-any.whl

Download URL anti_rea-0.1.33-py3-none-any.whl
Size 973.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
54404e098279c196c7835a01c85f72bf0a77457f5a2b61df44c0a7ee2907f0ab
BLAKE2b-256 checksum
How to use checksums
3f4e027457e3404fcce14ccf0b9fe192bf0e677c09b75a5afbadae65eadce37a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 11, 2026.

Transparency log

Security for anti-rea 0.1.33

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for anti_rea-0.1.33.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 11, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.33 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page