11package vulnerabilities ;
22
3+ import dev .aikido .agent_api .context .User ;
34import dev .aikido .agent_api .vulnerabilities .Attack ;
45import dev .aikido .agent_api .vulnerabilities .Vulnerabilities ;
56import org .junit .jupiter .api .Test ;
@@ -22,9 +23,10 @@ public void testAttackConstructor() {
2223 metadata .put ("userId" , "123" );
2324 String payload = "SELECT * FROM users WHERE id = 1" ;
2425 String stack = "Stack trace here" ;
26+ User user = new User ("id" , "name" , "1.1.1.1" , 0 );
2527
2628 // Act
27- Attack attack = new Attack (operation , vulnerability , source , pathToPayload , metadata , payload , stack );
29+ Attack attack = new Attack (operation , vulnerability , source , pathToPayload , metadata , payload , stack , user );
2830
2931 // Assert
3032 assertEquals (operation , attack .operation );
@@ -34,8 +36,9 @@ public void testAttackConstructor() {
3436 assertEquals (metadata , attack .metadata );
3537 assertEquals (payload , attack .payload );
3638 assertEquals (stack , attack .stack );
39+ assertEquals (user , attack .user );
3740 assertEquals (
38- "Attack{operation='SQL Injection', kind='sql_injection', source='User Input', pathToPayload='/api/vulnerable', metadata={userId=123}, payload='SELECT * FROM users WHERE id = 1', stack='Stack trace here'}" ,
41+ "Attack{operation='SQL Injection', kind='sql_injection', source='User Input', pathToPayload='/api/vulnerable', metadata={userId=123}, payload='SELECT * FROM users WHERE id = 1', stack='Stack trace here', user=id }" ,
3942 attack .toString ()
4043 );
4144 }
@@ -50,9 +53,10 @@ public void testAttackWithEmptyMetadata() {
5053 Map <String , String > metadata = new HashMap <>(); // Empty metadata
5154 String payload = "<script>alert('XSS');</script>" ;
5255 String stack = "Stack trace here" ;
56+ User user = new User ("123" , "name" , "1.1.1.1" , 0 );
5357
5458 // Act
55- Attack attack = new Attack (operation , vulnerability , source , pathToPayload , metadata , payload , stack );
59+ Attack attack = new Attack (operation , vulnerability , source , pathToPayload , metadata , payload , stack , user );
5660
5761 // Assert
5862 assertEquals (operation , attack .operation );
@@ -63,7 +67,7 @@ public void testAttackWithEmptyMetadata() {
6367 assertEquals (payload , attack .payload );
6468 assertEquals (stack , attack .stack );
6569 assertEquals (
66- "Attack{operation='XSS Attack', kind='sql_injection', source='User Input', pathToPayload='/api/vulnerable', metadata={}, payload='<script>alert('XSS');</script>', stack='Stack trace here'}" ,
70+ "Attack{operation='XSS Attack', kind='sql_injection', source='User Input', pathToPayload='/api/vulnerable', metadata={}, payload='<script>alert('XSS');</script>', stack='Stack trace here', user=123 }" ,
6771 attack .toString ()
6872 );
6973 }
0 commit comments