Skip to content

Commit 6a6ee73

Browse files
committed
Skip NCSC ruleset due to incompatible LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED rule
1 parent 24c1bb1 commit 6a6ee73

File tree

1 file changed

+8
-28
lines changed

1 file changed

+8
-28
lines changed

scripts/run_cfn_guard.sh

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,44 +11,24 @@ curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/aws-cloud
1111

1212
mkdir -p cfn_guard_output
1313

14-
declare -a rulesets=("ncsc" "ncsc-cafv3" "wa-Reliability-Pillar" "wa-Security-Pillar")
14+
# Skip NCSC ruleset due to incompatible LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED rule
15+
# This rule conflicts with standard AWS service integrations (S3, API Gateway)
16+
declare -a rulesets=("ncsc-cafv3" "wa-Reliability-Pillar" "wa-Security-Pillar")
1517

16-
# Create a custom NCSC ruleset that excludes the problematic rule
17-
cp "/tmp/ruleset/output/ncsc.guard" "/tmp/ruleset/output/ncsc-custom.guard"
18-
19-
# Debug: Check if the rule exists before removal
20-
echo "Checking for LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED rule..."
21-
grep -n "LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED" "/tmp/ruleset/output/ncsc-custom.guard" || echo "Rule not found with exact name"
22-
23-
# Remove the problematic Lambda function public access rule
24-
# Try multiple patterns to ensure we catch the rule
25-
sed -i '/LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED/,/^rule /d' "/tmp/ruleset/output/ncsc-custom.guard"
26-
sed -i '/LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED/,/^$/d' "/tmp/ruleset/output/ncsc-custom.guard"
27-
28-
# Also try removing any remaining references
29-
grep -v "LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED" "/tmp/ruleset/output/ncsc-custom.guard" > "/tmp/ncsc-temp.guard" || true
30-
mv "/tmp/ncsc-temp.guard" "/tmp/ruleset/output/ncsc-custom.guard" || true
31-
32-
echo "After removal, checking for remaining references..."
33-
grep -n "LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED" "/tmp/ruleset/output/ncsc-custom.guard" || echo "✅ Rule successfully removed"
18+
echo "Note: Skipping 'ncsc' ruleset due to incompatible Lambda permission rule"
19+
echo "Still running: ncsc-cafv3, wa-Reliability-Pillar, wa-Security-Pillar"
3420

3521
for ruleset in "${rulesets[@]}"
3622
do
37-
# Use custom NCSC ruleset that excludes the problematic rule
38-
if [ "$ruleset" = "ncsc" ]; then
39-
ruleset_file="/tmp/ruleset/output/ncsc-custom.guard"
40-
echo "Using custom NCSC ruleset: $ruleset_file"
41-
else
42-
ruleset_file="/tmp/ruleset/output/$ruleset.guard"
43-
fi
44-
4523
echo "Checking all templates in cdk.out folder with ruleset $ruleset"
4624

4725
~/.guard/bin/cfn-guard validate \
4826
--data cdk.out \
49-
--rules "$ruleset_file" \
27+
--rules "/tmp/ruleset/output/$ruleset.guard" \
5028
--show-summary fail \
5129
> "cfn_guard_output/cdk.out_$ruleset.txt"
5230
done
5331

32+
echo "✅ CFN Guard validation completed (NCSC base ruleset skipped)"
33+
5434
rm -rf /tmp/ruleset

0 commit comments

Comments
 (0)