Private package manager integration for PyPI
Configure Endor Labs to integrate with private PyPI repositories to access proprietary dependencies during security scanning and analysis. When your Python projects depend on packages hosted in private or corporate repositories, Endor Labs requires authentication credentials to resolve these dependencies and generate a complete bill of materials.
This integration enables Endor Labs to:
- Access private PyPI packages during dependency resolution
- Generate comprehensive security analysis including private dependencies
- Maintain complete visibility into your software supply chain
Configure package manager integration
Endor Labs integrates with your self-hosted package repositories and source control systems to give you visibility into your environment. Package manager integrations allow users to simplify scanning using custom repositories.
Endor Labs generally respects package authentication and configuration settings and a package manager integration is usually not required to scan private packages successfully.
-
Use package manager integrations to simplify scanning when authentication to private repositories is not part of standard manifest or settings files.
-
Package manager integrations allow you to set custom repositories for each package ecosystem and the priority of each repository for scanning.
To set up a package manager integration:
-
Sign in to Endor Labs.
-
Select Manage > Integrations from the left sidebar.
-
Click Manage in the package manager configuration you want to customize.
-
Select Add Package Manager.
-
Enter the name of the package manager.
-
Select either Basic or AWS Code Artifactory as Authentication Type.
See AWS authentication for more information.
-
Click Advanced and select Propagate this policy to all child namespaces to apply the package manager integration to all child namespaces.
-
Select Add Package Manager.
If you want to delete a package manager integration, click the trash can icon at the far right of the integration.
Authenticate to PyPI private package repositories
To connect to private repositories of PyPI enter the package manager URL and the package registry credentials such as username and password.
Test private package manager connection
- Select Manage > Integrations from the left sidebar.
- Click Manage in the package manager configuration you want to customize.
- Click the vertical three dots of the package manager configured and select Test Connection.
Note
The integration does not perform authentication or authorization checks on the package manager repository.Private package manager integration for PyPI using API
Use endorctl to create a package manager resource through an API call and configure authentication for accessing private repositories during scans.
Note
The PyPI package manager URL typically ends with/simple
.
Run the following command to create a package manager resource and authenticate to private repository.
Replace:
username
with your package registry usernamexxxx
with your package registry passwordnamespace
with your namespace.
endorctl api create -r PackageManager -n <namespace> -d '
{
"meta": {
"name": "test",
"description": "test"
},
"spec": {
"pypi": {
"priority": 1,
"url": "package manager url",
"user": "username",
"password": "xxxx"
}
},
"propagate": true
} '
Fetch package manager
Run the following command to fetch the package manager using the UUID:
endorctl api get -r packageManager -n <your namespace> --uuid <take uuid from list command>
Delete package manager
Run the following command to delete the package manager using the UUID:
endorctl api delete -r packageManager -n <your namespace> --uuid <take uuid from list command>
Feedback
Was this page helpful?
Thanks for the feedback. Write to us at support@endor.ai to tell us more.
Thanks for the feedback. Write to us at support@endor.ai to tell us more.