Autoremediation

For eligible findings, qrie can apply the fix in your AWS account with a single click. This page explains how the flow works, what gets stored, and how to undo a remediation if anything goes wrong.

How Apply Fix works
The flow is orchestrated end-to-end from the finding drawer.
  1. Apply Fix appears on an open finding when its policy supports autoremediation.
  2. Clicking it runs an assessment: qrie re-reads the resource configuration directly from AWS, re-evaluates the policy, and lists the specific scenarios that apply (e.g., "S3 Block Public Access is not fully enabled"). If the resource is already compliant, the finding closes immediately.
  3. You review the scenarios, accept the liability waiver, and click Proceed.
  4. qrie snapshots the relevant pre-change state, then applies each scenario. If any scenario fails, qrie halts and reports which ones succeeded — the ones that did succeed remain applied (and can be rolled back).
  5. The dialog enters verifying mode and polls every 60 seconds. When the resource is compliant, the finding is closed automatically.
Rollback
Every applied scenario captures a snapshot of the prior state.

While the verification dialog is open — and after a partial failure — a Rollback button is available. It replays the snapshots in reverse, restoring the resource to its pre-remediation state.

Rollback can fail if the resource has been further modified between the remediation and the rollback (for example, by a person or another automation). The dialog reports per-scenario rollback outcomes.

Eligible policies
Autoremediation is opt-in per policy. New policies are added by attaching Scenario classes in the policy module — no infrastructure work.
PolicyRiskStatus
S3BucketPublicS3 Bucket Publicly AccessibleShipped
KmsKeyRotationDisabledKMS Key Rotation DisabledPlanned
S3BucketVersioningDisabledS3 Bucket Versioning DisabledPlanned
S3BucketNonKmsEncryptedS3 Bucket Not KMS-EncryptedPlanned
CloudtrailLogValidationDisabledCloudTrail Log Validation OffPlanned
CloudtrailLoggingDisabledCloudTrail Logging StoppedPlanned
Ec2Imdsv1EnabledEC2 IMDSv1 AllowedPlanned
LambdaFunctionPublicLambda Function PublicPlanned
IamAccessKeyUnusedIAM Access Key UnusedPlanned
RdsPublicAccessRDS Publicly AccessiblePlanned
What's stored

Each remediation run creates a row in the qrie_remediations DynamoDB table, keyed by the finding it acted on. The row records which scenarios were applied, their pre-change snapshots, success/failure of each, and who initiated the run.

Snapshots stay server-side; the API surface returns scenario outcomes but not the raw snapshot data.

What's not (yet) supported
  • Bulk remediation across many findings at once.
  • Auto-apply (no-click) for low-risk policies on a schedule.
  • Approval workflows (Slack / email / PagerDuty).
  • LLM-based safety reasoning before remediation.

These are tracked in feature-proposals/ and prioritized by customer demand.