Skip to content

Conversation

@imays11
Copy link
Contributor

@imays11 imays11 commented Nov 7, 2025

Pull Request

Issue link(s):

Summary - What I changed

This rule is quite loud in telemetry. However over 80% of alerts come from a single cluster, which seems to have a lot of role usage and operation-type IAM Users which assume other roles constantly. This makes me think the majority of these alerts may be from multiple role sessions retrieving secrets, rather than a single user retrieving multiple secrets rapidly. I've looked at the prod telemetry data we have access to and found a few instances where a single secret is accessed multiple times or certain AWS services retrieve multple secrets rapidly. All of these instances have been accounted for in the tunings here.

  • query has been changed to remove GetBatchSecretValue from the query since this API call actually calls the GetSecretValue for each of the secrets it's retrieving. So we only need to look for GetSecretValue
  • I've added the AWS services found in prod data that contribute to rapid secret retrieval
  • Changed the threshold parameters to look for a single user.id retrieving more than 20 unique secret values (aws.cloudtrail.request_parameters)
  • updated the description and investigation guide
  • reduced execution window
  • rule name changed to better match the naming standard

How To Test

There's a duplicated version of this rule in our test stack with the updated query and threshold values.
This script will allow you to test 3 different scenarios:

  1. multiple unique secret values retreived by single user (rule should alert)
  2. one secret value retrieved multiple times by single user (updated rule should not alert, old rule alerted on this)
  3. multple secrets retrieved via BatchGetSecretValue (updated rule should still alert on GetSecretValue calls)

script: trigger_credential_access_rapid_secret_retrieval_attempts_from_secretsmanager.py

Screenshot of initial rule capturing multiple instances of a single secret being retrieved

Screenshot 2025-11-07 at 10 07 28 AM

Screenshot of BatchGetSecretValueAPI call preceded by multiple GetSecretValue calls

Screenshot 2025-11-07 at 10 16 14 AM

Screenshot of original rule capturing all 3 test scenarios vs. updated rule capturing only the expected 2 scenarios

Screenshot 2025-11-07 at 1 03 52 PM Screenshot 2025-11-07 at 1 04 10 PM

This rule is quite loud in telemetry. However over 80% of alerts come from a single cluster, which seems to have a lot of role usage and operation-type IAM Users which assume other roles constantly. This makes me think the majority of these alerts may be from multiple role sessions retrieving secrets, rather than a single user retrieving multiple secrets rapidly. I've looked at the prod telemetry data we have access to and found a few instances where a single secret is accessed multiple times or certain AWS services retrieve multple secrets rapidly. All of these instances have been accounted for in the tunings here.
- query has been changed to remove `GetBatchSecretValue` from the query since this API call actually calls the `GetSecretValue` for each of the secrets it's retrieving. So we only need to look for `GetSecretValue`
- I've added the AWS services found in prod data that contribute to rapid secret retrieval
- Changed the threshold parameters to look for a single `user.id` retrieving more than 20 unique secret values (`aws.cloudtrail.request_parameters`)
- updated the description and investigation guide
- reduced execution window
@imays11 imays11 self-assigned this Nov 7, 2025
@imays11 imays11 added Integration: AWS AWS related rules Rule: Tuning tweaking or tuning an existing rule Team: TRADE Domain: Cloud labels Nov 7, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Nov 7, 2025

Rule: Tuning - Guidelines

These guidelines serve as a reminder set of considerations when tuning an existing rule.

Documentation and Context

  • Detailed description of the suggested changes.
  • Provide example JSON data or screenshots.
  • Provide evidence of reducing benign events mistakenly identified as threats (False Positives).
  • Provide evidence of enhancing detection of true threats that were previously missed (False Negatives).
  • Provide evidence of optimizing resource consumption and execution time of detection rules (Performance).
  • Provide evidence of specific environment factors influencing customized rule tuning (Contextual Tuning).
  • Provide evidence of improvements made by modifying sensitivity by changing alert triggering thresholds (Threshold Adjustments).
  • Provide evidence of refining rules to better detect deviations from typical behavior (Behavioral Tuning).
  • Provide evidence of improvements of adjusting rules based on time-based patterns (Temporal Tuning).
  • Provide reasoning of adjusting priority or severity levels of alerts (Severity Tuning).
  • Provide evidence of improving quality integrity of our data used by detection rules (Data Quality).
  • Ensure the tuning includes necessary updates to the release documentation and versioning.

Rule Metadata Checks

  • updated_date matches the date of tuning PR merged.
  • min_stack_version should support the widest stack versions.
  • name and description should be descriptive and not include typos.
  • query should be inclusive, not overly exclusive. Review to ensure the original intent of the rule is maintained.

Testing and Validation

  • Validate that the tuned rule's performance is satisfactory and does not negatively impact the stack.
  • Ensure that the tuned rule has a low false positive rate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Domain: Cloud Integration: AWS AWS related rules Rule: Tuning tweaking or tuning an existing rule Team: TRADE

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants