Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
e8b233f
Added test cases `underscore.string` string to string.
Napalys Mar 17, 2025
9bca863
Added modeling of `underscore.string` string to string functions.
Napalys Mar 17, 2025
c256b9c
Added `underscore.string` test cases for str to array.
Napalys Mar 17, 2025
30623cd
Added modeling of `underscore.string` for str to array.
Napalys Mar 17, 2025
cd40b6f
Added test cases `underscore.string` array to string.
Napalys Mar 17, 2025
6b105b2
Added modeling `underscore.string` array to string functions.
Napalys Mar 17, 2025
77e1e17
Added test cases `underscore.string` with multiple sources.
Napalys Mar 17, 2025
b59b9c8
Added modeling `underscore.string` of function which contain multiple…
Napalys Mar 17, 2025
25c6fb5
Added chaining tests for `underscore.string` package.
Napalys Mar 17, 2025
ca9ae8a
Added chaining modeling for `underscore.string` package.
Napalys Mar 17, 2025
cccd863
Added test for extra chaining function for `underscore.string`.
Napalys Mar 17, 2025
3a83c8d
Added modeling for extra chaining function from `underscore.string`.
Napalys Mar 17, 2025
dcc1e88
Added test cases for aliases.
Napalys Mar 17, 2025
fc6b779
Added modeling for aliases.
Napalys Mar 17, 2025
eb18c3c
Added test case for `tap`.
Napalys Mar 17, 2025
d8e6d76
Added modeling for `tap` function.
Napalys Mar 17, 2025
2c7562d
Removed `value` from modeling its return value as Wrapper class, sinc…
Napalys Mar 17, 2025
8b431dc
Added change note.
Napalys Mar 17, 2025
922a07d
Added `underscore.string` `clearsContent`.
Napalys Mar 18, 2025
752f02f
Fixed `map` modeling and added test cases.
Napalys Mar 20, 2025
f4ca2dc
Restricted taint to array elements.
Napalys Mar 20, 2025
221cc19
Merge branch 'main' into js/underscore-string
Napalys Mar 20, 2025
ca53e97
Adressed comments.
Napalys Mar 20, 2025
9e78755
Fixed typo in the test cases.
Napalys Mar 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions javascript/ql/lib/ext/underscore.string.model.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ extensions:
- ["'underscore.string'.Wrapper", "'underscore.string'.Wrapper", "Member[slugify,capitalize,decapitalize,clean,cleanDiacritics,swapCase,escapeHTML,unescapeHTML,wrap,dedent,reverse,pred,succ,titleize,camelize,classify,underscored,dasherize,humanize,trim,ltrim,rtrim,truncate,sprintf,strRight,strRightBack,strLeft,strLeftBack,stripTags,unquote,value,strip,lstrip,rstrip,camelcase].ReturnValue"]
- ["'underscore.string'.Wrapper", "'underscore.string'.Wrapper", "Member[insert,replaceAll,join,splice,prune,pad,lpad,rpad,repeat,surround,quote,q,rjust,ljust].ReturnValue"]
- ["'underscore.string'.Wrapper", "'underscore.string'.Wrapper", "Member[toUpperCase,toLowerCase,replace,slice,substring,substr,concat].ReturnValue"]
- ["'underscore.string'.Wrapper", "'underscore.string'.Wrapper", "Member[tap].ReturnValue"]

- addsTo:
pack: codeql/javascript-all
Expand All @@ -27,3 +28,5 @@ extensions:
- ["'underscore.string'.Wrapper", "Member[splice]", "Argument[2]", "ReturnValue", "taint"]
- ["'underscore.string'.Wrapper", "Member[join,concat]", "Argument[0..N-1]", "ReturnValue", "taint"]
- ["'underscore.string'.Wrapper", "Member[toUpperCase,toLowerCase,replace,slice,substring,substr,split]", "Argument[this]", "ReturnValue", "taint"]
- ["'underscore.string'.Wrapper", "Member[tap]", "Argument[this]", "ReturnValue", "taint"]
- ["'underscore.string'.Wrapper", "Member[tap]", "Argument[0].ReturnValue", "ReturnValue", "taint"]
Comment thread
Napalys marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -120,5 +120,5 @@ function chaining() {

sink(s(source("s20")).tap(function(value) {
return value + source("s21");
}).value()); // $ MISSING: hasTaintFlow=s20 MISSING: hasTaintFlow=s21
}).value()); // $ hasTaintFlow=s20 hasTaintFlow=s21
}