概要
kicsはIaC用のセキュリティチェックツールです
Dockerfile や k8s の YAML ファイルにセキュリティ的な脆弱性や記載がないかをチェックしてくれます
今回はとりあえず動かしてみました
docker で動かします
環境
- macOS 11.7.10
- docker 24.0.2
- kics 1.7.13
コマンド
-
docker run -t -v $(pwd):/path checkmarx/kics:latest scan -p /path -o "/path/"
結果確認
ターミナルにも結果が表示されますが results.json というファイルでも保存されています
- cat results.json
{
"kics_version": "v1.7.13",
"files_scanned": 2,
"lines_scanned": 10,
"files_parsed": 2,
"lines_parsed": 10,
"lines_ignored": 0,
"files_failed_to_scan": 0,
"queries_total": 291,
"queries_failed_to_execute": 0,
"queries_failed_to_compute_similarity_id": 0,
"scan_id": "console",
"severity_counters": {
"HIGH": 0,
"INFO": 0,
"LOW": 0,
"MEDIUM": 0,
"TRACE": 0
},
"total_counter": 0,
"total_bom_resources": 0,
"start": "2024-04-17T01:07:50.40506235Z",
"end": "2024-04-17T01:09:50.037978163Z",
"paths": [
"/path"
],
"queries": []
}
再帰的に実行するには
オプションではないようです
-p オプションで複数のディレクトリを指定すれば複数のディレクトリに対してスキャンしてくれるようです
-
docker run -t -v $(pwd):/path checkmarx/kics:latest scan -p /path -p /path/archive -o "/path/"
脆弱性がある場合には
例えば Dockerfile に脆弱性がある場合は以下のようなエラーが表示されます
Missing User Instruction, Severity: HIGH, Results: 1
Description: A user should be specified in the dockerfile, otherwise the image will run as root
Platform: Dockerfile
CWE: 250
Learn more about this vulnerability: https://docs.kics.io/latest/queries/dockerfile-queries/fd54f200-402c-4333-a5a4-36ef6709af2f
[1]: ../../path/Dockerfile:1
001: FROM ruby:3.1.2
002:
003: ADD . /home
Results Summary:
HIGH: 1
MEDIUM: 5
LOW: 4
INFO: 0
TOTAL: 10
Generating Reports: Done
最後に
IaC のコードのセキュリティチェックができる kics を試してみました
使うこと自体は簡単にできそうです
Query という機能を使って簡単に脆弱性ルールを追加することもできます
0 件のコメント:
コメントを投稿