Skip to content

Conversation

@imays11
Copy link
Contributor

@imays11 imays11 commented Dec 11, 2025

Pull Request

Issue link(s):

Summary - What I changed

AWS Lambda Layer Added to Existing Function

This rule was missing alerts for the UpdateFunctionConfiguration action due to a missing wildcard.

  • added missing wildcard to query
  • reduced execution window
  • updated description, FP and IG sections
  • added highlighted fields
missing vs included UpdateFunctionConfiguration actions
Screenshot 2025-12-11 at 3 09 38 PM Screenshot 2025-12-11 at 3 09 49 PM

Expected Alert for PublishLayerVersion* action

Screenshot 2025-12-11 at 1 32 35 PM

AWS Lambda Function Policy Updated to Allow Public Invocation

  • changed this query to use EQL instead of KQL to optimize wildcard usage
  • uses event.type as event_category_override
  • reduced execution window
  • updated description, FP and IG sections
  • added highlighted fields
Working EQL query
Screenshot 2025-12-11 at 4 21 14 PM
Expected Alert
Screenshot 2025-12-11 at 1 31 26 PM

How To Test

Plenty of data in our stack for running query against
Set of scripts for testing : Lambda

#### AWS Lambda Layer Added to Existing Function
This rule was missing alerts for the `UpdateFunctionConfiguration` action due to a missing wildcard.
- added missing wildcard to query
- reduced execution window
- updated description, FP and IG sections
- added highlighted fields

#### AWS Lambda Function Policy Updated to Allow Public Invocation
- changed this query to use EQL instead of KQL to optimize wildcard usage
- uses `event.type` as `event_category_override`
- reduced execution window
- updated description, FP and IG sections
- added highlighted fields
@github-actions
Copy link
Contributor

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.

and event.outcome == "success"
and event.action : "AddPermission*"
and stringContains(aws.cloudtrail.request_parameters, "lambda:InvokeFunction")
and stringContains(aws.cloudtrail.request_parameters, "principal=\\*")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

was this tested in match on princioal=* ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I tested to capture that, I have the screenshot of the working query in the issue description. If you run it in our test stack it'll capture that event from yesterday.

Copy link
Contributor

@Mikaayenson Mikaayenson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small typo, otherwise lgtm

…tion_for_any_principal.toml

Co-authored-by: Mika Ayenson, PhD <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants