File tree Expand file tree Collapse file tree 6 files changed +623
-0
lines changed
codechecker_report_converter/analyzers/seqra Expand file tree Collapse file tree 6 files changed +623
-0
lines changed Original file line number Diff line number Diff line change 1+ # -------------------------------------------------------------------------
2+ #
3+ # Part of the CodeChecker project, under the Apache License v2.0 with
4+ # LLVM Exceptions. See LICENSE for license information.
5+ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+ #
7+ # -------------------------------------------------------------------------
Original file line number Diff line number Diff line change 1+ # -------------------------------------------------------------------------
2+ #
3+ # Part of the CodeChecker project, under the Apache License v2.0 with
4+ # LLVM Exceptions. See LICENSE for license information.
5+ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+ #
7+ # -------------------------------------------------------------------------
8+
9+ import logging
10+ from typing import List
11+
12+ from codechecker_report_converter .report import Report
13+ from codechecker_report_converter .report .parser import sarif
14+
15+ from ..analyzer_result import AnalyzerResultBase
16+
17+
18+ LOG = logging .getLogger ('report-converter' )
19+
20+
21+ class AnalyzerResult (AnalyzerResultBase ):
22+ """ Transform analyzer result of the Seqra."""
23+
24+ TOOL_NAME = 'seqra'
25+ NAME = 'Seqra Security-Focused Static Analyzer'
26+ URL = 'https://seqra.dev/'
27+
28+ def get_reports (self , file_path : str ) -> List [Report ]:
29+ """ Get reports from the given analyzer result file. """
30+
31+ return sarif .Parser ().get_reports (file_path )
Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+ <plist version =" 1.0" >
4+ <dict >
5+ <key >diagnostics </key >
6+ <array >
7+ <dict >
8+ <key >category </key >
9+ <string >unknown </string >
10+ <key >check_name </key >
11+ <string >seqra.java.spring.xss </string >
12+ <key >description </key >
13+ <string >Controller returns an untrusted unvalidated data </string >
14+ <key >issue_hash_content_of_line_in_context </key >
15+ <string >9912049596cf713fc0bdaee7280274d8 </string >
16+ <key >location </key >
17+ <dict >
18+ <key >col </key >
19+ <integer >1 </integer >
20+ <key >file </key >
21+ <integer >0 </integer >
22+ <key >line </key >
23+ <integer >18 </integer >
24+ </dict >
25+ <key >path </key >
26+ <array >
27+ <dict >
28+ <key >edges </key >
29+ <array >
30+ <dict >
31+ <key >end </key >
32+ <array >
33+ <dict >
34+ <key >col </key >
35+ <integer >1 </integer >
36+ <key >file </key >
37+ <integer >0 </integer >
38+ <key >line </key >
39+ <integer >18 </integer >
40+ </dict >
41+ <dict >
42+ <key >col </key >
43+ <integer >1 </integer >
44+ <key >file </key >
45+ <integer >0 </integer >
46+ <key >line </key >
47+ <integer >18 </integer >
48+ </dict >
49+ </array >
50+ <key >start </key >
51+ <array >
52+ <dict >
53+ <key >col </key >
54+ <integer >1 </integer >
55+ <key >file </key >
56+ <integer >0 </integer >
57+ <key >line </key >
58+ <integer >17 </integer >
59+ </dict >
60+ <dict >
61+ <key >col </key >
62+ <integer >1 </integer >
63+ <key >file </key >
64+ <integer >0 </integer >
65+ <key >line </key >
66+ <integer >17 </integer >
67+ </dict >
68+ </array >
69+ </dict >
70+ </array >
71+ <key >kind </key >
72+ <string >control </string >
73+ </dict >
74+ <dict >
75+ <key >depth </key >
76+ <integer >0 </integer >
77+ <key >kind </key >
78+ <string >event </string >
79+ <key >location </key >
80+ <dict >
81+ <key >col </key >
82+ <integer >1 </integer >
83+ <key >file </key >
84+ <integer >0 </integer >
85+ <key >line </key >
86+ <integer >17 </integer >
87+ </dict >
88+ <key >message </key >
89+ <string >Method entry marks "message" as $PARAM </string >
90+ <key >ranges </key >
91+ <array >
92+ <array >
93+ <dict >
94+ <key >col </key >
95+ <integer >1 </integer >
96+ <key >file </key >
97+ <integer >0 </integer >
98+ <key >line </key >
99+ <integer >17 </integer >
100+ </dict >
101+ <dict >
102+ <key >col </key >
103+ <integer >1 </integer >
104+ <key >file </key >
105+ <integer >0 </integer >
106+ <key >line </key >
107+ <integer >17 </integer >
108+ </dict >
109+ </array >
110+ </array >
111+ </dict >
112+ <dict >
113+ <key >depth </key >
114+ <integer >0 </integer >
115+ <key >kind </key >
116+ <string >event </string >
117+ <key >location </key >
118+ <dict >
119+ <key >col </key >
120+ <integer >1 </integer >
121+ <key >file </key >
122+ <integer >0 </integer >
123+ <key >line </key >
124+ <integer >18 </integer >
125+ </dict >
126+ <key >message </key >
127+ <string >Takes $PARAM data at "message" and ends up with $PARAM data at a local variable </string >
128+ <key >ranges </key >
129+ <array >
130+ <array >
131+ <dict >
132+ <key >col </key >
133+ <integer >1 </integer >
134+ <key >file </key >
135+ <integer >0 </integer >
136+ <key >line </key >
137+ <integer >18 </integer >
138+ </dict >
139+ <dict >
140+ <key >col </key >
141+ <integer >1 </integer >
142+ <key >file </key >
143+ <integer >0 </integer >
144+ <key >line </key >
145+ <integer >18 </integer >
146+ </dict >
147+ </array >
148+ </array >
149+ </dict >
150+ <dict >
151+ <key >depth </key >
152+ <integer >0 </integer >
153+ <key >kind </key >
154+ <string >event </string >
155+ <key >location </key >
156+ <dict >
157+ <key >col </key >
158+ <integer >1 </integer >
159+ <key >file </key >
160+ <integer >0 </integer >
161+ <key >line </key >
162+ <integer >18 </integer >
163+ </dict >
164+ <key >message </key >
165+ <string >The returning value is assigned a value with $PARAM data </string >
166+ <key >ranges </key >
167+ <array >
168+ <array >
169+ <dict >
170+ <key >col </key >
171+ <integer >1 </integer >
172+ <key >file </key >
173+ <integer >0 </integer >
174+ <key >line </key >
175+ <integer >18 </integer >
176+ </dict >
177+ <dict >
178+ <key >col </key >
179+ <integer >1 </integer >
180+ <key >file </key >
181+ <integer >0 </integer >
182+ <key >line </key >
183+ <integer >18 </integer >
184+ </dict >
185+ </array >
186+ </array >
187+ </dict >
188+ <dict >
189+ <key >depth </key >
190+ <integer >0 </integer >
191+ <key >kind </key >
192+ <string >event </string >
193+ <key >location </key >
194+ <dict >
195+ <key >col </key >
196+ <integer >1 </integer >
197+ <key >file </key >
198+ <integer >0 </integer >
199+ <key >line </key >
200+ <integer >18 </integer >
201+ </dict >
202+ <key >message </key >
203+ <string >Controller returns an untrusted unvalidated data </string >
204+ <key >ranges </key >
205+ <array >
206+ <array >
207+ <dict >
208+ <key >col </key >
209+ <integer >1 </integer >
210+ <key >file </key >
211+ <integer >0 </integer >
212+ <key >line </key >
213+ <integer >18 </integer >
214+ </dict >
215+ <dict >
216+ <key >col </key >
217+ <integer >1 </integer >
218+ <key >file </key >
219+ <integer >0 </integer >
220+ <key >line </key >
221+ <integer >18 </integer >
222+ </dict >
223+ </array >
224+ </array >
225+ </dict >
226+ </array >
227+ <key >type </key >
228+ <string >seqra </string >
229+ </dict >
230+ </array >
231+ <key >files </key >
232+ <array >
233+ <string >files/UserProfileController.java </string >
234+ </array >
235+ <key >metadata </key >
236+ <dict >
237+ <key >analyzer </key >
238+ <dict >
239+ <key >name </key >
240+ <string >seqra </string >
241+ </dict >
242+ <key >generated_by </key >
243+ <dict >
244+ <key >name </key >
245+ <string >report-converter </string >
246+ <key >version </key >
247+ <string >x.y.z </string >
248+ </dict >
249+ </dict >
250+ </dict >
251+ </plist >
You can’t perform that action at this time.
0 commit comments