Am I reading the correct user guide?
Am I reading the correct user guide?
Some connectors on the Vulcan help center offer multiple user guides tailored to different setups and versions.
To open the correct user guide for your setup and version, go to the connector's setup page and click How to connect.
Connector details
About Cycode
Cycode delivers a complete Application Security Posture Management (ASPM) platform that can replace or integrate with existing testing tools. It provides visibility, prioritization, and remediation of vulnerabilities at scale.
Support scope
Supported products | SAST, SCA, Secrets |
Category | Application Security - SCA + SAST |
Ingestion type | Assets and vulnerabilities |
Ingested asset type(s) | Cycode’s repositories are mapped into Vulcan’s Code Projects and their detected SAST, SCA, and Secrets violations. |
Integration type | UNI directional (data is transferred from the Connector to the Vulcan Platform in one direction) |
Supported version and type | SaaS (latest) |
Connector Setup
Prerequisites and user permissions
Before you begin configuring the Connector, make sure you have the following:
API user (member) with Viewer permission.
API Client ID and Secret ID
Creating a user with the appropriate permissions
To create a user with the necessary permissions, follow these steps:
Go to the Cycode platform > Settings > Members.
Click Invite Members.
Set the user details with a Viewer role/permission.
Send the invitation to create the user.
Generating client ID and secret
To generate the client ID and client secret, follow these steps:
Go to the Cycode platform.
Click on the generated user icon and select Personal Access Token.
Click New Access Token.
Provide a name for the access token and click Create.
Copy the client ID and client secret to use later in the connector's configuration.
Configuring the Cycode connector
Login to the Vulcan ExposureOS platform and go to Connectors > Add a Connector
Click on the Cycode icon.
Set up the Connector as follows:
If a gateway is required, refer to the Vulcan Gateway guide to configure the gateway before proceeding. If not, continue following the steps in this guide.
Enter the Client ID and Secret you generated earlier.
Example:
Data pulling configuration:
This configuration has dynamic settings tailored to the specific connector and integration type. Below are the configurations relevant to this connector.
Check the data you want to ingest into the Vulcan ExposureOS platform (Secrets, SAST, and SCA)
Asset Retention: Configure the retention period for inactive assets based on their last seen date. If an asset has not been detected or updated in a scan within the specified days, it will be automatically removed from the Vulcan ExposureOS platform. This ensures your asset inventory stays current and relevant.
Select the asset statuses the Vulcan ExposureOS platform should archive when detected during synchronization with Cycode.
Example:
Click the Test Connectivity button to verify that Vulcan Cyber can connect to your Cycode instance.
Notes:
A successful connectivity test confirms that the platform can connect to the Cycode instance. However, it does not guarantee that the synchronization process will succeed, as additional syncing or processing issues may arise.
Example:If the connectivity test fails, an error message with details about the issue will appear. Click the arrow next to the error message for more information about the exact error.
Example:
Connector scheduling: Set the connector's sync time and days. By default, all days are selected.
Example:Click Create to start syncing the new connector, or Save Changes if editing an existing connector.
Allow some time for the sync to complete. Then, you can review the sync status on the Connectors main page or under Connector sync logs on the connector's specific setup page.
Example:To confirm the sync is complete, navigate to the Connectors page. The sync is complete once the Cycode icon shows Connected.
Example:
Cycode in the Vulcan platform
Viewing findings
To view findings (instances) ingested by the Cycode connector:
Go to the Findings page.
Click on Filter and set the condition to Vulnerability > Source > is > Cycode.
Example:
You can also:
Filter by Business Group and add more filters to narrow your search further.
Filter by Connector-specific parameters (also known as Native Parameters) if available.
Click on a finding for more details.
Viewing vulnerabilities
To view vulnerabilities ingested by the Cycode connector:
Go to the Vulnerabilities page.
Click on Filter and set the condition to Vulnerability > Source > is > Cycode.
Example:
You can also:
Filter by Business Group and add more filters to narrow your search further.
Filter by Connector-specific parameters (also known as Native Parameters) if available.
Click on a vulnerability for more details.
Viewing assets
To view assets ingested by the Cycode connector:
Go to the Assets page.
Click on Filter and set the condition to Asset > Source > is > Cycode.
Example:
You can also:
Filter by Business Group and add more filters to narrow your search further.
Filter by Connector-specific parameters (also known as Native Parameters) if available.
Click on an asset for more details.
Taking action on vulnerabilities and assets
To take remediation action on vulnerabilities and assets ingested by Cycode:
Go to the Vulnerabilities or Assets Page.
Use the Filter to view the assets/vulnerabilities by source. You can always filter by Business Group and add more filters to narrow your search.
Select the relevant vulnerabilities/assets from the results list.
Click on Take Action to proceed with remediation or further actions.
Example:
Automating remediation actions on vulnerabilities
Use Vulcan Playbooks to create automation and remediate vulnerabilities at scale.
Data Mapping
The Vulcan Platform integrates with Cycode through an API that pulls relevant vulnerability and asset data and maps it to the platform's pages and fields. The vulnerabilities and/or assets data is ingested from the vendor platform and mapped into the Vulcan ExposureOs platform.
Code Project data mapping
Asset data
Cycode API field | Cycode UI field | Vulcan field |
scm_repository_id | - | Asset Uniqueness criteria |
scm_repository_name | Repository name | Code Project Name (name) |
scm_repository_language | primary language | Code Project Language (language) |
scm_repository_scm_created | first seen | Code Project First Seen (first_seen) |
scm_repository_scm_modified | last scan | Code Project Last report (last_seen) |
Source - Repo-Org scm_organization_scm_provider Organization - Repo-Org scm_organization_name Code Repo Owners - Repo-User scm_member_name Technologies - Repo-Tech sdlc_tool_name Visibility - scm_repository_is_private URL link - scm_repository_url | Location (Source, Organization) | Code Project details(added_data)
|
Labels - Repo-Label label_label_name | Labels | Code Project Tags - Vendor’s tags (tags) |
Repo-User scm_member_name Organization - Repo scm_organization_name | repo owners repo organization | Code Project Tags - Additional (tags) |
detection_details.branch_name + detection_detection_details.file_name | file name (In this case, Secrets are also SAST) | Asset codebase - Source (SAST) (sast_file_name) |
detection_detection_details.line | file location (In this case, Secrets are also SAST) | Asset codebase - Location (SAST) (sast_file_location) |
detection_detection_details.package_name | Package name | Asset libraries - Name (SCA) (component_name) |
detection_detection_details.package_version | Package version | Asset libraries - Version (SCA) (component_version) |
Unique vulnerability data
Cycide API field | Cycode UI field | Vulcan field |
SCA: detection_detection_details.vulnerability_id
SAST + Secrets: detection_source_policy_name | - | Unique Vulnerability uniqueness criteria |
SCA: detection_detection_details.vulnerability_id
SAST + Secrets: detection_source_policy_name | SCA - CVE ID
Secret: | Vulnerability title (title) |
detection_severity Info, Low , Medium, High, Critical | Max risk score | Vulnerability score (cvss_score) |
detection_category | Category | Vulnerability details(added_data) |
detection_detection_details.vulnerability_id |
| CVE/S (report_item_cve) |
detection_detection_details.cwe | CWE | CWE (cwe) |
Finding data (asset-instance connection)
Cycode API field | Cycode UI field | Vulcan field |
detection_id | - | Vulnerability instance uniqueness criteria |
detection_created_date | Detected at | Vulnerability instance First seen (first_seen) |
detection_updated_date | last detected | Vulnerability instance Last seen (last_seen) |
SDLC stage - detection_correlation_message description - detection_correlation_message Location - detection_detection_details.line Security Tool - detection_security_tools Category - detection_category
SCA:
Secrets:
| description SDLC stage Location Security Tool Category
SCA:
SECRET: | Vulnerability instance details(added_data) |
Vulnerability status mapping
Findings (instances) ingested from connectors are mapped into the Vulcan platform by status.
Based on
detection_status
field.
Cycode status | Vulcan status |
Open (In the API: | Vulnerable |
Resolved (In the API: | Fixed |
Ignored (In the API: | False positive (ignored) |
The statuses are mapped into the Findings page > Show <status> view:
Vulnerability score mapping
Risk scores ingested from connectors are converted into numeric scores and mapped into the Vulcan platform risk score field, eventually impacting the contextualized risk calculation.
Based on the
detection_severity
field
Cycode score | Vulcan score |
Critical | 10 |
High | 7 |
Medium | 5 |
Low | 3 |
Info | 0 |
The scores are mapped into the Score field of the Vulnerability details:
Status update Mechanisms
Every day, the Vulcan Platform syncs with the vendor's platform to receive updates on existing vulnerabilities and assets and to retrieve new ones.
The table below lists how the status update mechanism works in the Cycode for the vulnerabilities and assets in the Vulcan Platform.
Status change | When? |
The asset is archived | - Asset not seen for X days according to "Last Seen" - Asset status on the connector's side indicates irrelevancy ( |
The vulnerability instance status changes to "Fixed" | - If the vulnerability no longer appears in the scan findings - Vulnerability status on the connector's side changes to |
Note: Asset or vulnerability updates on the vendor side are reflected on the Vulcan Platform only on the next scheduled connector sync (the next day).
Support limitations and expected behavior
The integration between Vulcan and Cycode currently supports SCA, SAST, and Secrets.
API endpoints in use
API version: Undeclared in Cycdoe
API | Use in Vulcan | Permission required | Test connection call |
Auth | Viewer | Yes | |
Generate report | Viewer | No | |
Get Reports Status | Viewer | No | |
Get Reports Data | Viewer | No |
Data Validation
This section shows how to validate and compare data between Vulcan ExposureOS and the Cycode platform.
Matching Asset Count
Objective: Ensure the number of repositories (assets) in Cycode matches the corresponding assets in Vulcan.
In Cycode:
Go to Inventory > Repositories.
The total number of repositories is displayed on the top right.
Example:
In Vulcan:
Each repository in Cycode is ingested as an asset into the Vulcan platform.
Go to Assets and filter by connector (Set
Where → Asset → Connector
to Cycode).The filtered list in Vulcan should match (or closely align with) the number of repositories in Cycode.
The total number of ingested repositories/assets is displayed at the top left of the result list.
Example:
Validations if an asset is not present in Vulcan:
Archive by date: Ensure the asset is not archived in Vulcan based on an outdated last-seen date (by
scm_repository_scm_modified
).Archive by status: If the asset is no longer present or valid, confirm that it was removed or deleted.
Data pulling configuration: Verify that the relevant data-pulling configurations are correctly set on the connectors setup page. Make sure to click Save Changes if you modify the connector's setup.
Matching vulnerabilities count
Objective: Ensure that vulnerabilities across SCA, SAST, and Secrets categories in Cycode are accurately reflected in Vulcan.
Matching SCA entities
In Cycode:
Go to Violation > SCA.
Group the results by Vulnerability ID and note the number of IDs you see.
Make sure of the following:No Filters: Ensure no additional filters (e.g., date, severity) are applied when generating reports or viewing data.
Full Risk Score Range: To ensure all vulnerabilities are included, use the entire risk score range (0–100).
Include All Statuses: Sum vulnerabilities across all statuses (e.g., Open, Resolved, Ignored).
Take note of the count of Vulnerability IDs (Open violations):
Group the results by Policy Name.
By default, the filtered status is "Open". Take note of the number of vulnerability IDs under this status. In this example, it's
383
.
Sum Open and Resolved statuses; filter the status also by Resolved and note the number of vulnerability IDs. In this example, there are
2
.
Add the count of Open to the Resolved vulnerability Ids; in this example case, it would be383 + 2 = 385
(total count of vulnerabilities).
Group the results by Policy Name and take note of the total count. In this case, it is
2
.
Subtract 1 from the total and add this to the total count of vulnerabilities.
In this example case, it would be:
2 Policies - 1 = 1 policy
385 (total count of vulns) + 1 = 386
This adjustment accounts for all violations grouped under the "vulnerability found in dependency" policy.
In Vulcan:
Go to Vulnerabilities and filter by Cycode native data (Set
Cycode → Vulnerabilities → Category
to SCA).
Based on the equation above, the results should show386
vulnerabilities in this case. The total SCA vulnerability count in Vulcan should match the sum you derived in Cycode.
Matching SAST entities
In Cycode:
Go to Violation > SAST.
Make sure of the following:No Filters: Ensure no additional filters (e.g., date, severity) are applied when generating reports or viewing data.
Full Risk Score Range: To ensure all vulnerabilities are included, use the entire risk score range (0–100).
Include All Statuses: Sum vulnerabilities across all statuses (e.g., Open, Resolved, Ignored).
Group the results by Policy Name. By default, the filtered status is "Open". Take note of the number of vulnerability IDs under this status. In this example, it's
100
.
Sum Open and Resolved statuses; filter the status also by Resolved and note the number of vulnerability IDs. In this example, there is none.
The total is100 + 0 = 100
In Vulcan:
Go to Vulnerabilities and filter by Cycode native data (Set
Cycode → Vulnerabilities → Category
to SAST).
Based on the example above, the results should show
100
vulnerabilities in this case, matching the sum in Cycode.
Validations if vulnerability is not present in Vulcan:
No asset has this vulnerability: If the asset associated with the vulnerability does not exist in Vulcan (e.g., archived, filtered out, or never ingested), the vulnerability will not appear in Vulcan.
Data-pulling configuration: The vulnerability may belong to a category that is not being fetched. For example, if the connector is configured to retrieve only SAST data but you are looking for a Secrets-related vulnerability, it will not be ingested into Vulcan.
Matching Secrets count
In Cyncode:
Due to API limitations in Cyncode, all secrets fall under a single vulnerability category called “Secrets detection.” You cannot group by policy name in Cycode for secrets.
In Vulcan:
Validations if a secret is not present in Vulcan:
No asset has this vulnerability: If the asset associated with the vulnerability does not exist in Vulcan (e.g., archived, filtered out, or never ingested), the vulnerability will not appear in Vulcan.
Data-pulling configuration: The vulnerability may belong to a category that is not being fetched. For example, if the connector is configured to retrieve only SAST data but you are looking for a Secrets-related vulnerability, it will not be ingested into Vulcan.
Matching Findings ("Violations")
Objective: Validate and compare the number of findings between the vendor’s platform and Vulcan, ensuring alignment across categories (SAST, SCA, and Secrets).
Matching SAST violations
In Cycode:
Go to Discovery and run the SAST query (Violation > Category > Equals > SAST).
Make sure of the following:No Filters: Ensure no additional filters (e.g., date, severity) are applied when generating reports or viewing data.
Full Risk Score Range: To ensure all vulnerabilities are included, use the entire risk score range (0–100).
Include All Statuses: Sum vulnerabilities across all statuses (e.g., Open, Resolved, Ignored).
Download the generated CVS.
Open the CSV and note the total number of violations (findings).
In Vulcan:
Go to Findings and filter by Cycode native data (Set
Cycode → Findings → Category
to SAST). Each violation is considered a finding.
Matching SCA violations
In Cycode:
Go to Discovery and run the SCA query (Violation > Category > Equals > SCA).
Make sure of the following:No Filters: Ensure no additional filters (e.g., date, severity) are applied when generating reports or viewing data.
Full Risk Score Range: To ensure all vulnerabilities are included, use the entire risk score range (0–100).
Include All Statuses: Sum vulnerabilities across all statuses (e.g., Open, Resolved, Ignored).
Download the generated CVS.
Open the CSV and note the total number of violations (findings).
In Vulcan:
Go to Findings and filter by Cycode native data (Set
Cycode → Findings → Category
to SCA). Each violation is considered a finding.
Matching secret violations
In Cycode:
Go to Discovery and run the Secret Detection query (Violation > Category > Equals > SecretDetection).
Make sure of the following:No Filters: Ensure no additional filters (e.g., date, severity) are applied when generating reports or viewing data.
Full Risk Score Range: To ensure all vulnerabilities are included, use the entire risk score range (0–100).
Include All Statuses: Sum vulnerabilities across all statuses (e.g., Open, Resolved, Ignored).
Download the generated CVS.
Open the CSV and note the total number of secrets.
In Vulcan:
Go to Findings and filter by Cycode native data (Set
Cycode → Findings → Category
to Secrets).Set the status to All.
If a violation/secret is marked as fixed in the vendor’s platform, it will appear under the Fixed screen in Vulcan.
If a violation/secret is marked as ignored in the vendor’s platform, it will appear under the Acknowledged screen in Vulcan.