Sample output
What Netlumi gives you.
A finding with its evidence, the fix as a pull request with what was checked, what happens after the merge, and why the list stays short. Every name here is made up.
The finding
A finding.
Each finding names the resource, the evidence, the IaC file and line that created the resource, the commit and its author, and the one action to take now.
Example finding
Criticalprod-data-bucket
S3 bucket · account 1111… · us-east-1
Public access not blocked
Confidence: proven · Live: seen 4 minutes ago
| Exposed | Anyone on the internet can read objects in this bucket |
|---|---|
| Open to the internet | Nothing in the account blocks public access |
| Confirmed | An anonymous read of one object succeeded |
| Data at risk | 12,418 objects, 3.1 GB; on 2 attack paths to acme-customers |
One action now: review the fix pull request #284.
What the fields mean
- Severity
- Critical or high only when the evidence shows the issue matters in your account. Otherwise medium, low or posture.
- Confidence
- Proven means Netlumi confirmed the effect in your account.
- Live
- When the resource was last seen in a scan. A finding on a resource that is gone is closed, not left open.
- Code-to-cloud
- The file, line range and commit that created the resource, so the fix goes where the resource is defined and to the team that owns it.
- Attack paths
- The paths this finding is on, so you can see whether it opens a route to your data.
The fix
The fix, as a pull request.
Netlumi writes the change in the IaC code that created the resource and opens a pull request. Fix pull requests are checked before you see them, and never applied for you. You review and merge.
Example pull request
Openfix: Public access not blocked for prod-data-bucket
#284 · netlumi/fix-s3-public-access-prod-data-bucket into main · opened by Netlumi Fix
Security Fix: Public access not blocked
Automated fix generated by Netlumi. Resource: prod-data-bucket · Severity: critical · Region: us-east-1 · Account: 1111…
Verification
Tested against your account: the finding no longer fires with this change.
- Plan: 0 to add, 1 to change, 0 to destroy (0 replaced).
- Re-checked against prod-data-bucket: the finding is resolved by this change.
- Not checked: the bucket policy itself is unchanged; review it if objects must stay public.
- block_public_acls = false
- block_public_policy = false
+ block_public_acls = true
+ block_public_policy = true
Closes 1 critical issue on prod-data-bucket; breaks 2 attack paths. Compliance: CIS AWS Foundations 2.1.4, SOC 2 CC6.1.
What the pull request carries
- The finding: resource, severity, category, region and account, and the issue in plain words.
- The plan: what would be added, changed, destroyed or replaced. A fix that would destroy or replace a resource is blocked.
- The check: whether the change resolves the finding. If it does not, there is no pull request.
- What was checked and what was not, so your review starts where the automation stopped.
- What it closes: the issues and the attack paths it breaks, and the controls it maps to.
Opened by the Netlumi Fix app on a netlumi/fix-* branch. Never pushed to your default branch, never merged by Netlumi.
After the merge
Stays fixed after the next deploy.
A fix applied by hand to the live resource is undone by the next deploy from your IaC code. A fix in the code is applied by it.
Example: after the merge
MergedThe fix is in the code, so the next deploy applies it instead of undoing it.
- Scans run on a schedule and when things change. After the merge and the deploy, the next scan no longer reports the finding.
- Drift detection compares each live resource with its IaC code and shows what changed, who changed it, and whether the change went through your pipeline.
- The merged pull request is recorded as evidence for your compliance report: what was wrong, the pull request that fixed it, and when.
Less noise
The low-noise model.
Critical and high mean something you do something about today. Netlumi marks an issue critical or high only when the evidence shows it matters in your account.
- Each finding shows its evidence, as in the example above.
- Attack paths: Netlumi shows which steps of a path it has confirmed in your account and which it has not, and why.
- Urgent alerts are rare and reach you at once. Everything else goes into a daily digest. Our automatic remediation workflow keeps fixing issues in the meantime.
- Severity is never decided by a language model.