Skip to content

Commit 7d8b5be

Browse files
authored
Fixes #117 (#147)
Adds number of results to the list-runs printout.
1 parent ec6cfc9 commit 7d8b5be

File tree

3 files changed

+275
-512
lines changed

3 files changed

+275
-512
lines changed

Cli/Program.cs

+60-32
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,11 @@ public static class AttackSurfaceAnalyzerCLI
197197

198198
static void Main(string[] args)
199199
{
200-
Logger.Setup();
200+
#if DEBUG
201+
Logger.Setup(true,false);
202+
#else
203+
Logger.Setup(false,false);
204+
#endif
201205
Strings.Setup();
202206

203207
string version = (Assembly
@@ -252,21 +256,41 @@ private static int RunConfigCommand(ConfigCommandOptions opts)
252256
{
253257
while (reader.Read())
254258
{
255-
string output = String.Format("{0} {1} {2} {3}",
256-
reader["timestamp"].ToString(),
257-
reader["version"].ToString(),
258-
reader["type"].ToString(),
259-
reader["run_id"].ToString());
260-
Log.Information(output);
261-
output = String.Format("{0} {1} {2} {3} {4} {5}",
262-
(int.Parse(reader["file_system"].ToString()) != 0) ? "FILES" : "",
263-
(int.Parse(reader["ports"].ToString()) != 0) ? "PORTS" : "",
264-
(int.Parse(reader["users"].ToString()) != 0) ? "USERS" : "",
265-
(int.Parse(reader["services"].ToString()) != 0) ? "SERVICES" : "",
266-
(int.Parse(reader["certificates"].ToString()) != 0) ? "CERTIFICATES" : "",
267-
(int.Parse(reader["registry"].ToString()) != 0) ? "REGISTRY" : "");
268-
Log.Information(output);
269-
259+
Log.Information("RunId:{2} Timestamp:{0} AsaVersion:{1} ",
260+
reader["timestamp"],
261+
reader["version"],
262+
reader["run_id"]);
263+
List<RESULT_TYPE> resultTypes = new List<RESULT_TYPE>();
264+
if (int.Parse(reader["file_system"].ToString()) != 0)
265+
{
266+
resultTypes.Add(RESULT_TYPE.FILE);
267+
}
268+
if (int.Parse(reader["ports"].ToString()) != 0)
269+
{
270+
resultTypes.Add(RESULT_TYPE.PORT);
271+
}
272+
if (int.Parse(reader["users"].ToString()) != 0)
273+
{
274+
resultTypes.Add(RESULT_TYPE.USER);
275+
}
276+
if (int.Parse(reader["services"].ToString()) != 0)
277+
{
278+
resultTypes.Add(RESULT_TYPE.SERVICES);
279+
}
280+
if (int.Parse(reader["certificates"].ToString()) != 0)
281+
{
282+
resultTypes.Add(RESULT_TYPE.CERTIFICATE);
283+
}
284+
if (int.Parse(reader["registry"].ToString()) != 0)
285+
{
286+
resultTypes.Add(RESULT_TYPE.REGISTRY);
287+
}
288+
289+
foreach (RESULT_TYPE type in resultTypes)
290+
{
291+
int num = DatabaseManager.GetNumResults(type, reader["run_id"].ToString());
292+
Log.Information("{0} : {1}", type, num);
293+
}
270294
}
271295
}
272296
}
@@ -415,33 +439,37 @@ public static void WriteScanJson(int ResultType, string BaseId, string CompareId
415439
string BaseString = "";
416440
CHANGE_TYPE ChangeType = (CHANGE_TYPE)int.Parse(reader["change_type"].ToString());
417441

418-
if (ChangeType == CHANGE_TYPE.CREATED || ChangeType == CHANGE_TYPE.MODIFIED)
442+
using (var inner_cmd = new SqliteCommand(GET_SERIALIZED_RESULTS.Replace("@table_name", Helpers.ResultTypeToTableName(ExportType)), DatabaseManager.Connection))
419443
{
420-
var inner_cmd = new SqliteCommand(GET_SERIALIZED_RESULTS.Replace("@table_name", Helpers.ResultTypeToTableName(ExportType)), DatabaseManager.Connection);
421-
inner_cmd.Parameters.AddWithValue("@run_id", reader["compare_run_id"].ToString());
422-
inner_cmd.Parameters.AddWithValue("@row_key", reader["compare_row_key"].ToString());
423-
using (var inner_reader = inner_cmd.ExecuteReader())
444+
if (ChangeType == CHANGE_TYPE.CREATED || ChangeType == CHANGE_TYPE.MODIFIED)
424445
{
425-
while (inner_reader.Read())
446+
inner_cmd.Parameters.Clear();
447+
inner_cmd.Parameters.AddWithValue("@run_id", reader["compare_run_id"].ToString());
448+
inner_cmd.Parameters.AddWithValue("@row_key", reader["compare_row_key"].ToString());
449+
using (var inner_reader = inner_cmd.ExecuteReader())
426450
{
427-
CompareString = inner_reader["serialized"].ToString();
451+
while (inner_reader.Read())
452+
{
453+
CompareString = inner_reader["serialized"].ToString();
454+
}
428455
}
429456
}
430-
}
431-
if (ChangeType == CHANGE_TYPE.DELETED || ChangeType == CHANGE_TYPE.MODIFIED)
432-
{
433-
var inner_cmd = new SqliteCommand(GET_SERIALIZED_RESULTS.Replace("@table_name", Helpers.ResultTypeToTableName(ExportType)), DatabaseManager.Connection);
434-
inner_cmd.Parameters.AddWithValue("@run_id", reader["base_run_id"].ToString());
435-
inner_cmd.Parameters.AddWithValue("@row_key", reader["base_row_key"].ToString());
436-
using (var inner_reader = inner_cmd.ExecuteReader())
457+
if (ChangeType == CHANGE_TYPE.DELETED || ChangeType == CHANGE_TYPE.MODIFIED)
437458
{
438-
while (inner_reader.Read())
459+
inner_cmd.Parameters.Clear();
460+
inner_cmd.Parameters.AddWithValue("@run_id", reader["base_run_id"].ToString());
461+
inner_cmd.Parameters.AddWithValue("@row_key", reader["base_row_key"].ToString());
462+
using (var inner_reader = inner_cmd.ExecuteReader())
439463
{
440-
BaseString = inner_reader["serialized"].ToString();
464+
while (inner_reader.Read())
465+
{
466+
BaseString = inner_reader["serialized"].ToString();
467+
}
441468
}
442469
}
443470
}
444471

472+
445473
CompareResult obj;
446474
switch (ExportType)
447475
{

0 commit comments

Comments
 (0)