diff --git a/bbot/modules/output/sqlite.py b/bbot/modules/output/sqlite.py index 857687e22..68ac60daf 100644 --- a/bbot/modules/output/sqlite.py +++ b/bbot/modules/output/sqlite.py @@ -5,14 +5,14 @@ class SQLite(SQLTemplate): watched_events = ["*"] - meta = {"description": "sqlite"} - deps_pip = ["sqlmodel", "sqlalchemy-utils", "aiosqlite"] + meta = {"description": "Output scan data to a SQLite database"} options = { "database": "", } options_desc = { "database": "The path to the sqlite database file", } + deps_pip = ["sqlmodel", "sqlalchemy-utils", "aiosqlite"] async def setup(self): db_file = self.config.get("database", "") diff --git a/docs/scanning/output.md b/docs/scanning/output.md index 55eaa5469..7efdf4862 100644 --- a/docs/scanning/output.md +++ b/docs/scanning/output.md @@ -178,6 +178,15 @@ The `asset_inventory` module produces a CSV like this: | www.evilcorp.com | cdn-github | 2.3.4.5 | Active | 22,80,443 | | admin.evilcorp.com | cloud-azure | 5.6.7.8 | N/A | | +### SQLite + +The `sqlite` output module produces a SQLite database containing all events, scans, and targets. By default, it will be saved in the scan directory as `output.sqlite`. + +```bash +# specifying a custom database path +bbot -t evilcorp.com -om sqlite -c modules.sqlite.database=/tmp/bbot.sqlite +``` + ### Subdomains The `subdomains` output module produces simple text file containing only in-scope and resolved subdomains: