Prerequisites
Before you begin, ensure you have:- A SCANOSS API key
- Depending on which method you choose below: Go (for Crypto Finder), Postman, or Python with
pip(for SCANOSS-PY)
Completed Desktop Integration? You can query the components it found. Starting fresh? Every method below also works with sample data or a new scan, so you don’t need to complete that guide first.
Overview
This guide demonstrates different ways to perform advanced analysis with SCANOSS:- Crypto Finder Dedicated CLI for deep cryptographic detection, including call-chain tracing into third-party dependencies and CycloneDX CBOM output
- SCANOSS API with Postman Interactive API testing for cryptography and vulnerability queries
- SCANOSS-PY Command-line tool for automated scanning and analysis
Crypto Finder (Command Line)
SCANOSS-PY queries cryptography data through the SCANOSS API, using the same component-matching approach as license detection. Crypto Finder takes a different approach: it’s a dedicated CLI, purpose-built for cryptographic detection, that scans your source directly with a rule-based engine (OpenGrep or Semgrep), traces cryptographic usage through your call graph, and can extend that tracing into your third-party dependencies, not just your own code.Install Crypto Finder
Configure Your API Key
Crypto Finder needs a SCANOSS API key to fetch its curated, remotely-hosted cryptographic detection rules. Configure it with theconfigure command, so it persists across scans:
Scan for Cryptography
Generate a Cryptography Bill of Materials
For a standardised, shareable inventory of cryptographic assets, export as a CycloneDX CBOM instead:SCANOSS with Postman
Postman provides an interactive way to explore the SCANOSS API and understand how advanced analysis works.Prerequisites
- Install Postman
- SCANOSS API Key
- Component PURLs (optional) — the standard identifier SCANOSS uses for software components, e.g.
pkg:github/scanoss/scanoss.py. See Package URLs for the full format. The steps below include sample PURLs, so you can follow along without your own.
Setup Postman Environment
Create Environment Variables:- In Postman, click Environments (left sidebar)
- Click Create Environment or +
- Name it “SCANOSS”
- Add these variables:
- Activate the environment by clicking the checkmark next to SCANOSS in the left panel, or select SCANOSS from the environment dropdown in the top right corner
Query Cryptographic Algorithms
You can query PURLs from your scan results (obtained from Desktop Integration) or use the sample PURLs shown below to learn how the API works. Single Component Query:- Create a new request by clicking the + icon in the tab bar
- Set request type to GET
- Enter URL:
- Click Params tab and add query parameters:
- Key:
purlValue:pkg:github/scanoss/scanoss.py(or use a PURL from your scan results) - Key:
requirementValue:>1.3.5(or use a version from your scan results)
- Key:
- Click Authorization tab and configure:
- Auth Type: Select
API Key - Key:
X-Api-Key - Value:
{{api_key}} - Add to: Ensure it’s set to
Header
- Auth Type: Select
- Click Send
- Create a new request
- Set request type to POST
- Enter URL:
- Click Authorization tab and configure:
- Auth Type: Select
API Key - Key:
X-Api-Key - Value:
{{api_key}} - Add to: Ensure it’s set to
Header
- Auth Type: Select
- Click Headers tab and add:
- Key:
Content-TypeValue:application/json
- Key:
- Click Body tab, select raw and JSON
- Enter request body:
- Click Send
Query Cryptographic Hints
Hints reveal the encryption libraries, protocols and SDKs used by components.- Create a new request
- Set request type to GET
- Enter URL:
- Add query parameters:
- Key:
purlValue:pkg:github/scanoss/scanoss.py - Key:
requirementValue:v1.19.5
- Key:
- Click Authorization tab and configure:
- Auth Type: Select
API Key - Key:
X-Api-Key - Value:
{{api_key}} - Add to: Ensure it’s set to
Header
- Auth Type: Select
- Click Send
Other Cryptography Endpoints
The Cryptography API covers more ground than the two queries above. Set these up in Postman the same way, just change the method and URL:
Each of these also has a batch (
/components) equivalent for querying multiple components at once. See the Cryptography API reference for full request and response formats.
Query Vulnerabilities
Single Component Vulnerability Query:- Create a new request
- Set request type to GET
- Enter URL:
- Add query parameters:
- Key:
purlValue:pkg:npm/lodash - Key:
requirementValue:4.17.20
- Key:
- Click Authorization tab and configure:
- Auth Type: Select
API Key - Key:
X-Api-Key - Value:
{{api_key}} - Add to: Ensure it’s set to
Header
- Auth Type: Select
- Click Send
- Create a new request
- Set request type to POST
- Enter URL:
- Click Authorization tab and configure:
- Auth Type: Select
API Key - Key:
X-Api-Key - Value:
{{api_key}} - Add to: Ensure it’s set to
Header
- Auth Type: Select
- Click Headers tab and add:
- Key:
Content-TypeValue:application/json
- Key:
- Click Body tab, select raw and JSON, then add body:
- Click Send
Other Vulnerability Endpoints
The Vulnerability API also provides CPE identifiers, useful for cross-referencing components against vulnerability databases outside SCANOSS:
See the Vulnerability API reference for full request and response formats.
Save Postman Collection
To reuse these requests:- Click Collections (left sidebar)
- Click Create Collection or +
- Name it “SCANOSS Advanced Analysis”
- Click into each of your requests, then click save request o nthe right hand side, select the collection and click save
- Click … next to collection name > More > Export > Continue with Export > Export JSON
- Share the exported JSON with your team
SCANOSS-PY (Command Line)
SCANOSS-PY provides powerful command-line capabilities for automated scanning and analysis. Haven’t installed it yet?pip install scanoss (see Desktop Integration for the full walkthrough, including verifying the install).
Detect Cryptographic Algorithms
You have two options for analysing cryptography, using the existing scan results or performing a new scan with focus on cryptographic detection. Analyze Existing Scan Results If you already have scan results from Desktop Integration, examine them for cryptography information:results.json file containing component metadata including PURLs, versions and detected cryptography information.
Query Cryptographic Algorithms
After identifying components with cryptography, you can query detailed algorithm information. Extract Component PURLs:Query Cryptographic Hints
Cryptographic hints reveal the encryption libraries, protocols and SDKs used by your components:crypto command reference.
Query Vulnerabilities
Vulnerability analysis identifies known security issues (CVEs) in your open source components, helping you prioritise security fixes. Query Single Component:vulns command reference.