Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
cirro-azcli-ext — Azure CLI extension for Cirro collection | Kitploit
Tools/GitHubGitHub/bishopfox/cirro-azcli-ext
Cloud Infrastructure SecurityOSINT (Open Source Intelligence)ReconnaissanceInformation GatheringPenetration TestingCloud Security
GitHubbishopfox/cirro-azcli-ext

cirro-azcli-ext

Azure CLI extension for Cirro collection

View Repository
7135 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

cirro-azcli-ext

An Azure CLI extension that passively collects Azure resource data into a SQLite database compatible with Cirro (https://github.com/bishopfox/cirro) schema. It also logs all CLI invocations to a JSON-lines file.

Hooks into knack events:

  • EVENT_INVOKER_POST_PARSE_ARGS — logs command arguments
  • EVENT_INVOKER_FILTER_RESULT — writes resource data to SQLite

Setup

1. Install the extension

root@kitploit:~
az extension add --source dist/cirro_azcli_ext-*.whl

2. Disable the command index

root@kitploit:~
az config set core.use_command_index=false

Azure CLI lazy-loads extensions by command index. Disabling it ensures this extension loads for all commands so it can observe every invocation.

How it works

Download Tool

When any az command returns data from a remote Azure endpoint (ARM, Graph, Key Vault, etc.), the extension classifies each result item and writes it to the appropriate SQLite table:

Classification signalExampleTarget table
@odata.type on item#microsoft.graph.userusers
ARM resource ID pattern/subscriptions/x/providers/…resources
CLI command prefixad user listusers

Local-only commands (version, extension, config, etc.) are skipped.

Database schema (cirro-compatible)

ARM resources

root@kitploit:~
CREATE TABLE resources (
    id TEXT PRIMARY KEY, sub_id TEXT, rg_id TEXT, resource_type TEXT, data TEXT
);

Key Vault items

root@kitploit:~
CREATE TABLE keyVaultItems (
    id TEXT PRIMARY KEY, item_type TEXT, data TEXT
);

Generic tables (18 tables, each id TEXT PRIMARY KEY, data TEXT)

applications · administrativeUnits · conditionalAccessPolicies · devices · directoryRoles · eligibleArmRBAC · eligibleRoleAssignments · groups · managementGroupEntities · namedLocations · organization · oauth2PermissionGrants · policies · roleAssignments · servicePrincipals · subscriptions · tenants · users

Configuration

Config keyDefaultDescription
cirro.log_path~/.azure/cli_args.logArguments log file path
cirro.db_path~/.azure/cirro_collect.dbSQLite database path
root@kitploit:~
az config set cirro.db_path=/var/data/cirro_collect.db

Commands

root@kitploit:~
az cirro status          # show log stats and per-table row counts
az cirro status --tail 5 # show last 5 argument log entries