Creating a badge¶
To create a badge and update it the user should run KICS in their CI.
This can be done differently for each integration we have.
Let's assume a manual CLI process using docker:
#!/usr/bin/env bash
echo "running KICS in the current dir and writing results.json"
docker run -v $PWD:/path checkmarx/kics:latest scan -p "/path" -o "/path/"
This will generate a results.json file under path
.
Parse the results.json
and request a badge to img.shields.io.
For this example, let's assume HIGH and MEDIUM results are bad:
#!/usr/bin/env bash
HIGH=$(jq '.severity_counters.HIGH' results.json)
MEDIUM=$(jq '.severity_counters.MEDIUM' results.json)
LOW=$(jq '.severity_counters.LOW' results.json)
INFO=$(jq '.severity_counters.INFO' results.json)
MESSAGE="passing"
COLOR="green"
if (( $HIGH > 0 )) || (( $MEDIUM > 0)); then
MESSAGE="failing"
COLOR="red"
fi
curl -sL "https://img.shields.io/badge/KICS-${MESSAGE}-${COLOR}.svg" > kics-status.svg
An example SVG produced:
If you have github pages configured under gh-pages
branch configured you can commit and push the badge to it and reference on your README.md, e.g:
![KICS](https://raw.githubusercontent.com/Checkmarx/kics/gh-pages/kics-status.svg)