-
Notifications
You must be signed in to change notification settings - Fork 0
Understanding Output
HarrierOps Azure writes table, JSON, CSV, and loot artifacts from the same underlying model output. That means the formats are different views of the same collected result, not separate collectors.
-
--output tablefor quick operator reading in the terminal -
--output jsonfor structured review and automation -
--output csvfor spreadsheet-style inspection
Example:
ho-azure --outdir ./ho-azure-demo whoami --output jsonAll commands write under <outdir>/:
loot/<command>.jsonjson/<command>.jsontable/<command>.txtcsv/<command>.csv
all-checks also writes:
run-summary.json
run-summary.json is orchestration metadata for all-checks.
It tells you which commands ran and where their artifacts were written.
It is not a separate evidence source.
JSON artifacts include a top-level metadata object. Treat that object as tool and runtime
provenance: command token, generation time, schema version, tenant/subscription scope, auth source,
artifact validation context, and reused session artifacts when present. Operators can use this
information for audit, but it is primarily there so the tool and automation can validate what
produced the artifact.
Grouped command outputs also include operator-facing header fields:
-
grouped_command_namenames the grouped command family, such aschains,persistence, orexfil. -
familyorsurfacenames the selected grouped view, such asdeployment-pathorlogic-apps. -
input_modesummarizes where the backing evidence came from:live,artifact-backed, ormixed. -
backing_commandslists the helper commands used to build the grouped output. -
operator_receipt, when present, is the operator-facing command receipt: grouped command, surface/family, input mode, command state, summary, and backing commands. Use it when you want the quick answer to "what command view did I run, and did this reuse saved helper artifacts?"
For grouped outputs that include operator_receipt, read operator_receipt.command as the
operator-facing command identity. Read metadata.command as the stable artifact-producing command
token used by the tool and artifact system.
When operator_receipt.input_mode is artifact-backed or mixed, the exact reused artifact paths
remain in metadata.session_artifacts.
HarrierOps Azure uses semantic-high-band loot selection only for commands that ship a defended row-level
priority contract.
Today that includes:
permissionsprivesctokens-credentialscross-tenantho-azure chains credential-pathho-azure chains deployment-pathho-azure chains compute-controlho-azure chains escalation-path
For those commands, semantic-high-band loot means keeping priority=high rows when present.
All other commands currently use ranked-cutoff loot selection: loot keeps the top-ranked rows from
the command's normal ordering, but that ordering should not be read as a durable semantic high /
medium / low contract unless the command explicitly ships that priority field in JSON.
Table-only labels, ordering, or priority-like display context are not equivalent to a shipped
semantic priority contract.
Important examples:
-
ho-azure chains deployment-path --output jsonmay use semantic-high-band loot because its family rows ship defendedpriority. -
ho-azure chainsby itself does not. The base overview is a family index surface and still uses ranked-cutoff loot behavior. -
network-effectiveandsnapshots-disksremain ranked-cutoff surfaces even if the rendered table shows priority-like wording or context.
- Start with terminal table output for quick triage.
- Open the JSON artifact when you want the exact structured result.
- Use the table or CSV files later if you want saved views outside the terminal.
- For
all-checks, userun-summary.jsonto jump into the per-command artifacts.
- JSON output is deterministic.
- Table output should not invent fields that are absent from the JSON contract.
- Schema files under
schemas/and snapshots undertests/golden/are the regression baseline.
If you need the versioned contract details, use the repo docs rather than the wiki:
docs/output-contracts.mddocs/api-mapping/
- Home
- Getting Started
- Platform Notes
- Running Against The Proof Lab
- Understanding Output
- Command Guides
Core
Identity
Config
Secrets
Storage
Resource
Compute
Orchestration
Chain Families
Investigations
- Axios - Post Exposure Azure Triage
- From EvilTokens to HarrierOps Azure: Why Token Theft Can Become Azure Control
- FAQ / Known Limits (coming soon)