@@ -112,3 +112,36 @@ test('findLikelySecrets - should match full secret value against omitValues', as
112112 } )
113113 t . is ( fullMatch . length , 0 )
114114} )
115+
116+ test ( 'findLikelySecrets - should match omitValues case-insensitively' , async ( t ) => {
117+ const testCases = [
118+ {
119+ text : 'key="AIzaSyBdVl-cTICSwYKrZ96snp88z"' ,
120+ omitValue : 'AIzaSyBdVl-cTICSwYKrZ96snp88z' ,
121+ description : 'exact case match' ,
122+ } ,
123+ {
124+ text : 'key="AIzaSyBdVl-cTICSwYKrZ96snp88z"' ,
125+ omitValue : 'aizaSyBdVl-cTICSwYKrZ96snp88z' ,
126+ description : 'lowercase prefix in omit value' ,
127+ } ,
128+ {
129+ text : 'key="aizaSyBdVl-cTICSwYKrZ96snp88z"' ,
130+ omitValue : 'AIzaSyBdVl-cTICSwYKrZ96snp88z' ,
131+ description : 'lowercase prefix in detected secret' ,
132+ } ,
133+ {
134+ text : 'key="AIZASYBD-VLTICTCSWYKRZ96SNP88Z"' ,
135+ omitValue : 'aizasybd-vltictcswykrz96snp88z' ,
136+ description : 'all uppercase secret with lowercase omit value' ,
137+ } ,
138+ ]
139+
140+ testCases . forEach ( ( { text, omitValue, description } ) => {
141+ const matches = findLikelySecrets ( {
142+ text,
143+ omitValuesFromEnhancedScan : [ omitValue ] ,
144+ } )
145+ t . is ( matches . length , 0 , `Should omit secret for case: ${ description } ` )
146+ } )
147+ } )
0 commit comments