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.
  1. Clone the Repository:
   git clone https://github.com/shivamsaraswat/secora.git
   cd secora
  1. Set Up a Virtual Environment:
   python3 -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install Dependencies:
   pip3 install -r requirements.txt
   pip3 install -e .
  1. 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.

LEAVE A REPLY

Please enter your comment!
Please enter your name here