コンテンツにスキップ

CodeScan

オープンソースのSemgrep で分析した結果を継続的に収集することができます

Semgrep とは?
  • ソースコードの静的解析を行うためのツールです
  • 特に、セキュリティの問題やバグ、コードスタイルの違反などを検出するのに役立ちます

フォーマット

RISKEN へデータを取り込む際に、以下のメタデータを付加します

項目 説明
DataSource code:codescan (固定)
ResourceName リポジトリ名
Description 説明
Score スコアリング参照
Tag code repository codescan {リポジトリ名}

スコアリング

CodeScan で解析された結果をもとに以下の通りにスコアを設定します

flowchart TD A[Start] --> B{{Severity?}} %% Other severity levels B -->|INFO| C[Score: 0.1]:::low B -->|WARNING| D[Score: 0.3]:::low %% ERROR branch with detailed logic B -->|ERROR| F{{Impact/Likelihood?}} F -->|Impact=HIGH & Likelihood=HIGH| G[Score: 0.8]:::high F -->|Impact=HIGH & Likelihood!=HIGH| H[Score: 0.6]:::mid F -->|Impact=MEDIUM| I[Score: 0.5]:::mid F -->|Impact=LOW| J[Score: 0.4]:::low F -->|default| K[Score: 0.6]:::mid classDef high fill:#FFFFFF,stroke:#C2185B,stroke-width:4px classDef mid fill:#FFFFFF,stroke:#F57C00,stroke-width:4px classDef low fill:#FFFFFF,stroke:#4DB6AC,stroke-width:4px classDef unknown fill:#FFFFFF,stroke:#BDBDBD,stroke-width:4px
  • Severity はSemgrepのルールの重大度を表します。(ERRORの場合は重大度=高)
  • Impact は脆弱性が引き起こすダメージの程度を表します。
  • Likelihood は発見された問題を攻撃者が悪用する可能性を表します。

検知ルール

Semgrep Registryにある Default ルール の内容でスキャンが行われます。 どのような項目がチェックされるのかや各ルールの重大度の確認は上記のRegistryサイトで確認できます。