-
Notifications
You must be signed in to change notification settings - Fork 45
docs: add transitive dependencies section to Security and risk management #2676
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -585,6 +585,42 @@ | |||||||||
|
|
||||||||||
| The dependency overview page offers a quick bird's-eye view of that particular dependency. You'll be able to see all different versions that are being used, including which repository is using them, the oldest and most recent versions you're leveraging, as well as the highest criticality of security issues, the license <a href="#license-scanning"><sup>5</sup></a> applied to any particular version of that dependency, and the [OSSF Scorecard](#ossf-scorecard) security assessment. | ||||||||||
|
|
||||||||||
| ### Transitive dependencies {: id="transitive-dependencies"} | ||||||||||
|
|
||||||||||
| A **transitive dependency** is a package your repository doesn't import directly — it's pulled in through another package you depend on. When a vulnerability lives in a transitive dependency, the package you need to upgrade is often *not* the vulnerable one itself, but an ancestor higher up the chain that has a patched release available. | ||||||||||
|
Check failure on line 590 in docs/organizations/managing-security-and-risk.md
|
||||||||||
|
|
||||||||||
| Codacy surfaces the full import chain for every finding caused by a transitive dependency, so you can see exactly which package to bump. | ||||||||||
|
|
||||||||||
| #### Where you see it | ||||||||||
|
|
||||||||||
| Open the **Findings** tab under **Security and risk management**. Findings caused by a transitive dependency are labelled **Transitive Dependency** in the header. | ||||||||||
|
|
||||||||||
|  | ||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 MEDIUM RISK The image 'security-risk-management-transitive-chain.png' is referenced but not included in the PR, which will result in a broken image in the rendered documentation. |
||||||||||
|
|
||||||||||
| When you expand a transitive finding, the import chain appears at the top of the finding card. It shows every hop from your repository down to the vulnerable package, ending with the CVE identifier. | ||||||||||
|
|
||||||||||
| #### Reading the chain | ||||||||||
|
|
||||||||||
| Each segment is one package in the resolution path. The chain reads left to right: | ||||||||||
|
|
||||||||||
| - **First segment** — your repository. | ||||||||||
|
Check failure on line 606 in docs/organizations/managing-security-and-risk.md
|
||||||||||
| - **Middle segments** — the intermediate packages that pull in the vulnerable one. | ||||||||||
|
Check failure on line 607 in docs/organizations/managing-security-and-risk.md
|
||||||||||
| - **Upgrade label** — when an intermediate package has a patched release available, an "Upgrade to *version*" marker appears on it. This is the package you bump to fix the vulnerability across this path. | ||||||||||
|
Check failure on line 608 in docs/organizations/managing-security-and-risk.md
|
||||||||||
| - **Last package segment** — the vulnerable package and version. | ||||||||||
|
Check failure on line 609 in docs/organizations/managing-security-and-risk.md
|
||||||||||
| - **CVE identifier** — the specific vulnerability. | ||||||||||
|
Check failure on line 610 in docs/organizations/managing-security-and-risk.md
|
||||||||||
|
|
||||||||||
| In the example above, the vulnerable package is `Torch@2.4.0`, but the fix is to upgrade `accelerate` to `1.1.1` — that release of `accelerate` no longer resolves to the affected `Torch` version. | ||||||||||
|
Check failure on line 612 in docs/organizations/managing-security-and-risk.md
|
||||||||||
|
|
||||||||||
| #### When no upgrade is available | ||||||||||
|
|
||||||||||
| If no package in the chain has a patched release yet, the chain shows the full path without an upgrade label. In that case the vulnerability cannot be resolved by a version bump alone; you may need to wait for an upstream fix, apply a workaround, or accept the risk per your organization's policy. | ||||||||||
|
Check failure on line 616 in docs/organizations/managing-security-and-risk.md
|
||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add a comma after "In that case" to improve the readability and flow of the sentence.
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ⚪ LOW RISK Nitpick: Add a comma after the introductory phrase.
Suggested change
|
||||||||||
|
|
||||||||||
| #### Limitations | ||||||||||
|
|
||||||||||
| - The import chain is shown only for findings that come from dependency scanning. Findings from other scan types (container scanning, app scanning) do not show a chain. | ||||||||||
|
Check failure on line 620 in docs/organizations/managing-security-and-risk.md
|
||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To maintain consistency with the "Scan types" table (line 338) and other sections of the documentation (e.g., line 184), use the formal term "Software Composition Analysis (SCA)" instead of "dependency scanning".
Suggested change
|
||||||||||
| - Each finding shows a single representative path. If a repository reaches the same vulnerable package through more than one chain, only one is displayed. | ||||||||||
| - The upgrade label reflects the nearest ancestor with a known patched release at scan time. If multiple ancestors could be upgraded, the closest one to the vulnerable package is suggested. | ||||||||||
|
|
||||||||||
| ### OSSF Scorecard {: id="ossf-scorecard"} | ||||||||||
|
|
||||||||||
| The **OSSF Scorecard** feature provides additional security insights for your dependencies by displaying security assessment data from the Open Source Security Foundation (OSSF) Scorecard project. | ||||||||||
|
|
||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚪ LOW RISK
Nitpick: Use the American English spelling for consistency with the rest of the documentation.