SeCoRA (Secure Code Review AI Agent) is an advanced AI-powered tool designed to enhance the security of software codebases by identifying and remediating vulnerabilities.
Built with Python 3.12+ and licensed under MIT, SeCoRA leverages state-of-the-art language models to perform static analysis, detect interconnected risks, and provide actionable security recommendations.
Key Features
- AI-Powered Static Analysis: Detects security vulnerabilities, including OWASP Top 10 and SANS Top 25 threats.
- Vulnerability Chaining: Identifies interconnected risks that might not be apparent individually.
- Detailed Remediation Suggestions: Offers secure code examples for addressing identified issues.
- Python Code Support: Primarily tested for Python, with plans to expand to other languages.
- Real-Time API Integration: Enables seamless integration into development workflows.
- Comprehensive Reporting: Generates detailed vulnerability reports with CVSS scoring.
- Clone the Repository:
git clone https://github.com/shivamsaraswat/secora.git
cd secora
- Set Up a Virtual Environment:
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install Dependencies:
pip3 install -r requirements.txt
pip3 install -e .
- Configure Environment Variables:
Copy the example file and update it with your API keys:
cp .env.example .env
# Edit .env with OPENAI_API_KEY and ANTHROPIC_API_KEY
Start the server using:
python3 src/main.py
# OR
secora
Access the API documentation at http://localhost:8000/docs
.
API Endpoints:
- POST /analyze/file: Analyze a single file for vulnerabilities.
- POST /analyze/repository: Scan an entire Git repository.
- GET /health: Check server health.
Analyze files or repositories programmatically:
import requests
# Analyze a file
files = {'file': open('your_code.py', 'rb')}
response = requests.post('http://localhost:8000/analyze/file', files=files)
print(response.json())
# Analyze a repository
data = {
'repository_url': 'https://github.com/username/repo',
'branch': 'main',
'scan_depth': 3
}
response = requests.post('http://localhost:8000/analyze/repository', json=data)
print(response.json())
SeCoRA aims to support additional programming languages (e.g., Java, JavaScript), integrate with CI/CD platforms, provide enhanced reporting, and introduce pull request scanning with inline feedback.
SeCoRA is a promising solution for developers and security teams aiming to build secure applications efficiently.
Its AI-driven approach ensures robust vulnerability detection and remediation, making it an essential tool in modern software development workflows.