Enterprise Software Supply Chain Manager (ESSCM)IntegrationsFile Uploads Manifest File Upload
Upload package manifest files for SBOM generation
Upload package manifest files directly to Safeguard for SBOM generation without connecting to a source code repository.
| File | Description |
|---|
package.json | npm package manifest |
package-lock.json | npm lock file (recommended) |
yarn.lock | Yarn lock file |
pnpm-lock.yaml | pnpm lock file |
| File | Description |
|---|
requirements.txt | pip requirements |
Pipfile | Pipenv manifest |
Pipfile.lock | Pipenv lock file (recommended) |
pyproject.toml | Modern Python projects |
poetry.lock | Poetry lock file |
setup.py | Legacy setup file |
| File | Description |
|---|
pom.xml | Maven project file |
build.gradle | Gradle build file |
build.gradle.kts | Kotlin Gradle build |
gradle.lockfile | Gradle lock file |
| File | Description |
|---|
*.csproj | C# project file |
packages.config | NuGet packages |
*.deps.json | .NET dependencies |
Directory.Packages.props | Central package management |
| File | Description |
|---|
Gemfile | Bundler manifest |
Gemfile.lock | Bundler lock file (recommended) |
| File | Description |
|---|
composer.json | Composer manifest |
composer.lock | Composer lock file (recommended) |
| File | Description |
|---|
go.mod | Go modules file |
go.sum | Go checksum file (recommended) |
| File | Description |
|---|
Cargo.toml | Cargo manifest |
Cargo.lock | Cargo lock file (recommended) |
Go to Integrations from the sidebar and filter by Upload.
Click Connect on the Upload Manifest File card.
- Enter a Name for this upload
- Optionally add a Description
- Drag and drop your manifest file(s), or click Browse to select
- You can upload multiple files (e.g., both
package.json and package-lock.json)
- Set the Project Name
- Set the Version
- Click Upload to begin scanning
Lock files provide more precise dependency information:
| Aspect | Manifest Only | Manifest + Lock File |
|---|
| Direct dependencies | | |
| Transitive dependencies | Resolved at scan time | Exact versions |
| Reproducibility | May vary | Exact match |
| Version ranges | Resolved to latest | Locked versions |
Recommendation: Always upload both the manifest and lock file when available.
You can upload multiple related files together:
├── package.json
└── package-lock.json
├── requirements.txt
├── requirements-dev.txt
└── pyproject.toml
├── package.json
├── package-lock.json
├── packages/
│ ├── app-a/package.json
│ └── app-b/package.json
- Verify the file is a supported manifest type
- Check the file extension matches the format
- Ensure the file contains valid syntax
- The manifest file may be empty or invalid
- Check that dependencies are properly declared
- Some files may only contain metadata
- Some version ranges may not resolve
- Try uploading a lock file with exact versions
- Private package references may not resolve
- Upload lock files - Provides more accurate dependency information
- Include all manifests - Upload all related manifest files together
- Regular updates - Re-upload when dependencies change
- Use exact versions - Avoid wide version ranges in manifests