Score Badges
Embed a live Nixer Score badge in any README. The badge is a shields.io-compatible SVG served at https://nixer.polsia.app/badge/{owner}/{repo}.svg โ auto-updated after every re-scan.
Badge URL
https://nixer.polsia.app/badge/{owner}/{repo}.svgReplace {owner} and {repo} with the GitHub owner and repository name. Examples:
https://nixer.polsia.app/badge/langchain-ai/langchain.svg https://nixer.polsia.app/badge/openai/openai-agents-python.svg https://nixer.polsia.app/badge/microsoft/autogen.svg
Embedding in your README
Markdown
[](https://nixer.polsia.app/findings/{owner}/{repo})HTML
<a href="https://nixer.polsia.app/findings/{owner}/{repo}">
<img src="https://nixer.polsia.app/badge/{owner}/{repo}.svg" alt="Nixer Score">
</a>Score colors and grades
| Grade | Score range | Color | Meaning |
|---|---|---|---|
| A | 0โ10 | โ Green | Clean โ no significant findings |
| B | 11โ25 | โ Lime | Minor issues only |
| C | 26โ45 | โ Yellow | Medium-severity findings present |
| D | 46โ65 | โ Orange | High-severity issues detected |
| F | 66โ100 | โ Red | Critical vulnerabilities present |
| ? | โ | โ Grey | Repo not yet scanned |
Caching behavior
Scored badges are served with Cache-Control: public, max-age=3600 โ they refresh hourly. Unknown repos return a grey "unscanned" badge with a 5-minute cache so the score shows up quickly after the first scan completes.
The badge URL never returns a 404 โ an unscanned repo gets a grey badge. This prevents broken image icons in READMEs.
Live example
Here's what the badge looks like in practice (using a repo on the leaderboard):
Getting badges from the leaderboard
Every entry on the AI Security Leaderboard has a Get badge button. Click it to open a modal with copy-paste Markdown, HTML, and the raw SVG URL โ pre-filled with the correct owner/repo.
Edit this page on GitHub