StackGuardian / StackGuardian/tirith

research(provider): cloud runtime state as a table-keyed json document

Open
#349 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

research
Dominant language
Python
Stars
165
Forks
42
Avg merge
1d 3h
Merged PRs (30d)
11

Description

Most cloud-compliance policies (CIS, PCI and framework packs) read live cloud state, not a file.
The Tirith side is small: an envelope convention ({"snapshot_version": …, "aws_s3_bucket": [row, …]}) read through the json provider with absence-padding — not a new provider package.
The collector question has a better answer than "build one": AWS Config configuration snapshots,
Azure Resource Graph and GCP Cloud Asset Inventory each emit a keyed JSON inventory inside the
customer's account — Tirith reads a file and never holds a cloud credential, so the project becomes
"read three export formats". An existing multi-cloud inventory tool remains the right general-purpose collector. Open needs:
a redactor (live API rows hold credential reports and key policies), staleness that fails closed,
and the nothing-in-scope decision ("no rows of that table" is the modal case).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing JSON provider and trace how table-keyed documents and absence-padding are handled. Compare AWS Config, Azure Resource Graph, and GCP Cloud Asset Inventory export shapes, then resolve the redaction, fail-closed staleness, and no-rows behavior described in the issue. Done means the supported export formats and those edge cases have clear, tested behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, azure, gcp, python
Domain
cloud, data, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.