Noureddine RAMDI / bopscrk: targeted password wordlist generation with lyric-based OSINT

Created Sat, 23 May 2026 20:41:14 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

r3nt0n/bopscrk

Password cracking tools usually rely on generic wordlists or large corpora of leaked passwords. bopscrk takes a different approach: it generates targeted wordlists by combining user-supplied words with common permutations, augmented by an unusual data source — song lyrics scraped for specific artists. This blend of OSINT, combinatorial mutations, and interactive CLI workflow makes it a niche but practical tool for penetration testers and red teamers aiming to tailor their attacks.

What bopscrk does and how it works

bopscrk is a Python command-line tool designed for generating password wordlists targeted at specific users or contexts. Instead of relying solely on large pre-existing dictionaries, it allows users to input personalized keywords such as names, dates, places, or any information that might be relevant to the target.

The tool then combines these words using common separators (like underscores, dots, or dashes), appends numbers or special characters, and applies configurable case transformations (lower, upper, title case) as well as leet speak substitutions. This combinatorial mutation drastically expands the potential password space while keeping the list focused on relevant data.

One of bopscrk’s distinctive features is the lyricpass module, which scrapes lyrics from songs of user-supplied artists. Each line of lyrics is treated as a base word for further mutation, effectively adding a rich, contextually relevant corpus derived from publicly available song lyrics. This is a clever form of OSINT (open-source intelligence) integration, which is not common in password generation tools.

The architecture is Python-based and modular. It supports both an interactive mode (where users input data and configure options step-by-step) and a one-liner CLI mode for automation or scripting. The project is included in the BlackArch Linux penetration testing distribution, signaling its relevance in real-world security workflows.

Technical strengths and design tradeoffs

The core strength of bopscrk lies in its combinatorial approach to wordlist generation combined with the ability to inject OSINT-derived data via lyrics scraping. This is a somewhat unconventional but effective tactic in targeted password cracking, as attackers often leverage anything unique about a target to improve success rates.

Under the hood, the mutation engine applies well-known transformations: case changes and leet speak substitutions (e.g., replacing “a” with “4”, “e” with “3”, etc.). The code is surprisingly clean and modular, making it easier to extend or tweak mutation rules if needed. This separation of concerns — input sourcing, combinatorial mutation, output generation — follows good design principles.

The lyricpass module, which scrapes lyrics, introduces a tradeoff worth noting. It depends on external web sources for lyrics, which may be rate-limited or unavailable. This reliance on web scraping adds fragility and potential legal considerations depending on jurisdiction and usage. Moreover, the quality and relevance of the scraped lyrics depend on the artist and their discography — some may produce more useful password candidates than others.

Performance-wise, the tool is Python-based, which means it is not optimized for extremely large-scale wordlist generation compared to compiled tools. However, its focus on targeted generation means the wordlists are typically smaller and more relevant, making Python’s speed acceptable in practice.

The interactive mode enhances the developer and tester experience by allowing on-the-fly adjustments and immediate feedback. This improves the usability compared to many older generation tools that rely solely on static wordlists or complex config files.

Getting started with bopscrk

Installation and running the tool are straightforward, as detailed in the README:

pip install bopscrk

Alternatively, to clone from GitHub and install dependencies manually:

git clone --recurse-submodules https://github.com/r3nt0n/bopscrk
cd bopscrk
pip install -r requirements.txt

To start the interactive mode:

bopscrk -i

This mode guides you through entering base words, configuring mutations and transformations, and optionally scraping lyrics from specified artists.

The CLI mode also supports direct one-line commands, useful for scripting or integration into larger pentesting workflows.

Verdict

bopscrk is a practical tool for penetration testers and red teamers who want to craft targeted password wordlists beyond generic dictionaries. Its standout feature is the integration of lyrics scraping as a novel OSINT source, which can enrich wordlists with culturally or personally relevant terms.

The Python codebase is clean and modular, making it accessible for customization or extension. The tradeoff is the reliance on web scraping for lyrics, which can introduce instability or legal concerns. Performance is reasonable for targeted use cases but won’t replace high-throughput generation tools.

If your threat model or engagement benefits from personalized password candidates — especially where cultural or musical references matter — bopscrk is worth exploring. It fits well in environments like BlackArch Linux and complements other OSINT and password cracking tooling.

For broader or high-scale cracking campaigns, more traditional or compiled tools might be preferable. But for focused, context-aware wordlist generation, bopscrk offers a unique and useful approach.


→ GitHub Repo: r3nt0n/bopscrk ⭐ 1,104 · Python