Fluid Attacks' platform allows you to identify the statuses of your group's assets in the Surface section. The platform also informs you of the security of third-party components and generate a software bill of materials (SBOM) in a new section named Supply chain.
Both sections provide a comprehensive overview of the target of evaluation (ToE), which refers to a specific part of a system or product being tested for security vulnerabilities. It defines the boundary within which the evaluation is conducted. On Fluid Attacks' platform, the ToE is dynamically generated based on the repositories and environments defined by your team in the Scope section.
The Surface section is further organized into four distinct sections.
The following are, in short, the components of your ToE that each section of Surface provides:
- Lines: The code files present in the added Git repositories
- Inputs: The environments designated for testing, such as URLs/IPs
- Ports: The ports associated with the IP addresses to test
- Languages: The different programming languages utilized within your codebase
Lines
A line ToE represents a file in the source code that is analyzed from active roots registered in Git Roots. These ToEs are automatically created and updated based on cloning results. A new line ToE is generated whenever a new file is added, and it is updated when the file length changes or the file is removed. Further, line ToEs persist even if their associated root is deactivated.
The Lines section on the platform breaks down the root directories and the files within them, representing the part of the ToE that is source code. The latter is evaluated by Fluid Attacks with methodologies such as static application security testing (SAST) and secure code review.
Lines shows a table providing the following information (to show or hide table columns, use the Columns filter):
- Root: Name of the code repository that was added in Git Roots
- Filename: Path of the file within the code repository
- LOC: Total number of LOC (lines of code) in the file
- Status: Indicates whether the file is vulnerable or safe
- Modified date: The last time the file was modified
- Last commit: The most recent commit identified modifying the file
- Last author: The last author who modified the file
- Seen at: The date the file was added to the ToE
- Sorts Priority Factor: A column shown to Fluid Attacks staff only, it shows the probability of a file containing vulnerabilities on the basis of a machine learning model
- Be present: Confirms if the file exists in the repository
Several filters are available in the Lines section to help you find information quickly. Access these filters by clicking on the Filters button.
Next to the button you can see the specific filters that have been applied, if any. To clear filters, simply click on the X button next to them.
Another way to clear filters is by clicking on Cancel in the right-side bar where you pick the filters.
An input ToE represents any accessible resource from an analyzed environment. It has a component (URI) and one entry point (access identifier or hint) to describe a target of evaluation. Input ToEs must be added or modified manually by Fluid Attacks' security analysts but are removed automatically if they are associated with inactive roots and no vulnerabilities are linked to the ToE.
The Inputs section shows a table providing the following information (to show or hide table columns, use the Columns filter):
- Root: Name of the code repository to which the environment is associated, as specified in the Scope section
- Component: The URLs/IPs associated with the environment
- Entry point: Specific input field within the component
- Status: Indicates whether the component is vulnerable or safe
- Seen at: The date the component was added
- Be present: Confirms if the file or document exists in the repository
Various filter options are available in the Inputs section. Click on the Filters button to access these options. (Read the instructions to clear filters above on this page.)
Ports
A port ToE represents a valid port (0-65595) where the application is ready to be tested. It has an IP root and the port. IP roots and port TOEs manually are added or modified manually and are currently not removed.
The Ports section of Surface displays the ports associated with your IP address. This section will only contain content if your group's Service is classified as Black (meaning that only black-box testing is performed).
The Ports section shows a table providing the following information (to show or hide table columns, use the Columns filter):
- Root: The nickname your organization has given the IP root added in the Scope section
- Address: The IP address
- Port: The port that is under evaluation
- Status: Indicates whether the port is safe or vulnerable
- Seen at: The date the port was added
- Be present: Confirms if the IP address is present
Several filters are available in the Ports section. Access these filters by clicking on the Filters button.
Languages
This section of Surface shows the programming languages used in your repositories added in Scope. To know which languages are supported by Fluid Attacks' vulnerability scanning, read the page Supported languages, frameworks and files in SAST. Bear in mind that Advanced plan users benefit from greater programming language support, as the hacking team covers languages that the scanner does not support.
The Languages section shows a table providing the following information:
- Language: The specific programming language detected in your source code
- Lines of code: Total lines of code written in the language in question
- Percentage: The percentage of usage of the language throughout the project
General functions of Surface
The following functions are available in the Lines, Inputs and Ports sections.
The Export button allows you to download the information in the section in CSV format.
Columns filter
You can show or hide columns in the table by clicking on the Columns button and then toggling the on/off button in front of each column name.