Autonomous agentic AI for CRA (Cyber Resilience Act) compliance: scans repos, triages findings, opens Jira tickets, and auto-fixes vulnerabilities via PR.
# Add to your Claude Code skills
git clone https://github.com/kulkarnirohit123/cra-agentcra-agent is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by kulkarnirohit123. Autonomous agentic AI for CRA (Cyber Resilience Act) compliance: scans repos, triages findings, opens Jira tickets, and auto-fixes vulnerabilities via PR. It has 75 GitHub stars.
cra-agent's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/kulkarnirohit123/cra-agent" and add it to your Claude Code skills directory (see the Installation section above).
cra-agent is primarily written in Python. It is open-source under kulkarnirohit123 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh cra-agent against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
An autonomous agentic AI system for continuous CRA compliance monitoring. It scans every commit, identifies vulnerabilities, creates Jira tickets with triage recommendations, and reacts to Jira webhook updates (suppress known issues or auto-fix).
┌─────────────────────────────────────────────────────────────────────┐
│ CRA-AGENT Orchestrator │
│ (main.py) │
└──────────────┬──────────────────────────────────────┬───────────────┘
│ │
┌─────────▼──────────┐ ┌──────────▼──────────┐
│ Git Monitor │ │ Webhook Server │
│ (commit watcher) │ │ (Jira updates) │
└─────────┬──────────┘ └──────────┬──────────┘
│ │
┌─────────▼──────────┐ ┌──────────▼──────────┐
│ Diff Analyzer │ │ Jira Handler │
│ (changed files) │ │ (route actions) │
└─────────┬──────────┘ └──────────┬──────────┘
│ │
┌─────────▼──────────────────────────────────────▼──────────┐
│ Agent Layer (LangGraph) │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────┐ │
│ │ Scanner │ │ Triage │ │ Fixer │ │ Jira │ │
│ │ Agent │ │ Agent │ │ Agent │ │ Agent │ │
│ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └───┬────┘ │
└────────┼──────────────┼──────────────┼────────────┼───────┘
│ │ │ │
┌────────▼──────────────▼──────────────▼────────────▼───────┐
│ Scanner Layer │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ Dependency │ │ SAST │ │ Secrets │ │
│ │ Scanner │ │ Scanner │ │ Scanner │ │
│ └──────────────┘ └──────────────┘ └──────────────────┘ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Suppression Store (SQLite) — known/ignored vulns │ │
│ └──────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────┘
│
┌────────▼──────────────────────────────────────────────────┐
│ Integrations │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────────┐ │
│ │ Jira Client │ │ LLM Client │ │ Git Client │ │
│ └──────────────┘ └──────────────┘ └────────────────┘ │
└────────────────────────────────────────────────────────────┘
CRA-AGENT/
├── Project.md # Project requirements
├── README.md # This file
├── DESIGN.md # Detailed design document
├── pyproject.toml # Python project config & dependencies
├── .env.example # Environment variable template
├── config/
│ ├── __init__.py
│ ├── settings.py # App settings (pydantic-settings)
│ └── scanner_rules.yaml # Scanner rule definitions
├── src/
│ ├── __init__.py
│ ├── main.py # Entry point / orchestrator
│ ├── core/
│ │ ├── __init__.py
│ │ ├── models.py # Pydantic data models
│ │ ├── git_monitor.py # Commit watcher (polling / webhook)
│ │ └── diff_analyzer.py # Analyze commit diffs
│ ├── agents/
│ │ ├── __init__.py
│ │ ├── orchestrator.py # LangGraph state machine
│ │ ├── scanner_agent.py # Runs scanners on diffs
│ │ ├── triage_agent.py # Recommends triage actions
│ │ ├── fixer_agent.py # Auto-fixes vulnerabilities
│ │ └── jira_agent.py # Creates/updates Jira tickets
│ ├── scanners/
│ │ ├── __init__.py
│ │ ├── base_scanner.py # Abstract scanner interface
│ │ ├── dependency_scanner.py
│ │ ├── sast_scanner.py
│ │ ├── secrets_scanner.py
│ │ └── suppression_store.py
│ ├── integrations/
│ │ ├── __init__.py
│ │ ├── jira_client.py # Jira REST API client
│ │ ├── llm_client.py # LLM provider abstraction
│ │ └── git_client.py # Git operations wrapper
│ ├── webhook/
│ │ ├── __init__.py
│ │ ├── server.py # FastAPI webhook server
│ │ └── handlers.py # Jira webhook event handlers
│ └── utils/
│ ├── __init__.py
│ ├── logger.py # Structured logging
│ └── helpers.py # Shared utilities
├── skills/ # Agent skill definitions (markdown)
│ ├── scan_commit.md
│ ├── triage_vulnerability.md
│ ├── fix_vulnerability.md
│ └── handle_jira_update.md
├── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_scanners/
│ ├── test_agents/
│ └── test_webhook/
└── docker-compose.yml # Local dev services
| Layer | Technology |
|---|---|
| Language | Python 3.11+ |
| Agent Framework | LangGraph + LangChain |
| Webhook Server | FastAPI + Uvicorn |
| Data Models | Pydantic v2 |
| Git | GitPython |
| Jira | httpx (async REST) |
| LLM | OpenAI / Anthropic (pluggable) |
| Suppression DB | SQLite (via sqlite3) |
| Scanners | semgrep, pip-audit, gitleaks (CLI) |
| Config | pydantic-settings + YAML |
| Testing | pytest + pytest-asyncio |
# 1. Install dependencies
pip install -e ".[dev]"
# 2. Configure environment
cp .env.example .env
# Edit .env with your Jira, LLM, and Git credentials
# 3. Run the agent
python -m src.main
# 4. Run webhook server (separate process)
uvicorn src.webhook.server:app --reload --port 8080
GitMonitor detects a new commit (polling or webhook).DiffAnalyzer extracts changed files and hunks.ScannerAgent runs all scanners on changed files.SuppressionStore filters out known/ignored vulnerabilities.TriageAgent classifies remaining vulns (severity, exploitability, CRA relevance).JiraAgent creates Jira tickets with triage recommendations.WebhookServer receives Jira issue update event.JiraHandler parses the transition/comment.SuppressionStore adds a suppression rule.FixerAgent generates and applies a fix, then opens a PR.JiraAgent updates the ticket with the fix status.The agent maps findings to CRA Annex I essential requirements:
Run the enterprise-grade dashboard:
streamlit run src/dashboard/app.py
Features:
Contributions are welcome! Please read our Contributing Guide for details on:
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Copyright 2026 Rohit Kulkarni
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0