Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ representative at an online or offline event.

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
[engineering@phylum.io](mailto:engineering@phylum.io).
[dl-phylum-engineering@veracode.com](mailto:dl-phylum-engineering@veracode.com).
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
Expand Down
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing

This guide is written for both internal contributors (Phylum, Inc. employees) and external/community contributors.
This guide is written for both internal contributors (Veracode, Inc. employees) and external/community contributors.
Community contributions are possible by submitting issues.

## Types of Contributions
Expand Down Expand Up @@ -56,8 +56,8 @@ is expected to treat other people with respect and more generally to follow the

## Local Development

Internal contributors (Phylum, Inc. employees) are able to contribute with content submissions and pull requests (PRs).
Here's how to set up the Phylum `documentation` repository for local development.
Internal contributors (Veracode, Inc. employees) are able to contribute with content submissions and pull requests
(PRs). Here's how to set up the Phylum `documentation` repository for local development.

1. Clone the `phylum-dev/documentation` repo locally

Expand Down Expand Up @@ -123,4 +123,4 @@ Docusaurus `plugin-client-redirects` plugin configuration in the larger `site/do
If there are any outstanding questions about contributing to the Phylum documentation,
they can be asked on the issue tracker: <https://github.com/phylum-dev/documentation/issues>.

As an alternative, you can also email <support@phylum.io>.
As an alternative, you can also email `phylum@veracode.com`.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The rendered form of the documentation can be viewed at the <https://docs.phylum

## License

Copyright (C) 2023 Phylum, Inc.
Copyright (C) 2025 Veracode, Inc.

All rights reserved.

Expand Down Expand Up @@ -45,6 +45,6 @@ Join us on the [Phylum Community Discord][discord_invite]!

## Questions/Issues

Please contact Phylum with any questions or issues.
Please contact Veracode with any questions or issues.

Email: <support@phylum.io>
Email: `phylum@veracode.com`
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ Phylum was founded by a team of security researchers at heart, and we take the s
## Reporting a Vulnerability

We love coordinated disclosure!
Please email [security@phylum.io](mailto:security@phylum.io) to start a conversation!
Please email [dl-phylum-engineering@veracode.com](mailto:dl-phylum-engineering@veracode.com) to start a conversation!
We'll coordinate a secure communication mechanism first, then evaluate the reported issue(s)
and keep you apprised each step of the way.
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added assets/gh_app/monitoring_options.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
Binary file added assets/gh_app/settings_select_repo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/gh_app_settings_pro.png
Diff not rendered.
Binary file removed assets/gh_app_settings_select_repo.png
Diff not rendered.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
45 changes: 21 additions & 24 deletions docs/integrations/github_app.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,19 @@ Phylum provides a GitHub App to get your current and future repositories monitor

* Ability to install Apps in GitHub
* [Phylum account linked to GitHub](../knowledge_base/federate_account.md)
* Phylum Account set to Pro, if additional functionality is desired

## Installation Walkthrough

1. Go to the [Phylum App on the GitHub Marketplace](https://github.com/marketplace/phylum-io).
2. Click to install the free Phylum App. Be sure to select the intended account under the Account drop-down.

![GitHub App initial install screen](../../assets/gh_app_install_1.png)
![GitHub App initial install screen](../../assets/gh_app/install_1.png)

3. Fill in or edit account billing information.
4. Click the button to "Complete order and begin installation"
5. Choose **All** (default) or **Select** repositories and click to install. This setting controls which repositories _can be_ monitored by Phylum (i.e., visibility). Configuring repositories to be monitored [is a different step](#monitoring).

![GitHub App install confirmation screen](../../assets/gh_app_install_2.png)
![GitHub App install confirmation screen](../../assets/gh_app/install_2.png)

6. After installation, you will be redirected to the Phylum application to configure monitoring.
7. If you are a new user or are not logged in, select the GitHub button at the login screen.
Expand All @@ -32,17 +31,17 @@ Phylum provides a GitHub App to get your current and future repositories monitor

Once installed, the GitHub app can be managed through the settings menu available from the [Phylum UI](https://app.phylum.io). Click on your user icon and select the `GitHub App Settings` option from the dropdown menu:

![Phylum GitHub app settings dropdown](../../assets/gh_app_settings_menu.png)
![Phylum GitHub app settings dropdown](../../assets/gh_app/settings_menu.png)

### Monitoring

Monitoring can be activated or paused by selecting the toggle for a given repository. When first activated, a Phylum Project will be created and any supported lockfiles in the default branch will be analyzed.

![GitHub app settings - select repo](../../assets/gh_app_settings_select_repo.png)
![GitHub app settings - select repo](../../assets/gh_app/settings_select_repo.png)

> **NOTE:** [Phylum PRO accounts](https://www.phylum.io/pricing) can select to monitor all existing and future repositories!
> **NOTE:** Phylum accounts can also select to monitor all existing and future repositories!
>
> ![GitHub app settings - PRO](../../assets/gh_app_settings_pro.png)
> ![GitHub app settings - PRO](../../assets/gh_app/monitoring_options.png)

For every update to the default branch or a pull request for a monitored repository, the GitHub app will automatically check the dependencies in [supported lockfiles](../cli/supported_lockfiles.md).

Expand All @@ -52,11 +51,11 @@ When the default branch is updated, for example when a pull request is merged, t

If an issue causes the job to fail the [defined policy], the GitHub check for the commit will also fail. The details of the failure will be visible in the Phylum analysis job. A link to the analysis job is always available from the bottom of the check details in GitHub.

![GitHub check details showing view more details on Phylum.io link](../../assets/gh_app_check_view_job_link.png)
![GitHub check details showing view more details on Phylum.io link](../../assets/gh_app/check_view_job_link.png)

#### Pull Requests

![GitHub app status check in PR](../../assets/gh_app_status_check_running.png)
![GitHub app status check in PR](../../assets/gh_app/status_check_running.png)

For Pull Requests, the dependencies of the PR branch are compared against the dependencies of the main branch. If the dependencies have changed, the dependencies of the PR branch are submitted for analysis. If the dependencies have not changed, the GitHub check will pass without creating an analysis in Phylum.

Expand All @@ -70,41 +69,39 @@ If the Phylum analysis fails the [defined policy] because of an issue related to

Phylum OSS Supply Chain Risk Analysis - FAILED

![GitHub app PR comment - failed](../../assets/gh_app_pr_comment_failed.png)
![GitHub app PR comment - failed](../../assets/gh_app/pr_comment_failed.png)

---

Phylum OSS Supply Chain Risk Analysis - INCOMPLETE WITH FAILURE

![GitHub app PR comment - incomplete with failure](../../assets/gh_app_pr_comment_incomplete_failure.png)
![GitHub app PR comment - incomplete with failure](../../assets/gh_app/pr_comment_incomplete_failure.png)

---

Phylum OSS Supply Chain Risk Analysis - INCOMPLETE

![GitHub app PR comment - incomplete](../../assets/gh_app_pr_comment_incomplete.png)
![GitHub app PR comment - incomplete](../../assets/gh_app/pr_comment_incomplete.png)

---

### Groups

> **NOTE:** Only [Phylum PRO accounts](https://www.phylum.io/pricing) support groups.

The GitHub App will automatically create a group with the name of your GitHub account/organization. All Phylum projects created by the GitHub App will be owned by that group and results can be shared by adding Phylum PRO accounts as members to the group.
The GitHub App will automatically create a group with the name of your GitHub account/organization. All Phylum projects created by the GitHub App will be owned by that group and results can be shared by adding Phylum accounts as members to the group.

![Phylum groups management](../../assets/phylum_groups_management.png)

The default group that is created is owned by the account that installed the GitHub App. If you would like a different account to manage the GitHub App and group you may [transfer ownership](../knowledge_base/transfer_group_ownership.md) of the group.
The default group that is created is owned by the account that installed the GitHub App.

### Policy

The Phylum GitHub app uses the [established project policy](../knowledge_base/policy.md) for making overall success/failure risk decisions. No configuration is required for setting the policy since a default policy is used for all projects. However, [Phylum PRO users](https://www.phylum.io/pricing) may specify custom policies for their projects to exercise fine-grained control over the risk decision logic.
The Phylum GitHub app uses the [established project policy](../knowledge_base/policy.md) for making overall success/failure risk decisions. No configuration is required for setting the policy since a default policy is used for all projects. However, Phylum users may specify custom policies for their projects to exercise fine-grained control over the risk decision logic.

### Remediation

There are several options to remediate failures determined by the GitHub app. A good first step is to click the link in the PR comment to "View this project in the Phylum UI":

![GitHub app PR comment link to project](../../assets/gh_app_view_project_link.png)
![GitHub app PR comment link to project](../../assets/gh_app/view_project_link.png)

That will provide results and details for individual package issues. Each issue can be reviewed and the entire package suppressed if all issues within it are found to be false positive, irrelevant, or otherwise acceptable to proceed:

Expand All @@ -114,37 +111,37 @@ Remaining issues may require lockfile modification to find alternative dependenc

After remediation steps are complete, the GitHub app can be re-triggered to run again by pushing new commits to the PR. If no code changes were made to the offending lockfile (issue suppression only), it is possible to manually trigger another run by first clicking the `Details` link for the `Phylum` status check on the PR:

![Phylum app status check failure in PR](../../assets/gh_app_status_check_details_link.png)
![Phylum app status check failure in PR](../../assets/gh_app/status_check_details_link.png)

That takes you to the `Checks` tab of the PR, where it is possible to re-run the failed analysis by either clicking the `Re-run` link for the `Phylum` status check specifically or the `Re-run failed checks` option from the `Re-run checks` dropdown menu to include it with all other failed checks.

![Re-trigger Phylum status check](../../assets/gh_app_re-run_options.png)
![Re-trigger Phylum status check](../../assets/gh_app/re-run_options.png)

### On-demand Analysis

It is possible to perform on-demand analysis of any repository for which the Phylum GitHub app has visibility. This includes all the repositories in the GitHub App Settings menu, whether or not they are actively monitored. The analysis will be of the current state of **the default branch** in the repository, for the [supported lockfiles](../cli/supported_lockfiles.md) that exist there.

To perform an on-demand analysis, click the `Analyze` button for the desired repository:

![GitHub app on-demand analysis button](../../assets/gh_app_settings_analyze_button.png)
![GitHub app on-demand analysis button](../../assets/gh_app/settings_analyze_button.png)

The results will be visible in the `Project` menu view for the selected project under the `Label` corresponding to the default branch:

![GitHub app on-demand analysis results](../../assets/gh_app_on-demand_analysis.png)
![GitHub app on-demand analysis results](../../assets/gh_app/on-demand_analysis.png)

### Audit Mode

Enabling audit mode for an installation of the Phylum GitHub app temporarily disables pull request protection. This can be useful to minimize disruption in cases where developers are working on repositories at the same time as Phylum is being configured.

![GitHub app audit mode button](../../assets/gh_app_audit_mode.png)
![GitHub app audit mode button](../../assets/gh_app/audit_mode.png)

When audit mode is enabled, Phylum still analyzes pull requests and results are still visible in the Phylum UI. However:

* No comments are added to pull requests.
* The commit check status for policy violations changes from failed to neutral, allowing the PR to be merged.
* A message about audit mode being enabled is appended to the commit check details for commits that would have otherwise failed.

![GitHub check result details showing a neutral result because of audit mode](../../assets/gh_app_check_details_audit_neutral.png)
![GitHub check result details showing a neutral result because of audit mode](../../assets/gh_app/check_details_audit_neutral.png)

## FAQ

Expand Down
20 changes: 10 additions & 10 deletions docs/integrations/snyk.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ group is possible.
Setup for a new connection is done on the group page by selecting `Import From >
Snyk`.

![Setup with empty group](../../assets/snyk_setup_empty_group.png)
![Setup with existing group](../../assets/snyk_setup_existing_group.png)
![Setup with empty group](../../assets/snyk/setup_empty_group.png)
![Setup with existing group](../../assets/snyk/setup_existing_group.png)

To import projects from Snyk, Phylum needs a Snyk API key. This key is not only
used for authentication, but also decides which Snyk projects should be
Expand All @@ -26,9 +26,9 @@ Snyk service account with the desired access permissions is recommended.
Instructions on setting up a service account can be found in Snyk's
documentation:

https://docs.snyk.io/enterprise-configuration/service-accounts#how-to-set-up-a-group-or-organization-service-account
<https://docs.snyk.io/enterprise-configuration/service-accounts#how-to-set-up-a-group-or-organization-service-account>

![Token entry](../../assets/snyk_setup_token.png)
![Token entry](../../assets/snyk/setup_token.png)

## Updates

Expand All @@ -39,33 +39,33 @@ Imports run asynchronously, so it might take a while to finish and projects will
not necessarily all show up at the same time. Phylum will show a message if an
import is not completed yet.

![Import in progress](../../assets/snyk_import_in_progress.png)
![Import in progress](../../assets/snyk/import_in_progress.png)

Manual imports can be started at any time if the daily update is not sufficient.
This can be done by pressing the `Refresh Imports` button.

![Manual import](../../assets/snyk_manual_import.png)
![Manual import](../../assets/snyk/manual_import.png)

## Snyk Token Updates

Phylum will notify you if the associated token is revoked or invalidated.

![Invalid token](../../assets/snyk_invalid_token.png)
![Invalid token](../../assets/snyk/invalid_token.png)

In this case, the token can be updated by just pressing the red `Update Token`
button.

![Invalid token update](../../assets/snyk_invalid_token_update.png)
![Invalid token update](../../assets/snyk/invalid_token_update.png)

If you want to change a valid token, a manual change can be performed by
selecting `Manage Access > Update Token`.

![Valid token update](../../assets/snyk_manage_access.png)
![Valid token update](../../assets/snyk/manage_access.png)

## Deletion

Snyk connections can be deleted by selecting `Manage Access > Revoke Connection`
in any group with a Snyk connection. This will only stop future updates of the
connection and will not delete projects that are already imported.

![Revoke connection](../../assets/snyk_manage_access.png)
![Revoke connection](../../assets/snyk/manage_access.png)
12 changes: 6 additions & 6 deletions docs/integrations/sophos.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ Copy the token in preparation for adding it to your Sophos Factory credentials.

After logging into Sophos Factory, click `Credentials` in the left-hand navigation, then click the green `+ New Credential` button:

![Adding a new credential in Sophos](../../assets/sophos_add_creds.png)
![Adding a new credential in Sophos](../../assets/sophos/add_creds.png)

A dialog will slide out from the right:

![Create Phylum credential dialog](../../assets/sophos_create_cred_phylum.png)
![Create Phylum credential dialog](../../assets/sophos/create_cred_phylum.png)

Fill out the form as follows:

Expand All @@ -47,11 +47,11 @@ Click the green `+ Create` button at the bottom of the dialog.

You will need your SSH *private* key. This file is commonly found in `~/.ssh/id_rsa`. Copy this file and head back to Sophos Factory. Click `Credentials` in the left-hand navigation and click the green `+ New Credential` button:

![Adding a new credential in Sophos](../../assets/sophos_add_creds.png)
![Adding a new credential in Sophos](../../assets/sophos/add_creds.png)

A dialog will slide out from the right:

![Create SSH key credential dialog](../../assets/sophos_create_cred_ssh.png)
![Create SSH key credential dialog](../../assets/sophos/create_cred_ssh.png)

Fill out this form as follows:

Expand All @@ -68,10 +68,10 @@ Click the green `+ Create` button to save this credential.

Visit the [solution catalog](https://app.refactr.it/catalogs) and locate the Phylum solution. Click the green `Open` button:

![Sophos solution catalog](../../assets/sophos_solution_catalog.png)
![Sophos solution catalog](../../assets/sophos/solution_catalog.png)

Under `Pipelines`, locate the `Phylum Analysis` pipeline and click on the green play button:

![Phylum analysis pipeline](../../assets/sophos_pipeline_view.png)
![Phylum analysis pipeline](../../assets/sophos/pipeline_view.png)

In the dialog that slides out, select your `phylumApiToken`, populate the `gitRepo`, and define the `branch` you want to analyze. Then click the green `Run` button to kick off the pipeline.
10 changes: 5 additions & 5 deletions docs/integrations/tines.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@

Tines has a concept of credentials that can be used from within stories. Under `Your Teams` on the left hand side, locate the `Credentials` item in the navigation and click it. On the new page, click on the `+ New credential` button in the top right:

![Tines new credential button](../../assets/tines_new_cred.png)
![Tines new credential button](../../assets/tines/new_cred.png)

and select `HTTP Request` in the drop down:

![Tines new credential dropdown menu](../../assets/tines_new_cred_dropdown.png)
![Tines new credential dropdown menu](../../assets/tines/new_cred_dropdown.png)

Name your new credential `Phylum` and populate the fields as follows:

Expand All @@ -30,12 +30,12 @@ Tines is a no-code editor that allows users to work with and triage security-rel

After signing into Tines and accessing your relevant story, locate the `Templates` section on the left of the editor:

![Tines templates section location](../../assets/tines_templates_location.png)
![Tines templates section location](../../assets/tines/templates_location.png)

In the dialog that pops up, enter `Phylum` to locate the Phylum templates:

![Tines templates for Phylum](../../assets/tines_phylum_templates.png)
![Tines templates for Phylum](../../assets/tines/phylum_templates.png)

Select the template you want to use in your story and drag and drop it over into the work area:

![Add the Phylum template](../../assets/tines_add_phylum_template.png)
![Add the Phylum template](../../assets/tines/add_phylum_template.png)
2 changes: 1 addition & 1 deletion docs/knowledge_base/continuous_monitoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ If no default label has been set, the project's current job will be the latest j

## How to Activate

No activation required! Continuous Monitoring is a default platform feature for all Phylum accounts. Phylum Pro users have the additional option to trigger [notifications] on new Continuous Monitoring violations.
No activation required! Continuous Monitoring is a default platform feature for all Phylum accounts. Phylum users have the additional option to trigger [notifications] on new Continuous Monitoring violations.
Loading