|GUI Web - Dashboard|
During engagements, the amount of information generated is massive.
Keeping track of all the vulnerabilities and associated assets represents a challenge for the everyone.
Since day one we have been designing a tool that helps us in our daily tasks as Penetration Testers, Project Managers and for our Clients.
Changes you will see are more UX/UI related:
- D3 Includes an impeccable display and eye-catching graphics
- Vulnerability Status Report
- Command run user/host identification
- Vulnerability Statistics
- Optimisation Refactor
As always, for us quality is of the utmost importance. After long deliberations we decided to change-up our entire persistence layer and we did an entirely fresh rewrite.
|Status Report View|
- Data Mapper pattern implementation
This allow a flexible and scalable design that permits more model object types, and more operations over them!
- Model Object composite
Well, our old model sucked, it was too coupled and lacked being able to make modifications. We in turn implemented the object composite object and now we can create new types of objects.
- Reducing controllers responsibilities
Faraday has an MVC architecture, and part of the MVC is the C of Controller. Our main controller had way too many responsibilities. We cut it down quite a bit (about a thousand lines, 50%).
- Introduced a new python launcher with upgrade capabilities, please give it a try while running ./faraday.py --update
This have been quite a challenge. A big software engineering challenge. How to refactor our persistence layer and move towards a well defined pattern?
Well, we had to do several things from scratch.
Changing our data model in order to use the widely implemented composite pattern was the very beginning on our refactor as we walked straight into the lions mouth while rewriting the persistence layer.
We found limitations in the data access strategy, and implemented the Data Mapper pattern. The idea is that you have mapping objects that translate our model objects into persistable objects.
Using TDD as our daily testing / development approach is challenging but, what else than excellence is there for us?
|Top Services View|
We hope you like it!