-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
feat(swift): add vulns for cocoapods #5037
Changes from 9 commits
e5347e3
1394573
94125c4
047bd37
233eed1
6662d0b
3461623
de0a631
f36879f
3713c03
775a6c3
3fe8925
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 | ||||
---|---|---|---|---|---|---|
@@ -1,10 +1,34 @@ | ||||||
# Swift | ||||||
|
||||||
Trivy supports [CocoaPods][cocoapods] for Swift packages. | ||||||
Trivy supports [CocoaPods][cocoapods] and [Swift][swift] package managers. | ||||||
|
||||||
The following scanners are supported. | ||||||
|
||||||
| Package manager | SBOM | Vulnerability | License | | ||||||
| --------------- | :---: | :-----------: | :-----: | | ||||||
| CocoaPods | ✓ | - | - | | ||||||
| Package manager | SBOM | Vulnerability | License | | ||||||
|-----------------|:----:|:-------------:|:-------:| | ||||||
| Swift | ✓ | ✓ | - | | ||||||
| CocoaPods | ✓ | ✓ | - | | ||||||
|
||||||
The following table provides an outline of the features Trivy offers. | ||||||
|
||||||
| Package manager | File | Transitive dependencies | Dev dependencies | [Dependency graph][dependency-graph] | Position | | ||||||
|:---------------:|------------------|:-----------------------:|:----------------:|:------------------------------------:|:--------:| | ||||||
| Swift | Package.resolved | ✓ | Included | - | ✓ | | ||||||
| Cocoapods | Podfile.lock | ✓ | Included | ✓ | - | | ||||||
|
||||||
These may be enabled or disabled depending on the target. | ||||||
See [here](./index.md) for the detail. | ||||||
|
||||||
## swift | ||||||
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.
Suggested change
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. Done |
||||||
Trivy parses [Package.resolved][package-resolved] file to find dependencies. Don't forger to update (`swift package update` command) this file before scanning. | ||||||
|
||||||
## cocoapods | ||||||
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.
Suggested change
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. Done |
||||||
Cocoapods uses package names in `PodFile.lock`, but [GitHub advisory database][ghsa] uses git links. | ||||||
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. We should mention the limitation that all modules are detected under the same git URL. 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. Done 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.
Suggested change
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. Done |
||||||
We parse [Cocoapods Specs][cocoapods-specs] to match package names and links. | ||||||
|
||||||
[cocoapods]: https://cocoapods.org/ | ||||||
[cocoapods]: https://cocoapods.org/ | ||||||
[cocoapods-specs]: https://github.com/CocoaPods/Specs | ||||||
[ghsa]: https://github.com/advisories?query=type%3Areviewed+ecosystem%3Aswift | ||||||
[swift]: https://www.swift.org/package-manager/ | ||||||
[package-resolved]: https://github.com/apple/swift-package-manager/blob/main/Documentation/Usage.md#resolving-versions-packageresolved-file | ||||||
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. The link should be permanent. The main branch can be updated. 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. Done |
||||||
[dependency-graph]: ../../configuration/reporting.md#show-origins-of-vulnerable-dependencies |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,44 +21,39 @@ | |
"Type": "cocoapods", | ||
"Packages": [ | ||
{ | ||
"ID": "AppCenter/4.2.0", | ||
"Name": "AppCenter", | ||
"Version": "4.2.0", | ||
"DependsOn": [ | ||
"AppCenter/Analytics/4.2.0", | ||
"AppCenter/Crashes/4.2.0" | ||
], | ||
"Layer": {} | ||
}, | ||
{ | ||
"ID": "AppCenter/Analytics/4.2.0", | ||
"Name": "AppCenter/Analytics", | ||
"Version": "4.2.0", | ||
"DependsOn": [ | ||
"AppCenter/Core/4.2.0" | ||
], | ||
"Layer": {} | ||
}, | ||
{ | ||
"ID": "AppCenter/Core/4.2.0", | ||
"Name": "AppCenter/Core", | ||
"Version": "4.2.0", | ||
"ID": "[email protected]", | ||
"Name": "_NIODataStructures", | ||
"Version": "2.41.0", | ||
"Layer": {} | ||
}, | ||
} | ||
], | ||
"Vulnerabilities": [ | ||
{ | ||
"ID": "AppCenter/Crashes/4.2.0", | ||
"Name": "AppCenter/Crashes", | ||
"Version": "4.2.0", | ||
"DependsOn": [ | ||
"AppCenter/Core/4.2.0" | ||
"VulnerabilityID": "CVE-2022-3215", | ||
"PkgID": "[email protected]", | ||
"PkgName": "_NIODataStructures", | ||
"InstalledVersion": "2.41.0", | ||
"FixedVersion": "2.29.1, 2.39.1, 2.42.0", | ||
"Status": "fixed", | ||
"Layer": {}, | ||
"PrimaryURL": "https://avd.aquasec.com/nvd/cve-2022-3215", | ||
"Title": "SwiftNIO vulnerable to Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting')", | ||
"Description": "`NIOHTTP1` and projects using it for generating HTTP responses, including SwiftNIO, can be subject to a HTTP Response Injection attack...", | ||
"Severity": "MEDIUM", | ||
"CVSS": { | ||
"ghsa": { | ||
"V3Vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N", | ||
"V3Score": 5.3 | ||
} | ||
}, | ||
"References": [ | ||
"https://github.com/apple/swift-nio/security/advisories/GHSA-7fj7-39wj-c64f", | ||
"https://nvd.nist.gov/vuln/detail/CVE-2022-3215", | ||
"https://github.com/apple/swift-nio/commit/a16e2f54a25b2af217044e5168997009a505930f", | ||
"https://github.com/advisories/GHSA-7fj7-39wj-c64f" | ||
], | ||
"Layer": {} | ||
}, | ||
{ | ||
"ID": "KeychainAccess/4.2.1", | ||
"Name": "KeychainAccess", | ||
"Version": "4.2.1", | ||
"Layer": {} | ||
"PublishedDate": "2023-06-07T16:01:53Z", | ||
"LastModifiedDate": "2023-06-19T16:45:07Z" | ||
} | ||
] | ||
} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
- bucket: "cocoapods::GitHub Security Advisory Cocoapods" | ||
pairs: | ||
- bucket: _NIODataStructures | ||
pairs: | ||
- key: CVE-2022-3215 | ||
value: | ||
PatchedVersions: | ||
- "2.29.1" | ||
- "2.39.1" | ||
- "2.42.0" | ||
VulnerableVersions: | ||
- "< 2.29.1" | ||
- ">= 2.39.0, < 2.39.1" | ||
- ">= 2.41.0, < 2.42.0" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,16 @@ | ||
PODS: | ||
- AppCenter (4.2.0): | ||
- AppCenter/Analytics (= 4.2.0) | ||
- AppCenter/Crashes (= 4.2.0) | ||
- AppCenter/Analytics (4.2.0): | ||
- AppCenter/Core | ||
- AppCenter/Core (4.2.0) | ||
- AppCenter/Crashes (4.2.0): | ||
- AppCenter/Core | ||
- KeychainAccess (4.2.1) | ||
|
||
COCOAPODS: 1.11.2 | ||
- _NIODataStructures (2.41.0) | ||
|
||
DEPENDENCIES: | ||
- _NIODataStructures (= 2.41.0) | ||
|
||
SPEC REPOS: | ||
trunk: | ||
- _NIODataStructures | ||
|
||
SPEC CHECKSUMS: | ||
_NIODataStructures: 3d45d8e70a1d17a15b1dc59d102c63dbc0525ffd | ||
|
||
PODFILE CHECKSUM: 2acff18c7f9246879b6a1a2d04e5decbc9410ef4 | ||
|
||
COCOAPODS: 1.12.1 |
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.
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.
Done