Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Adversaries may modify the lifecycle policies of a cloud storage bucket to destroy all objects stored within.
.claude/skills/cyberstrikeus-t1485-001-lifecycle-triggered-deletion/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 65% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -39% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -25% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -52% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 79% | 0% |
> Sub-technique of: T1485
Adversaries may modify the lifecycle policies of a cloud storage bucket to destroy all objects stored within.
Cloud storage buckets often allow users to set lifecycle policies to automate the migration, archival, or deletion of objects after a set period of time. If a threat actor has sufficient permissions to modify these policies, they may be able to delete all objects at once.
For example, in AWS environments, an adversary with the PutLifecycleConfiguration permission may use the PutBucketLifecycle API call to apply a lifecycle policy to an S3 bucket that deletes all objects in the bucket after one day. In addition to destroying data for purposes of extortion and Financial Theft, adversaries may also perform this action on buckets storing cloud logs for Indicator Removal.
Platforms: IaaS
> Note: No Atomic Red Team tests available for this technique. See Atomic Red Team GitHub for updates.
In cloud environments, limit permissions to modify cloud bucket lifecycle policies (e.g., PutLifecycleConfiguration in AWS) to only those accounts that require it. In AWS environments, consider using Service Control policies to limit the use of the PutBucketLifecycle API call.
Consider implementing IT disaster recovery plans that contain procedures for taking regular data backups that can be used to restore organizational data. Ensure backups are stored off system and protected from common methods adversaries may use to gain access and destroy the backups to prevent recovery.
| Finding | Severity | Impact | | ------------------------------------------------- | -------- | ------ | | Lifecycle-Triggered Deletion technique applicable | Low | Impact |
| CWE ID | Title | | ------- | --------------------------------- | | CWE-400 | Uncontrolled Resource Consumption |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-11 | pass→pass | 18,064 | 19,288 | +7% | 1 | 1 | 0% | 2,029 | 3,362 | +66% | 0 | 0 | — |
case-01 | fail→fail | 31,537 | 27,198 | -14% | 1 | 1 | 0% | 4,547 | 4,912 | +8% | 0 | 0 | — |
case-02 | fail→fail | 25,545 | 39,183 | +53% | 1 | 1 | 0% | 4,068 | 5,981 | +47% | 0 | 0 | — |
case-03 | pass→pass | 30,685 | 33,520 | +9% | 1 | 1 | 0% | 4,334 | 5,075 | +17% | 0 | 0 | — |
case-04 | pass→pass | 19,342 | 27,096 | +40% | 1 | 1 | 0% | 3,674 | 5,053 | +38% | 0 | 0 | — |
case-05 | fail→pass | 18,326 | 28,085 | +53% | 1 | 1 | 0% | 3,207 | 5,293 | +65% | 0 | 0 | — |
case-06 | pass→pass | 13,635 | 10,384 | -24% | 1 | 1 | 0% | 2,336 | 3,007 | +29% | 0 | 0 | — |
case-07 | fail→pass | 23,579 | 10,434 | -56% | 1 | 1 | 0% | 3,400 | 2,088 | -39% | 0 | 0 | — |
case-08 | pass→pass | 12,291 | 5,199 | -58% | 1 | 1 | 0% | 2,015 | 1,735 | -14% | 0 | 0 | — |
case-09 | fail→pass | 21,431 | 9,907 | -54% | 1 | 1 | 0% | 2,403 | 1,798 | -25% | 0 | 0 | — |
case-10 | fail→pass | 19,592 | 3,286 | -83% | 1 | 1 | 0% | 3,231 | 1,556 | -52% | 0 | 0 | — |
case-12 | fail→pass | 13,379 | 8,345 | -38% | 1 | 1 | 0% | 1,399 | 2,499 | +79% | 0 | 0 | — |
case-13 | pass→pass | 16,246 | 3,983 | -75% | 1 | 1 | 0% | 2,108 | 1,750 | -17% | 0 | 0 | — |
case-14 | pass→pass | 27,003 | 8,551 | -68% | 1 | 1 | 0% | 4,330 | 1,314 | -70% | 0 | 0 | — |
case-15 | fail→pass | 19,018 | 3,283 | -83% | 1 | 1 | 0% | 2,348 | 1,629 | -31% | 0 | 0 | — |
case-16 | fail→pass | 12,745 | 18,923 | +48% | 1 | 1 | 0% | 2,027 | 2,443 | +21% | 0 | 0 | — |
case-17 | pass→fail | 19,701 | 13,248 | -33% | 1 | 1 | 0% | 2,185 | 2,020 | -8% | 0 | 0 | — |
case-18 | pass→pass | 14,686 | 9,352 | -36% | 1 | 1 | 0% | 2,630 | 1,677 | -36% | 0 | 0 | — |
case-19 | fail→pass | 17,609 | 9,070 | -48% | 1 | 1 | 0% | 2,115 | 1,779 | -16% | 0 | 0 | — |
case-20 | pass→pass | 21,022 | 9,914 | -53% | 1 | 1 | 0% | 2,908 | 1,954 | -33% | 0 | 0 | — |
case-21 | fail→pass | 18,265 | 7,131 | -61% | 1 | 1 | 0% | 2,159 | 1,348 | -38% | 0 | 0 | — |
case-22 | pass→pass | 11,711 | 8,520 | -27% | 1 | 1 | 0% | 1,124 | 1,591 | +42% | 0 | 0 | — |
case-23 | fail→pass | 12,155 | 8,267 | -32% | 1 | 1 | 0% | 1,326 | 1,594 | +20% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +39 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.