Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5448 commits
Select commit Hold shift + click to select a range
7bfb7b0
How did you fix the bug? I commented the code... !?
domwhewell-sage Jan 15, 2025
ef5a6ce
fixing paramminer bug
liquidsec Jan 15, 2025
12e8aee
Merge pull request #1918 from domwhewell-sage/extract_internal_module
TheTechromancer Jan 15, 2025
0bb13ea
merge dev
invalid-email-address Jan 15, 2025
61913bf
fix 3.13 namespace
invalid-email-address Jan 15, 2025
481fbe6
Merge branch 'dev' into paramminer-finish-bug-fix
liquidsec Jan 15, 2025
e65bf11
fixing bug with boring words check in paramminer
liquidsec Jan 15, 2025
22e224b
Merge branch 'paramminer-finish-bug-fix' of https://github.com/blackl…
liquidsec Jan 15, 2025
13b0096
removing unnecessary sort
liquidsec Jan 15, 2025
83d2a84
adding non dynamic extension list, using with paramminer
liquidsec Jan 15, 2025
2de841f
renaming config variable
liquidsec Jan 15, 2025
4d1bf2a
more renaming
liquidsec Jan 15, 2025
acdf3df
even more renaming
liquidsec Jan 15, 2025
f470724
final cleanup
liquidsec Jan 15, 2025
f14b5b4
Merge pull request #2177 from blacklanternsecurity/paramminer-finish-…
liquidsec Jan 15, 2025
04f0825
[create-pull-request] automated change
TheTechromancer Jan 16, 2025
8f0f8c3
Merge pull request #2178 from blacklanternsecurity/update-docs
TheTechromancer Jan 16, 2025
2444964
bumping upload-artifact to v4
liquidsec Jan 16, 2025
02637db
update upload-artifacts to v4 in distro tests
liquidsec Jan 16, 2025
a8a2ea2
different names for python versions
liquidsec Jan 16, 2025
41f14f2
changing log names per distro
liquidsec Jan 16, 2025
0d5035b
Merge pull request #2180 from blacklanternsecurity/upload-artifact-up…
liquidsec Jan 16, 2025
5b2a176
Merge pull request #2124 from domwhewell-sage/validate_postman_worksp…
TheTechromancer Jan 16, 2025
b7d12e9
Merge pull request #1861 from blacklanternsecurity/python-3.13
TheTechromancer Jan 16, 2025
b19a339
parameters output module initial
liquidsec Jan 17, 2025
3a3025c
add tests for parameters output module
liquidsec Jan 17, 2025
6b5e346
:/
liquidsec Jan 17, 2025
aaf6f5e
fixing tests
liquidsec Jan 17, 2025
9103acf
adding comments
liquidsec Jan 17, 2025
776d529
adding nuclei presets
liquidsec Jan 17, 2025
fe8d33a
update language
liquidsec Jan 17, 2025
cf909d2
updating presets
liquidsec Jan 17, 2025
2b7e540
adding -ua and -uas cli options
liquidsec Jan 17, 2025
fa1cc3d
Bump mkdocs-material from 9.5.49 to 9.5.50
dependabot[bot] Jan 20, 2025
a06b53e
Bump orjson from 3.10.14 to 3.10.15
dependabot[bot] Jan 20, 2025
9503bff
Bump websockets from 12.0 to 14.2
dependabot[bot] Jan 20, 2025
5808ab7
ensure event.host is stringified before passing to baddns
liquidsec Jan 20, 2025
1e17f20
fix test race condition?
liquidsec Jan 20, 2025
ad8c787
fix websocket
invalid-email-address Jan 21, 2025
3e6ffca
Merge pull request #2194 from blacklanternsecurity/dependabot/pip/dev…
TheTechromancer Jan 21, 2025
19846a9
Bump poetry-dynamic-versioning from 1.5.2 to 1.7.0
dependabot[bot] Jan 21, 2025
76fc588
Merge pull request #2192 from blacklanternsecurity/dependabot/pip/dev…
liquidsec Jan 21, 2025
800cc0c
removing unnecessary str() from format strings
liquidsec Jan 21, 2025
89191c7
Merge pull request #2198 from blacklanternsecurity/fix-genericssrf-test
liquidsec Jan 21, 2025
87724ca
switching to tabs
liquidsec Jan 21, 2025
407ad11
removing --user-agent-suffix from cli for now to keep clutter down
liquidsec Jan 21, 2025
67e6cf3
renaming to web_parameter
liquidsec Jan 21, 2025
ddb64c3
adding back in while supressing it from help
liquidsec Jan 21, 2025
3b0cdb9
Merge branch 'dev' into custom-ua
liquidsec Jan 21, 2025
b879231
adding new file back
liquidsec Jan 21, 2025
6714614
removing old file
liquidsec Jan 21, 2025
71b94d7
minimizing number of presets
liquidsec Jan 21, 2025
2529f9b
Merge pull request #2196 from blacklanternsecurity/baddns-ipevent-fix
liquidsec Jan 21, 2025
f36633f
adding urlscan
liquidsec Jan 21, 2025
85a2bca
adding doc for web_parameterse
liquidsec Jan 21, 2025
949aa7d
Merge pull request #2193 from blacklanternsecurity/dependabot/pip/dev…
liquidsec Jan 21, 2025
13cdc27
Merge branch 'dev' into custom-ua
liquidsec Jan 21, 2025
57792bb
Merge pull request #2186 from blacklanternsecurity/parameter-extracti…
liquidsec Jan 21, 2025
8e93242
[create-pull-request] automated change
TheTechromancer Jan 22, 2025
a3375c2
Merge pull request #2185 from blacklanternsecurity/update-docs
TheTechromancer Jan 22, 2025
203422a
tweaking preset settings
liquidsec Jan 23, 2025
a1b2edf
Change the teams output module to only retry sending requests a set n…
domwhewell-sage Jan 23, 2025
d32b699
Get Retry-After from the webhook response headers
domwhewell-sage Jan 23, 2025
1d28fcc
Reduce the teams retry and change to float
domwhewell-sage Jan 23, 2025
87115cf
adding spider warning to nuclei presets
liquidsec Jan 23, 2025
b3a0441
more preset tweaks
liquidsec Jan 23, 2025
695442e
inherit from spider
liquidsec Jan 23, 2025
1143110
Merge pull request #2205 from blacklanternsecurity/spider-presets
liquidsec Jan 23, 2025
5a5a755
Merge pull request #2190 from blacklanternsecurity/custom-ua
TheTechromancer Jan 23, 2025
958af4a
Merge pull request #2188 from blacklanternsecurity/nuclei-presets
TheTechromancer Jan 23, 2025
d19c09c
enforce ruff
invalid-email-address Jan 23, 2025
85863f0
ruffed
invalid-email-address Jan 23, 2025
a585091
better lint
invalid-email-address Jan 23, 2025
7a0211e
fixed test
invalid-email-address Jan 23, 2025
a34f93b
poetry run
invalid-email-address Jan 23, 2025
992f71a
wtf
invalid-email-address Jan 23, 2025
399fc14
poetry lock
invalid-email-address Jan 23, 2025
c3ad010
use builtin retry mechanism
invalid-email-address Jan 24, 2025
fe580ef
reintroduce retries option
invalid-email-address Jan 24, 2025
c2cb3e1
fix api retries
invalid-email-address Jan 24, 2025
db95a14
Merge pull request #2183 from blacklanternsecurity/dependabot/pip/dev…
TheTechromancer Jan 24, 2025
905da2c
Bump pytest-asyncio from 0.25.0 to 0.25.2
dependabot[bot] Jan 24, 2025
db4abe4
[create-pull-request] automated change
TheTechromancer Jan 24, 2025
7f93b09
support retries option on all webhook modules
invalid-email-address Jan 24, 2025
d8ad85a
fix setup issue
invalid-email-address Jan 24, 2025
23e9dc6
Merge pull request #2211 from blacklanternsecurity/update-docs
liquidsec Jan 24, 2025
5b03013
Merge pull request #5 from blacklanternsecurity/teams-use-builtin-ret…
domwhewell-sage Jan 24, 2025
049c11d
Merge pull request #2206 from domwhewell-sage/teams_output_module
TheTechromancer Jan 24, 2025
f889800
Merge pull request #2202 from blacklanternsecurity/dependabot/pip/dev…
TheTechromancer Jan 24, 2025
0c5d979
less duplicated code
invalid-email-address Jan 24, 2025
13669d2
fix tests
invalid-email-address Jan 25, 2025
be80d3b
blarghsldkgasldkfj
invalid-email-address Jan 25, 2025
1856460
[create-pull-request] automated change
TheTechromancer Jan 25, 2025
7b061aa
Merge pull request #2210 from blacklanternsecurity/fix-ruff
TheTechromancer Jan 25, 2025
800cd90
Merge pull request #2217 from blacklanternsecurity/fix-preset-load-or…
TheTechromancer Jan 25, 2025
1577958
Merge pull request #2218 from blacklanternsecurity/update-docs
TheTechromancer Jan 25, 2025
a847753
Merge pull request #1986 from blacklanternsecurity/dev
TheTechromancer Jan 25, 2025
edd8413
Bump the github-actions group with 5 updates
dependabot[bot] Jan 25, 2025
5aa58ef
Merge pull request #2219 from blacklanternsecurity/dependabot/github_…
TheTechromancer Jan 26, 2025
2c0ac83
[create-pull-request] automated change
TheTechromancer Jan 26, 2025
1e27537
Merge pull request #2221 from blacklanternsecurity/update-docs
TheTechromancer Jan 26, 2025
cb6529f
Bump mmh3 from 5.0.1 to 5.1.0
dependabot[bot] Jan 27, 2025
f8eab06
bump version
invalid-email-address Jan 28, 2025
9e67305
Merge pull request #2223 from blacklanternsecurity/bump-version
TheTechromancer Jan 28, 2025
95b520d
Merge pull request #2222 from blacklanternsecurity/dependabot/pip/dev…
TheTechromancer Jan 28, 2025
116a411
Merge pull request #2224 from blacklanternsecurity/dev
TheTechromancer Jan 28, 2025
d4656b1
adding include_subdirs options + associated tests
liquidsec Jan 28, 2025
94c1b98
fix --exclude-cdn
invalid-email-address Jan 28, 2025
e674226
refactor
liquidsec Jan 28, 2025
2b480cb
Merge pull request #2225 from blacklanternsecurity/telerik-all-urls
liquidsec Jan 28, 2025
628bce9
[create-pull-request] automated change
TheTechromancer Jan 29, 2025
1989067
Merge pull request #2226 from blacklanternsecurity/portfilter-improve…
TheTechromancer Jan 29, 2025
97bd32b
Update trufflehog
blsaccess Jan 30, 2025
31eb2bb
Merge pull request #2229 from blacklanternsecurity/update-trufflehog
TheTechromancer Jan 30, 2025
7a3d319
downgrade python version for mike
invalid-email-address Jan 30, 2025
d978601
bump version
invalid-email-address Jan 30, 2025
b9885a9
Merge pull request #2232 from blacklanternsecurity/fix-mike
TheTechromancer Jan 30, 2025
703a313
Merge pull request #2227 from blacklanternsecurity/update-docs
TheTechromancer Jan 30, 2025
fd544e9
Merge pull request #2228 from blacklanternsecurity/dev
TheTechromancer Jan 31, 2025
16f12d0
update issue template
invalid-email-address Jan 31, 2025
9a133e2
Merge pull request #2236 from blacklanternsecurity/update-issue-template
TheTechromancer Jan 31, 2025
3c10b34
adding subwords capability to ffuf_shortnames, adding ignore_case opt…
liquidsec Feb 1, 2025
b5dac08
adjust log message
liquidsec Feb 1, 2025
16c765f
Update trufflehog
blsaccess Feb 1, 2025
a9e06e0
adding debug message
liquidsec Feb 1, 2025
ea9e736
better ntlk data handling
liquidsec Feb 1, 2025
bf4c0d7
ruff format
liquidsec Feb 1, 2025
958dad9
undoing error
liquidsec Feb 1, 2025
eee42f9
better status message
liquidsec Feb 1, 2025
2d9f75b
bug fix
liquidsec Feb 1, 2025
e4c0711
prevent ffuf_shortnames from trying to solve impossible URL_HINTs
liquidsec Feb 1, 2025
dd546f6
Merge pull request #2233 from blacklanternsecurity/update-trufflehog
TheTechromancer Feb 2, 2025
4714ac6
Added a gitdumper module
domwhewell-sage Feb 2, 2025
b65df1d
Remove unused module
domwhewell-sage Feb 2, 2025
227c565
Bump fastapi from 0.115.7 to 0.115.8
dependabot[bot] Feb 3, 2025
64b201b
adding optin description
liquidsec Feb 3, 2025
a73ef43
turning off cloud warning when strict-scope is on
liquidsec Feb 6, 2025
d83d7f1
more efficient
liquidsec Feb 6, 2025
61475a6
temporary change to islate generic ssrf test
liquidsec Feb 6, 2025
79ed370
temporary to troubleshoot generic_ssrf test
liquidsec Feb 6, 2025
3710e16
adding locks to mock interactsh to prevent race conditions
liquidsec Feb 6, 2025
fd3709a
reverting temp test changes
liquidsec Feb 6, 2025
62e7d5f
changing DNS events to FINDING, adding omit option
liquidsec Feb 6, 2025
5bb9030
increasing detection wait time
liquidsec Feb 6, 2025
4099990
update
ocervell Feb 7, 2025
5b7a4f5
Fixed downloading with directory listing enabled
domwhewell-sage Feb 8, 2025
3fcc24e
add tech detect preset
invalid-email-address Feb 8, 2025
4768fdb
Add recursive object function
domwhewell-sage Feb 9, 2025
5f54a19
Bump mkdocstrings from 0.27.0 to 0.28.0
dependabot[bot] Feb 10, 2025
9d69473
Bump mkdocs-material from 9.5.50 to 9.6.3
dependabot[bot] Feb 10, 2025
0970793
fixing telerik FP bug
liquidsec Feb 10, 2025
7d95239
unnecessary import remove
liquidsec Feb 10, 2025
872760e
Merge pull request #2254 from blacklanternsecurity/cloud-strict-scope
liquidsec Feb 10, 2025
ff94531
removing import
liquidsec Feb 10, 2025
7c5ef1f
ocd
liquidsec Feb 10, 2025
03833c0
Bump deepdiff from 8.1.1 to 8.2.0
dependabot[bot] Feb 10, 2025
f3aac43
Corrected errors when no dirlisting. Todo fix dirlisting, user messages
domwhewell-sage Feb 10, 2025
af399a6
Merge pull request #2273 from blacklanternsecurity/dependabot/pip/dev…
liquidsec Feb 10, 2025
00918e0
Merge pull request #2272 from blacklanternsecurity/dependabot/pip/dev…
liquidsec Feb 10, 2025
be3faa9
Merge pull request #2270 from blacklanternsecurity/dependabot/pip/dev…
liquidsec Feb 10, 2025
90028c0
Bump pytest-asyncio from 0.25.2 to 0.25.3
dependabot[bot] Feb 10, 2025
feedda2
increasing again to stop rare race condition
liquidsec Feb 11, 2025
96270df
Corrected git checkout command and missing index file from test
domwhewell-sage Feb 11, 2025
447c1b5
fix debug logs
invalid-email-address Feb 11, 2025
4283a84
make sure a minimal timeout is set if none specified
liquidsec Feb 11, 2025
ad1d088
verbose
liquidsec Feb 11, 2025
1e5c35d
fix parsing relative urls with fragments
liquidsec Feb 11, 2025
2bdbca3
Merge pull request #2282 from blacklanternsecurity/curl-backup-timeout
liquidsec Feb 11, 2025
a3af658
make mock_interaction async
liquidsec Feb 11, 2025
4d2c88a
ruff format
liquidsec Feb 11, 2025
208d635
Merge pull request #2283 from blacklanternsecurity/url-fragment-handling
liquidsec Feb 11, 2025
c4fbe42
Merge pull request #2275 from blacklanternsecurity/telerik-spellcheck…
liquidsec Feb 11, 2025
2d0c35c
Add sub to regex helper
domwhewell-sage Feb 11, 2025
d56e7c2
Add option to fuzz tags / branches and ensure we only download files …
domwhewell-sage Feb 11, 2025
406470a
why was this here?
liquidsec Feb 11, 2025
11bffa3
better mocking of poll function
liquidsec Feb 11, 2025
3690347
test debugging
liquidsec Feb 11, 2025
6ba057a
Set info, verbose and debug messages
domwhewell-sage Feb 11, 2025
f8e1d2d
Changed the download message to verbose
domwhewell-sage Feb 11, 2025
b9a926a
async queues <3
liquidsec Feb 11, 2025
4db19ca
fix test
liquidsec Feb 11, 2025
0a812de
more adjustments
liquidsec Feb 11, 2025
422c490
more adjustments
liquidsec Feb 12, 2025
61ec71f
fix github workflows
invalid-email-address Feb 12, 2025
0bb3510
fix errors
invalid-email-address Feb 12, 2025
bc71158
removing asyncio.run weirdness
liquidsec Feb 12, 2025
f61943d
reworking wordlist download, removing deps
liquidsec Feb 12, 2025
74839d5
ruff format
liquidsec Feb 12, 2025
c46c2ee
Merge pull request #2265 from blacklanternsecurity/tech-detect-preset
liquidsec Feb 12, 2025
b1e8d11
cleaner
liquidsec Feb 12, 2025
14d986b
handle slashes
invalid-email-address Feb 12, 2025
b70d1a0
removing unneeded imports
liquidsec Feb 12, 2025
b756df2
readding numpy
liquidsec Feb 12, 2025
57cab10
Merge pull request #2281 from blacklanternsecurity/fix-debug-logs
TheTechromancer Feb 13, 2025
1594d47
resolve poetry.lock conflict
invalid-email-address Feb 13, 2025
bd2e659
Merge pull request #2256 from blacklanternsecurity/generic-ssrf-rework
liquidsec Feb 13, 2025
b744ddc
Merge pull request #2237 from blacklanternsecurity/ffuf-shortnames-su…
liquidsec Feb 13, 2025
9953aaf
Merge pull request #2246 from blacklanternsecurity/dependabot/pip/dev…
liquidsec Feb 13, 2025
31242d9
Merge pull request #2243 from blacklanternsecurity/dependabot/pip/dev…
liquidsec Feb 13, 2025
e217006
Bump ruff from 0.9.3 to 0.9.6
dependabot[bot] Feb 13, 2025
267caf1
Bump pyzmq from 26.2.0 to 26.2.1
dependabot[bot] Feb 13, 2025
a1eaeb9
Merge pull request #2241 from blacklanternsecurity/dependabot/pip/dev…
liquidsec Feb 13, 2025
050975a
Merge pull request #2276 from blacklanternsecurity/dependabot/pip/dev…
liquidsec Feb 13, 2025
1c5fc99
Update nuclei
blsaccess Feb 14, 2025
41fbc0b
Update trufflehog
blsaccess Feb 15, 2025
63ad4cb
Change trufflehog status from info to verbose
domwhewell-sage Feb 15, 2025
666776a
Add the current target to the trufflehog status
domwhewell-sage Feb 15, 2025
4182214
Merge pull request #2288 from domwhewell-sage/shhhh_trufflehog
TheTechromancer Feb 16, 2025
6cf3943
Merge pull request #2286 from blacklanternsecurity/update-nuclei
TheTechromancer Feb 16, 2025
cb3c2a3
Merge pull request #2251 from blacklanternsecurity/update-trufflehog
TheTechromancer Feb 16, 2025
90e3e86
Bump lxml from 5.3.0 to 5.3.1
dependabot[bot] Feb 17, 2025
032b576
Bump mkdocs-material from 9.6.3 to 9.6.4
dependabot[bot] Feb 17, 2025
dc17189
Bump websockets from 14.2 to 15.0
dependabot[bot] Feb 17, 2025
4be278b
bump badsecrets 0.9
liquidsec Feb 17, 2025
191072b
Merge pull request #2292 from blacklanternsecurity/dependabot/pip/dev…
liquidsec Feb 17, 2025
609fa50
version
liquidsec Feb 17, 2025
b4f27e0
Merge pull request #2295 from blacklanternsecurity/bump-badsecrets-0-9
liquidsec Feb 18, 2025
fdab8e8
Merge pull request #2294 from blacklanternsecurity/dependabot/pip/dev…
TheTechromancer Feb 18, 2025
ad434cf
Merge pull request #2291 from blacklanternsecurity/dependabot/pip/dev…
TheTechromancer Feb 18, 2025
40ea06d
[create-pull-request] automated change
TheTechromancer Feb 19, 2025
63c9982
Merge pull request #2234 from blacklanternsecurity/update-docs
TheTechromancer Feb 19, 2025
1903dc9
request error handling, remove git dependency, add some branch names
invalid-email-address Feb 19, 2025
4764d3b
Merge pull request #2284 from domwhewell-sage/gitdumper
TheTechromancer Feb 19, 2025
9cf555a
resolve conflict
invalid-email-address Feb 20, 2025
22da607
log failed deps
invalid-email-address Feb 20, 2025
c12aa15
install ansible collection community.general
invalid-email-address Feb 21, 2025
ea34dc5
Merge pull request #2259 from ocervell/remove-ansible
TheTechromancer Feb 21, 2025
bb89afc
Bump psutil from 6.1.1 to 7.0.0
dependabot[bot] Feb 21, 2025
6091124
Update trufflehog
blsaccess Feb 22, 2025
4f835c6
Merge pull request #2297 from blacklanternsecurity/update-trufflehog
TheTechromancer Feb 23, 2025
4543965
Merge pull request #2293 from blacklanternsecurity/dependabot/pip/dev…
TheTechromancer Feb 23, 2025
cc7bc51
[create-pull-request] automated change
TheTechromancer Feb 24, 2025
85551ec
Bump setproctitle from 1.3.4 to 1.3.5
dependabot[bot] Feb 24, 2025
6e425d6
Merge pull request #2298 from blacklanternsecurity/update-docs
TheTechromancer Feb 24, 2025
9d58772
Bump ruff from 0.9.6 to 0.9.7
dependabot[bot] Feb 24, 2025
ce7d8f0
Bump cachetools from 5.5.1 to 5.5.2
dependabot[bot] Feb 24, 2025
52413e9
fix portfilter priority
invalid-email-address Feb 24, 2025
9067cb8
add rate option to ffuf
invalid-email-address Feb 24, 2025
3778ef9
Merge pull request #2302 from blacklanternsecurity/dependabot/pip/dev…
TheTechromancer Feb 24, 2025
33be294
Merge pull request #2304 from blacklanternsecurity/dependabot/pip/dev…
TheTechromancer Feb 24, 2025
c58ac9b
Merge pull request #2303 from blacklanternsecurity/dependabot/pip/dev…
TheTechromancer Feb 24, 2025
6877558
shortnames rate
invalid-email-address Feb 25, 2025
650cefd
switch crt.sh to use postgres directly
invalid-email-address Feb 25, 2025
23095b9
fix tests
invalid-email-address Feb 25, 2025
a9b2205
Merge pull request #2309 from blacklanternsecurity/ffuf-rate
TheTechromancer Feb 25, 2025
712929d
Merge pull request #2308 from blacklanternsecurity/fix-portfilter-pri…
TheTechromancer Feb 25, 2025
9585609
Merge pull request #2310 from blacklanternsecurity/crt-postgres
TheTechromancer Feb 25, 2025
918bdd7
Make `github_workflows` require an API key and update the error messa…
domwhewell-sage Feb 25, 2025
b69871e
Added github api key for trufflehog test
domwhewell-sage Feb 27, 2025
af402ac
ruff format
domwhewell-sage Feb 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
*.txt text eol=lf
*.json text eol=lf
*.md text eol=lf
*.sh text eol=lf
*.sh text eol=lf
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Bug Report
about: Create a report to help us improve
title: ""
labels: bug
assignees: ""
---

**Describe the bug**
What happened vs what was expected?

**BBOT Command**
Example: `bbot -m httpx -t evilcorp.com`

**OS, BBOT Installation Method + Version**
Example: `OS: Arch Linux, Installation method: pip, BBOT version: 1.0.3.545`
Note: You can get the BBOT version with `bbot --version`
Note: BBOT is designed from the ground up to run on Linux. Windows and MacOS are not officially supported. If you are using one of these platforms, it's recommended to use Docker.

**BBOT Config**
Attach your full BBOT preset (to show it, add `--current-preset` to your BBOT command).

**Logs/Screenshots**
If possible, produce the bug while `--debug` is enabled, and attach the relevant parts of the output.
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Feature Request
about: Request a new feature
title: ""
labels: enhancement
assignees: ""
---

**Description**
Which feature would you like to see added to BBOT? What are its use cases?
17 changes: 17 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
target-branch: "dev"
open-pull-requests-limit: 10
- package-ecosystem: github-actions
directory: /
groups:
github-actions:
patterns:
- "*" # Group all Actions updates into a single larger pull request
schedule:
interval: weekly
target-branch: "dev"
72 changes: 72 additions & 0 deletions .github/workflows/distro_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Tests (Linux Distros)
on:
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
test-distros:
runs-on: ubuntu-latest
container:
image: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu:22.04", "ubuntu:24.04", "debian", "archlinux", "fedora", "kalilinux/kali-rolling", "parrotsec/security"]
steps:
- uses: actions/checkout@v4
- name: Install Python and Poetry
run: |
if [ -f /etc/os-release ]; then
. /etc/os-release
if [ "$ID" = "ubuntu" ] || [ "$ID" = "debian" ] || [ "$ID" = "kali" ] || [ "$ID" = "parrotsec" ]; then
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get -y install curl git bash build-essential docker.io libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev
elif [ "$ID" = "alpine" ]; then
apk add --no-cache bash gcc g++ musl-dev libffi-dev docker curl git make openssl-dev bzip2-dev zlib-dev xz-dev sqlite-dev
elif [ "$ID" = "arch" ]; then
pacman -Syu --noconfirm curl docker git bash base-devel
elif [ "$ID" = "fedora" ]; then
dnf install -y curl docker git bash gcc make openssl-devel bzip2-devel libffi-devel zlib-devel xz-devel tk-devel gdbm-devel readline-devel sqlite-devel python3-libdnf5
elif [ "$ID" = "gentoo" ]; then
echo "media-libs/libglvnd X" >> /etc/portage/package.use/libglvnd
emerge-webrsync
emerge --update --newuse dev-vcs/git media-libs/mesa curl docker bash
fi
fi

# Re-run the script with bash
exec bash -c "
curl https://pyenv.run | bash
export PATH=\"$HOME/.pyenv/bin:\$PATH\"
export PATH=\"$HOME/.local/bin:\$PATH\"
eval \"\$(pyenv init --path)\"
eval \"\$(pyenv init -)\"
eval \"\$(pyenv virtualenv-init -)\"
pyenv install 3.11
pyenv global 3.11
pyenv rehash
python3.11 -m pip install --user pipx
python3.11 -m pipx ensurepath
pipx install poetry
"
- name: Set OS Environment Variable
run: echo "OS_NAME=${{ matrix.os }}" | sed 's|[:/]|_|g' >> $GITHUB_ENV
- name: Run tests
run: |
export PATH="$HOME/.local/bin:$PATH"
export PATH="$HOME/.pyenv/bin:$PATH"
export PATH="$HOME/.pyenv/shims:$PATH"
export BBOT_DISTRO_TESTS=true
poetry env use python3.11
poetry install
poetry run pytest --reruns 2 -o timeout_func_only=true --timeout 1200 --disable-warnings --log-cli-level=INFO .
- name: Upload Debug Logs
if: always()
uses: actions/upload-artifact@v4
with:
name: pytest-debug-logs-${{ env.OS_NAME }}
path: pytest_debug.log
34 changes: 34 additions & 0 deletions .github/workflows/docs_updater.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Daily Docs Update

on:
schedule:
- cron: '30 2 * * *' # Runs daily at 2:30 AM UTC, a less congested time
workflow_dispatch: # Allows manual triggering of the workflow

jobs:
update_docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.BBOT_DOCS_UPDATER_PAT }}
ref: dev # Checkout the dev branch
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install dependencies
run: |
pip install poetry
poetry install
- name: Generate docs
run: |
poetry run bbot/scripts/docs.py
- name: Create or Update Pull Request
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.BBOT_DOCS_UPDATER_PAT }}
branch: update-docs
base: dev
title: "Automated Docs Update"
body: "This is an automated pull request to update the documentation."
22 changes: 0 additions & 22 deletions .github/workflows/lint.yml

This file was deleted.

162 changes: 143 additions & 19 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,47 +1,171 @@
name: tests
on: [push, pull_request]
name: Tests
on:
push:
branches:
- stable
- dev
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
test:
runs-on: ubuntu-latest
strategy:
# if one python version fails, let the others finish
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: ${{ matrix.python-version }}
- name: Set Python Version Environment Variable
run: echo "PYTHON_VERSION=${{ matrix.python-version }}" | sed 's|[:/]|_|g' >> $GITHUB_ENV
- name: Install dependencies
run: |
pip install poetry
poetry install
- name: Run tests with pytest
- name: Lint
run: |
poetry run pytest --disable-warnings --cov-report xml:cov.xml --cov=bbot .
- uses: codecov/codecov-action@v2
poetry run ruff check
poetry run ruff format --check
- name: Run tests
run: |
poetry run pytest -vv --exitfirst --reruns 2 -o timeout_func_only=true --timeout 1200 --disable-warnings --log-cli-level=INFO --cov-config=bbot/test/coverage.cfg --cov-report xml:cov.xml --cov=bbot .
- name: Upload Debug Logs
if: always()
uses: actions/upload-artifact@v4
with:
name: pytest-debug-logs-${{ env.PYTHON_VERSION }}
path: pytest_debug.log
- name: Upload Code Coverage
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./cov.xml
fail_ci_if_error: true
verbose: true
pypi:
runs-on: ubuntu-latest
publish_code:
needs: test
if: github.event_name == 'push' && github.ref == 'refs/heads/stable'
runs-on: ubuntu-latest
if: github.event_name == 'push' && (github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/stable')
continue-on-error: true
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: "3.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build package
pip install poetry build
poetry self add "poetry-dynamic-versioning[plugin]"
- name: Build Pypi package
if: github.ref == 'refs/heads/stable' || github.ref == 'refs/heads/dev'
run: python -m build
- name: Publish package
uses: pypa/gh-action-pypi-publish@release/v1
- name: Publish Pypi package
if: github.ref == 'refs/heads/stable' || github.ref == 'refs/heads/dev'
uses: pypa/gh-action-pypi-publish@release/v1.12
with:
password: ${{ secrets.PYPI_API_TOKEN }}
- name: Get BBOT version
id: version
run: echo "BBOT_VERSION=$(poetry version | cut -d' ' -f2)" >> $GITHUB_OUTPUT
- name: Publish to Docker Hub (dev)
if: github.event_name == 'push' && github.ref == 'refs/heads/dev'
uses: elgohr/Publish-Docker-Github-Action@v5
with:
name: blacklanternsecurity/bbot
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
tags: "latest,dev,${{ steps.version.outputs.BBOT_VERSION }}"
- name: Publish to Docker Hub (stable)
if: github.event_name == 'push' && github.ref == 'refs/heads/stable'
uses: elgohr/Publish-Docker-Github-Action@v5
with:
name: blacklanternsecurity/bbot
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
tags: "stable,${{ steps.version.outputs.BBOT_VERSION }}"
- name: Docker Hub Description
if: github.event_name == 'push' && github.ref == 'refs/heads/dev'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: blacklanternsecurity/bbot
outputs:
BBOT_VERSION: ${{ steps.version.outputs.BBOT_VERSION }}
publish_docs:
runs-on: ubuntu-latest
if: github.event_name == 'push' && (github.ref == 'refs/heads/stable' || github.ref == 'refs/heads/dev')
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.BBOT_DOCS_UPDATER_PAT }}
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- name: Install dependencies
run: |
pip install poetry
poetry install --only=docs
- name: Configure Git
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git fetch origin gh-pages:refs/remotes/origin/gh-pages
if git show-ref --verify --quiet refs/heads/gh-pages; then
git branch -f gh-pages origin/gh-pages
else
git branch --track gh-pages origin/gh-pages
fi
- name: Generate docs (stable branch)
if: github.ref == 'refs/heads/stable'
run: |
poetry run mike deploy Stable
- name: Generate docs (dev branch)
if: github.ref == 'refs/heads/dev'
run: |
poetry run mike deploy Dev
- name: Publish docs
run: |
git switch gh-pages
git push
# tag_commit:
# needs: publish_code
# runs-on: ubuntu-latest
# if: github.event_name == 'push' && github.ref == 'refs/heads/stable'
# steps:
# - uses: actions/checkout@v4
# with:
# ref: ${{ github.head_ref }}
# fetch-depth: 0 # Fetch all history for all tags and branches
# - name: Configure git
# run: |
# git config --local user.email "info@blacklanternsecurity.com"
# git config --local user.name "GitHub Actions"
# - name: Tag commit
# run: |
# VERSION="${{ needs.publish_code.outputs.BBOT_VERSION }}"
# if [[ "${{ github.ref }}" == "refs/heads/dev" ]]; then
# TAG_MESSAGE="Dev Release $VERSION"
# elif [[ "${{ github.ref }}" == "refs/heads/stable" ]]; then
# TAG_MESSAGE="Stable Release $VERSION"
# fi
# git tag -a $VERSION -m "$TAG_MESSAGE"
# git push origin --tags
Loading