Snyk 導入指引
導入效應
| 效應 |
說明 |
| 全方面安全掃描 |
掃描 Dependency、Container、IaC、Secret、Code 五大面向 |
| 自動修復 PR |
偵測漏洞後自動建立 Fix PR,含升級建議 |
| 優先級排序 |
依可利用性(Exploitability)和影響程度排序漏洞 |
| 開發者友善 |
IDE 整合,在寫碼時即時提醒漏洞 |
| License 合規 |
檢查依賴的 License 是否符合企業政策 |
| CI/CD 門檻 |
設定 vulnerability threshold,阻斷含高危漏洞的 Pipeline |
1. 安裝 Snyk CLI
# macOS / Linux
brew install snyk
# Windows
choco install snyk
# npm
npm install -g snyk
2. 認證
# 登入 Snyk(需免費帳號)
snyk auth
# 使用 API Token(CI 用)
export SNYK_TOKEN=your-api-token
snyk auth $SNYK_TOKEN
3. 掃描 Dependency
# 掃描專案
snyk test
# 自動修復
snyk wizard
# 只顯示高危漏洞
snyk test --severity-threshold=high
4. 掃描 Container
# 掃描 Docker Image
snyk container test my-app:latest
# 掃描 Dockerfile
snyk container test my-app:latest --file=Dockerfile
5. 掃描 IaC(Infrastructure as Code)
# 掃描 Terraform
snyk iac test terraform/
# 掃描 Kubernetes YAML
snyk iac test k8s/
# 掃描 CloudFormation
snyk iac test cloudformation/
6. 掃描 Secret
# 掃描 git 歷史中的 Secret
snyk code test
# 掃描特定目錄
snyk code test src/
7. Maven 整合
<plugin>
<groupId>io.snyk</groupId>
<artifactId>snyk-maven-plugin</artifactId>
<version>2.4.0</version>
<configuration>
<failOnIssues>true</failOnIssues>
<severityThreshold>high</severityThreshold>
</configuration>
</plugin>
8. CI 整合
8.1 Azure Pipeline
- stage: SecurityScan
jobs:
- job: Snyk
steps:
- script: |
npm install -g snyk
snyk test --severity-threshold=high
env:
SNYK_TOKEN: $(SNYK_TOKEN)
displayName: 'Snyk Dependency Test'
- script: |
snyk container test $(DockerImage) --severity-threshold=high
env:
SNYK_TOKEN: $(SNYK_TOKEN)
displayName: 'Snyk Container Test'
8.2 GitHub Actions
- name: Snyk Security
uses: snyk/actions@master
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
with:
args: --severity-threshold=high
9. Snyk UI 功能
| 功能 |
說明 |
| Project Dashboard |
視覺化所有專案的漏洞狀態 |
| Fix PRs |
自動建立修復 Pull Request |
| Jira 整合 |
漏洞自動建立 Jira Ticket |
| License 允許清單 |
設定哪些 License 可使用 |
| 通知設定 |
Email / Slack / Teams 通知 |
10. 漏洞優先級
| 等級 |
說明 |
建議動作 |
| Critical |
可被利用且影響嚴重 |
立即修復 |
| High |
高度可利用 |
24 小時內修復 |
| Medium |
有條件可利用 |
一週內修復 |
| Low |
難以利用 |
排入 Backlog |
11. 與 OWASP Dependency Check 比較
| 特性 |
Snyk |
OWASP Dependency Check |
| 掃描速度 |
快 |
較慢(同步 NVD) |
| 自動修復 |
Fix PR |
無 |
| 容器掃描 |
有 |
無 |
| IaC 掃描 |
有 |
無 |
| Secret 掃描 |
有 |
無 |
| 雲端 UI |
有 |
無 |
| 開源免費 |
有限制 |
完全免費 |
12. 參考資源