diff options
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 38 |
1 files changed, 38 insertions, 0 deletions
@@ -58,6 +58,44 @@ archives (SBo convention: `.deb`/binary repacks take a `-bin` suffix): - These packages are x86_64 only; exit with an error for other arches - Strip ELF binaries after extraction +#### `metasploit-framework-bin`: msfvenom bash-completion + +The shipped `msfvenom.bash-completion` is a **pre-generated snapshot**, not a +static file. Upstream (kali) no longer ships it; they generate it at build +time with a ruby script that loads the framework and dumps the live +payload/encoder/arch/platform/format lists. We ship a snapshot instead of +running ruby at build time (hermetic build, no build-time dep). + +**Regenerate it on every version bump.** After building and installing the +new package so `/opt/metasploit-framework` is live, pull the current +generator and run it against the installed framework's bundled ruby: + +```bash +curl -o /tmp/gen.rb \ + https://gitlab.com/kalilinux/packages/metasploit-framework/-/raw/kali/master/debian/generate-msfvenom-bash-completion.rb +/opt/metasploit-framework/embedded/bin/ruby \ + -I/opt/metasploit-framework/embedded/framework/lib /tmp/gen.rb \ + > metasploit-framework-bin/msfvenom.bash-completion +``` + +Verify the output is non-empty and the `%s` slots were filled (grep for real +payload names like `windows/meterpreter`), then commit it with the bump. + +#### `metasploit-framework-bin`: man pages + +The .deb ships **no** metasploit man pages (its `share/man` tree is only for +bundled deps like postgres/ruby). We ship `msfconsole.1` and `msfvenom.1` +from kali, who maintain them by hand (no generator script). The SlackBuild +gzips them into `/usr/man/man1`. **Refresh them on version bumps** in case +kali has updated them: + +```bash +for p in msfconsole msfvenom ; do + curl -o metasploit-framework-bin/$p.1 \ + https://gitlab.com/kalilinux/packages/metasploit-framework/-/raw/kali/master/debian/extra/$p.1 +done +``` + ### 4. Binary repacks — RPM Packages such as `nessus` are repacked from upstream `.rpm` archives: |
