feat(rules): add S3 multipart upload abort check#50
Conversation
There was a problem hiding this comment.
Devin Review found 1 new potential issue.
⚠️ 1 issue in files not directly in the diff
⚠️ README advertises "Custom rule support" as a shipping feature when it is not implemented (README.md:27)
The new README lists "Custom rule support, so you can bolt your own policies onto the same engine" as a current feature, but the codebase has multiple TODO markers confirming custom rule loading is unimplemented:
TODO markers proving custom rules are unimplemented
packages/cloudburn/src/commands/scan.ts:31:// TODO(cloudburn): support profile, severity filtering, and custom rules path options.packages/sdk/src/engine/registry.ts:5:// TODO(cloudburn): include custom rule loading once the SDK supports custom modules.packages/cloudburn/src/commands/rules-list.ts:7:// TODO(cloudburn): include configured custom rule discovery when the SDK registry supports it.packages/rules/src/index.ts:2:// TODO(cloudburn): publish stable docs for custom rule pack authoring.
The linked guide (docs/guides/adding-a-rule.md) is about contributing built-in rules to the @cloudburn/rules package source, not about loading external custom rules at runtime. docs/REVIEW.md:89 explicitly states: "customRules is still not implemented. That gap is intentional." Advertising this to users as a feature is misleading.
View 3 additional findings in Devin Review.
roborev: Combined Review (
|
No action needed: this combined review reported no unresolved findings to address. |
Summary
Added a new S3 rule that flags buckets missing an enabled lifecycle rule to abort incomplete multipart uploads within 7 days for both IaC and discovery scans.
Extended the shared S3 analysis dataset so static and live S3 evaluation can detect multipart-abort lifecycle behavior, then updated docs, rule metadata, scanner expectations, and changesets.
CloudBurn already checked for general lifecycle management and storage-class optimization, but it did not cover the common cost-control check for incomplete multipart uploads that continue consuming storage.
Diagram
Scope
cloudburn(cli)@cloudburn/sdk@cloudburn/rulesRelease Notes
.changeset/*.mdfile for published package changesVerification
pnpm lintpnpm typecheckpnpm testpnpm buildpnpm verifyBoundary Checks
@cloudburn/rules