Banshee is an AI-assisted dorking and OSINT CLI for finding exposed documents, sensitive data, misconfigurations, and vulnerable surfaces using search engines, AI-generated queries, and built-in analysis pipelines.
It is designed for security researchers, bug bounty hunters, and defenders who want a repeatable workflow for search-based discovery without manually crafting every query.
This repository README is a practical getting-started guide.
It is not the full manual.
For the complete flag reference, workflow explanations, internal files/caches, outputs, FAQ, and more detailed examples, use the documentation page:
https://vulnpire.github.io/Banshee-AI- Local copy:
docs/index.html
The docs interface also includes a simulated Banshee shell with a virtual banshee binary and a very basic CTF for learning/demo purposes.
This README intentionally focuses on:
- What Banshee is
- What you need to run it
- How to install it
- How to configure the basics
- Common usage patterns
- How to get help quickly
This README intentionally does not try to fully cover:
- Every flag and mode
- All edge-case behaviors
- Every cache and internal file format
- Every AI enhancement workflow
- Full troubleshooting matrix
- Full examples for every feature combination
For those, use the docs site:
https://vulnpire.github.io/Banshee-AIdocs/index.html
At a high level, Banshee helps you:
- Generate dorks from natural-language prompts using AI
- Run dorks across supported search engines
- Deduplicate and organize findings
- Analyze discovered documents and responses for sensitive indicators
- Learn from previous successful scans to improve future dorks
- Use technology detection and CVE-aware logic for better targeting
- Scale to multiple targets using stdin and file-based workflows
is especially useful when you want to:
- Search for exposed documents across a target's indexed footprint
- Hunt for leaked configuration files and secrets
- Discover admin panels, API paths, backups, and debug endpoints
- Prioritize high-signal results instead of raw search noise
- Build repeatable recon workflows with output files and intelligence caches
has grown into a broad toolkit.
A single README that tries to cover everything becomes hard to maintain and hard to read.
The web docs are a better place for:
- Interactive examples
- Rich outputs and annotated screenshots
- Full flag explanations
- Structured navigation
- FAQ and operational notes
- Demo shell and training content
Use this README to get moving.
Use the docs page as your main reference.
includes support for workflows such as:
- AI dork generation from prompts
- Random dork generation by category
- Multi-engine search execution
- SMART dork optimization and follow-ups
- Learning mode with per-target intelligence
- Multi-language dork support for non-English targets
- Document analysis and filtering
- Response analysis and code analysis
- Tech detection and technology-aware dorks
- CVE database workflows and related dork generation
- Wayback-assisted discovery and creative dorking
- Monitor-style recurring scans
- Output files with de-duplication
- Intelligence viewing/export utilities
This is only a summary.
For full feature coverage, use:
https://vulnpire.github.io/Banshee-AIdocs/index.html
- Go
1.20+to build/install from source - Network access for search APIs and target content retrieval (when used)
- Shell environment (
bash/zshetc.) for CLI usage
Banshee commonly uses:
- Google Custom Search (CSE)
- Brave Search API
For AI prompt-based dork generation, Banshee can use gemini-cli.
You will typically need:
gemini-cliinstalled- A valid Gemini API key or configured auth method (depending on your setup)
- You can use Banshee without every feature enabled.
- Some modes require specific APIs or local configuration.
- The docs page explains each dependency path in detail.
GOPROXY=direct go install -v github.com/Vulnpire/Banshee-AI/cmd/banshee@mainAfter install, make sure your Go bin path is in PATH.
Typical paths:
~/go/bin$GOBIN
Check:
which banshee
banshee --helpIf you prefer local builds from this repository:
go build -o banshee .Or if your local setup requires building specific files directly (project/version dependent), use the method described in the docs or your existing workflow.
Then run:
./banshee --helpIf you are evaluating Banshee and do not want to install anything yet:
- Open
web/docs.html - Or visit
example.com - Use the simulated shell to learn the command style
- Try the basic demo/CTF in the virtual environment
This is useful for:
- New users
- Team onboarding
- Training sessions
- Quick demonstrations
Banshee typically needs configuration for API keys and related files.
The exact paths and formats may vary by feature and version.
Use the docs page for authoritative details:
https://vulnpire.github.io/Banshee-AIdocs/index.html
You will usually configure some or all of the following:
- Google API key(s)
- Google CSE / CX configuration
- Brave API key(s)
- Gemini API key or CLI auth
- Optional proxy settings
- Optional out-of-scope lists
Many setups use a config directory like:
~/.config/banshee/Examples of files you may see there (depending on features used):
keys.txtbrave-keys.txtgemini-api-key.txt- other feature-specific files/caches
Do not rely only on this README for exact file names and behavior.
Use the docs page for exact configuration instructions and current expectations.
This section is intentionally practical.
Copy a command, replace the target, and run.
Then move to the docs page for deeper tuning.
echo example.com | banshee -q "inurl:admin" -vWhat this does:
- Reads target from stdin
- Runs a custom dork/query
- Prints verbose logs (
-v)
echo example.com | banshee -ai "find exposed dashboards and APIs" --smart --learn -quantity 5 -vWhat this does:
- Generates dorks from a natural-language prompt
- Executes them on the target
- Uses SMART mode to analyze successful patterns
- Uses LEARN mode to reuse prior intelligence for the target
For prompt-writing tips and advanced AI tuning, use the docs page.
echo example.com | banshee -e pdf,docx,xlsx --analyze-docs --filter-docs -o results.txt -vWhat this does:
- Focuses on document extensions
- Analyzes documents for sensitive indicators
- Filters to more relevant document findings
- Writes output to
results.txt
For analyzer behavior, file handling, and output specifics, see the docs page.
echo example.com | banshee -random sqli --quantity 10 -vWhat this does:
- Generates category-based dorks without an AI prompt
- Uses the requested quantity
- Runs a quick focused hunt
echo example.com | banshee --tech-detect -ai "find exposed admin or debug panels" -vThis is useful when you want technology context to influence how you search and prioritize.
Exact feature interplay varies by mode.
Use the docs page for the recommended workflow patterns.
echo https://example.com/api/status | banshee --analyze-response-only -vUse this when you already have a URL and want analysis without running dorks first.
cat domains.txt | banshee --monitor "sensitive pdf" --monitor-time 60 --filter-mon --analyze-monThis runs recurring scans on a schedule-like interval (feature behavior depends on your selected flags and environment).
For safe operational usage and tuning, use the docs page.
Banshee supports several ways to define targets and search intent.
Examples:
echo example.com | banshee -q "inurl:login"
cat domains.txt | banshee -ai "find exposed docs"
subfinder -d example.com -silent | banshee -q "inurl:admin"Why stdin is useful:
- Easy integration with recon pipelines
- Batch processing from other tools
- Cleaner automation in shell scripts
Some examples in older usage patterns or docs may show direct target flags.
Prefer the docs page for the current recommended syntax and examples for your version.
Common patterns include:
- Domain lists
- Prompt lists
- Dork files
- Scope lists / exclusion lists
The exact flags for each file-based workflow are documented in the web docs.
AI dorking is one of Banshee's core strengths.
Instead of manually crafting every query, you can describe the goal.
Example prompts:
find admin panelsfind exposed invoices and customer docsfind SQLi candidatesfind debug endpoints and test environmentsfind PIIs in documents
echo example.com | banshee -ai "find PIIs in documents" -quantity 5 -vecho example.com | banshee -ai "find leaked config and secrets" --learn --smart -quantity 8 -vecho example.com | banshee -ai "find sensitive HR documents" --multi-lang -quantity 6 -v- Prompt quality matters.
- Quantity influences breadth and runtime.
- SMART and LEARN are most useful over repeated scans.
- Multi-language mode can improve results for non-English targets.
For:
- prompt engineering tips
- quantity tuning
- AI model selection
- multi-language behavior
- edge cases and compatibility notes
Use the docs page.
Banshee can do more than collect URLs.
It can analyze content and help prioritize results.
Document analysis is helpful for:
- PDF reports
- Office documents
- exported spreadsheets
- files likely to contain PII or internal data
Typical usage pattern:
echo example.com | banshee -e pdf,docx,xlsx --analyze-docs --filter-docs -vResponse analysis is helpful when:
- You already have a list of URLs
- You want to inspect returned content for secrets/indicators
- You want signal without broad dork generation
Typical usage pattern:
echo https://example.com/path | banshee --analyze-response-only -vDepending on the mode and target content, Banshee can analyze code-like responses or embedded data for high-signal indicators.
The docs page explains:
- analyzers
- filters
- output labels
- severity/sensitivity interpretation
- performance tradeoffs
Banshee supports writing results to an output file (for example via -o, depending on your command).
Common reasons to use output files:
- Save findings for later analysis
- Track discoveries across runs
- Feed results into other tools
- Build target-specific result sets
General behavior (high level):
- Banshee de-duplicates results written to output files
- Existing entries can affect how repeated results are handled
- New results are appended when discovered
Exact behavior around:
- re-analysis skipping
- analyzer compatibility
- output formatting
- caching interactions
is documented in the web docs.
echo example.com | banshee -ai "find sensitive docs" --analyze-docs --filter-docs -o findings.txt -v- Keep one output file per target/program when possible
- Use descriptive filenames
- Archive old runs before large experiments
- Review output with context before reporting findings
Banshee can store and reuse information from previous runs.
This helps improve later scans through features like learning and smart optimization.
High-level concepts you may encounter:
- Target intelligence files
- AI cache(s)
- successful URL tracking
- research caches
- Wayback caches
Benefits:
- Faster repeat runs in some workflows
- Better dork quality over time
- Less repeated work across similar scans
For cache paths, formats, and maintenance, use the docs page.
Banshee can perform technology detection and use that context to generate or prioritize better dorks.
This is especially useful for:
- exposed admin pages tied to specific stacks
- known technology-specific file patterns
- CVE-related recon hypotheses
Typical workflow idea:
- Identify target(s)
- Detect technologies
- Generate technology-aware dorks
- Run searches and analyze results
- Refine using SMART/LEARN
The exact flags and advanced combinations are documented in the web interface.
For detailed setup and usage examples, use:
https://vulnpire.github.io/Banshee-AIdocs/index.html
Banshee can be used in broader discovery workflows, including multi-target input patterns and TLD-oriented recon use cases (feature/mode dependent).
Because these workflows are more complex and easier to misuse, this README keeps the guidance high level.
Use the docs page for:
- mode compatibility notes
- performance tuning
- scope controls
- output management at scale
- safe usage patterns
If you are scanning multiple targets or broad scopes, make sure your authorization and program rules explicitly allow it.
These are practical tips that improve results without needing the full manual.
- Start narrow, then expand.
- Pick one goal per run (docs, configs, admin, debug, SQLi candidates, etc.).
- Use
-oto preserve and review results. - Add analysis flags when signal matters more than volume.
- Use
--learnand--smartfor repeat targets. - Use
--multi-langwhen the target is non-English. - Keep your prompts specific when using
-ai.
find exposed invoices and customer spreadsheetsfind admin panels and dashboard loginsfind SQLi candidates with id parametersfind debug or staging endpointsfind secrets in config files and logs
hack sitefind bugseverything
The docs page includes much better prompt-writing guidance and workflow-specific examples.
Use these as starting points.
Then tune in the docs.
echo target.com | banshee -v -ai "find PIIs in documents" --learn --smart --analyze-docs --filter-docs -o docs.txtecho target.com | banshee -q "inurl:admin OR intitle:login" -v -o admin.txtecho target.com | banshee -ai "find backup files and exposed config files" -quantity 8 -v -o files.txtecho target.com | banshee -ai "find debug endpoints, test environments, and APIs" --tech-detect --smart -vecho target.com | banshee -random sqli --quantity 12 --learn -vcat domains.txt | banshee -ai "find exposed dashboards" -quantity 3 -v -o batch.txtwhile read -r url; do
echo "$url" | banshee --analyze-response-only -v
done < urls.txtcat scope.txt | banshee -ai "find sensitive docs" -quantity 4 -o results.txtIf a command fails or behaves unexpectedly, check the docs page before assuming the feature is broken.
Flag combinations can change output and behavior significantly.
Banshee ships with a web documentation interface in the web/ directory.
Open it locally:
xdg-open docs/index.htmlOr use the hosted version:
https://vulnpire.github.io/Banshee-AI
- Quickstart walkthroughs
- Practical examples with sample output
- Feature overviews by category
- Analysis mode guidance
- Monitoring/intelligence notes
- Internal files and configuration notes
- Outputs and caches explanations
- Full flag reference
- FAQ
- Safety/EULA notes
The docs include a simulated terminal (JavaScript-only).
It is useful for:
- learning Banshee command style
- demos in presentations
- onboarding new users
- basic CTF-like interaction practice
What it is:
- a virtual environment
- a fake/simulated shell
- a learning interface
- a docs feature
What it is not:
- a real shell
- a system terminal
- a replacement for local installation
- a live exploit environment
The simulated shell includes a virtual banshee binary and a very basic CTF flow.
- Open
docs/index.htmlorhttps://vulnpire.github.io/Banshee-AIand skim the Quickstart section. - Run
banshee --helplocally to confirm installation. - Try one traditional dork (
-q) on a test target you are authorized to assess. - Try one AI prompt (
-ai) with low quantity. - Add
--smartand--learnon a repeated target. - Try a document-focused scan with
--analyze-docs --filter-docs. - Start saving outputs with
-o. - Move to the docs reference for advanced flag combinations.
This path gets you productive quickly without needing to memorize every flag upfront.
This is not the full troubleshooting guide.
Use the docs page for the detailed troubleshooting section.
Check:
PATHincludes your Go bin directorygo installcompleted successfully- the binary exists (
which banshee)
Check:
- API keys are configured
- quotas are not exhausted
- target/query is too narrow
- network/proxy settings are correct
- your dork is syntactically reasonable
Try a simpler query first.
Check:
gemini-cliis installed- AI credentials/auth are configured correctly
- the prompt is specific enough
- the selected quantity is reasonable for testing
Test with a simple prompt first:
echo example.com | banshee -ai "find admin panels" -quantity 3 -vTry:
- narrower prompts
- smaller quantity
- analysis/filter flags
- output files and manual review
- tech detection before broad searching
Performance depends on:
- enabled features
- API limits
- target volume
- analysis modes
- network conditions
Use the docs page for tuning guidance and strategy recommendations.
Use Banshee only on systems and assets you own or are explicitly authorized to test.
Always respect:
- program scope
- rate limits
- terms of service
- local laws and regulations
- responsible disclosure practices
Banshee is a search and analysis tool.
Misuse is your responsibility.
If you are doing bug bounty hunting:
- read the program policy first
- confirm target scope before scanning
- avoid broad scans outside authorization
- verify findings before reporting
- redact sensitive data in reports when required
These are intentionally simple and practical.
- Keep separate output files per program.
- Re-scan high-value targets periodically.
- Use low quantities first, then expand.
- Save interesting prompts that worked well.
- Revisit targets with
--learnand--smartafter accumulating history. - Use document analysis for programs with lots of PDFs and public docs.
- Review results manually before escalating any issue.
For advanced hunting playbooks, use the docs page.
No.
This README is a practical getting-started guide.
Use https://vulnpire.github.io/Banshee-AI or docs/index.html for full documentation.
Yes.
Open the docs interface and use the simulated shell.
It includes a virtual banshee binary and a very basic CTF-like flow.
No.
It is a JavaScript simulation for learning and demos.
Use the web docs reference section:
https://vulnpire.github.io/Banshee-AIdocs/index.html
Use the web docs sections for:
- outputs
- caches
- internal files
- configuration
See the Support section below.
Banshee evolves quickly.
Some flags, workflows, and defaults may change across versions.
The web docs should be treated as the primary source of usage guidance.
If you notice a mismatch between this README and the docs page:
- Prefer the docs page for detailed behavior
- Check
banshee --helplocally - Open an issue or contact support
Contributions are welcome.
Useful contribution types include:
- bug fixes
- feature improvements
- documentation improvements
- examples and recipes
- UX improvements in the docs interface
Before making large changes:
- check existing issues/discussions
- describe the problem clearly
- explain expected behavior
- include reproduction steps where possible
If you are updating documentation:
- keep README concise and onboarding-focused
- put detailed reference material in the web docs
- keep examples realistic and safe
Support: gorkem@cyberpars.com
If you are reaching out for help, include:
- command used
- target type (sanitized if needed)
- relevant flags
- error/output snippet
- what you expected
This makes troubleshooting much faster.
Banshee works best when used as a workflow, not just a single command.
Start simple.
Save outputs.
Let SMART/LEARN build context over time.
Use the web docs for the full picture.
Primary docs:
https://vulnpire.github.io/Banshee-AIdocs/index.html
Stay within scope.