# Offline-Sample Preset vs Standard Scope Initialization in Reverse-Skill

> Discover the key differences between offline-sample preset and standard scope initialization in reverse-skill. Learn how to initialize scopes locally without network profiles for efficient analysis.

- Repository: [ZhaoXu/reverse-skill](https://github.com/zhaoxuya520/reverse-skill)
- Tags: deep-dive
- Published: 2026-08-19

---

**The offline-sample preset allows you to initialize a scope with a local artifact (APK, binary, etc.) without requiring a network profile, whereas standard scope initialization requires both `auth.status=granted` and a valid network profile for live target analysis.**

Both initialization modes in the [`zhaoxuya520/reverse-skill`](https://github.com/zhaoxuya520/reverse-skill) repository enforce a security hard gate before any ACT (analysis, computation, or task) can execute. Understanding the distinction between **offline-sample preset** and **standard scope initialization** ensures you choose the correct workflow for your reverse-engineering scenario.

## Command-Line Differences

The primary distinction surfaces at the command line when running `case-init`.

### Standard Scope Initialization

Use this for live targets requiring network access:

```bash

# Linux / macOS

bash skills/scripts/case-init.sh --hint "web pentest" --case-name "target-1"

# Windows PowerShell

powershell -File skills/scripts/case-init.ps1 -Hint "web pentest" -CaseName "target-1"

```

This creates [`work/target-1/scope.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/work/target-1/scope.md) with a requirement for a valid network profile.

### Offline-Sample Preset

Use this for local artifacts without network dependencies:

```bash

# Linux / macOS (APK analysis)

bash skills/scripts/case-init.sh \
  --hint "offline apk" \
  --case-name "my-sample" \
  --preset offline-sample \
  --sample ./app.apk

# Windows PowerShell

powershell -File skills/scripts/case-init.ps1 \
  -Hint "offline apk" \
  -CaseName "my-sample" \
  -Preset offline-sample \
  -Sample ".\app.apk"

```

The `--preset offline-sample` flag paired with `--sample` creates [`work/my-sample/scope.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/work/my-sample/scope.md) referencing the local file directly.

## Purpose and Use Cases

| Scenario | Initialization Mode |
|----------|-------------------|
| Live penetration testing, CTF challenges with reachable services, remote host analysis | **Standard scope initialization** |
| Static APK reverse engineering, binary analysis, memory dump examination, air-gapped environments | **Offline-sample preset** |

The offline-sample preset exists specifically for "purely local, 'offline' artifacts" where the analyst does not communicate with a remote target, as documented in [[`skills/MASTER-ROUTING.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/MASTER-ROUTING.md)](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/MASTER-ROUTING.md) (lines 30-50).

## Authorization Requirements and Hard-Gate Behavior

Both modes enforce the same security model defined in [[`RULES.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/RULES.md)](https://github.com/zhaoxuya520/reverse-skill/blob/main/RULES.md) (lines 20 and 390). The hard gate never permits `--force` or `Force` flags to bypass authentication.

**Standard initialization requires:**
- `auth.status=granted`
- Valid `network_profile` entry in [`scope.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/scope.md)

**Offline-sample preset requires:**
- `auth.status=granted`
- Explicit `--sample` file path (validated as present)

As implemented in [[`skills/ops/scope-contract.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/ops/scope-contract.md)](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/ops/scope-contract.md) (lines 18-31), the gate accepts the offline-sample scope as a legitimate alternative to a network profile—provided the sample argument is explicitly supplied.

## Scope Contract Implementation

The enforcement logic resides in [`skills/ops/scope-contract.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/ops/scope-contract.md). This file defines:

- How `auth.status=granted` is validated
- When a network profile substitutes for an offline sample
- The invariant that **both** initialization paths block ACT execution until scope requirements are satisfied

The contract treats the offline-sample preset as a scoped exception: it relaxes the network requirement but maintains authentication and sample provenance requirements.

## Summary

- **Standard scope initialization** prepares live analysis environments requiring network connectivity and full network profile configuration.
- **Offline-sample preset** streamlines local artifact analysis by accepting an explicit sample file in lieu of network configuration.
- Both modes require `auth.status=granted` and respect the repository's security hard gate.
- The `--preset offline-sample` flag must always accompany a `--sample` argument to satisfy the scope contract.

## Frequently Asked Questions

### Can I use `--force` to bypass the scope requirements?

No. According to [`RULES.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/RULES.md) (lines 20 and 390), the `Force`/`--force` flag never bypasses the hard gate. Authentication and either a network profile (standard) or valid sample (offline-sample preset) are mandatory before any ACT can execute.

### What file types work with the offline-sample preset?

The repository accepts any local artifact path via `--sample`. Common use cases include Android APK files, compiled binaries, memory dumps, and captured network traffic files. The preset itself is format-agnostic; validation occurs at the scope contract level.

### Is network access completely disabled with offline-sample preset?

The offline-sample preset does not actively disable network access—it simply removes the **requirement** for a network profile. Your analysis scripts may still initiate connections if designed to do so, but the scope initialization itself proceeds without network validation.

### Where is the scope configuration stored after initialization?

Both initialization modes create `work/<case-name>/scope.md` containing the scope contract state. This file records `auth.status`, the network profile (if standard), or the sample reference (if offline-sample preset), and serves as the authority for subsequent hard-gate checks.