How siddhigangan/final-year-project works
SecureCodeRAG is documented as a framework for benchmarking security risks in retrieval-augmented code generation and evaluating defenses. Its intended workflow runs from clean or poisoned code data through ingestion, chunking, embedding, storage, retrieval, defense, generation, and security evaluation. The README marks most of these capabilities as planned; package descriptions and the documented pipeline support the architecture below, but implementation-level calls cannot be confirmed from the sampled source. Configuration is included as an internal supporting layer.
Main entry points: generation Code Generation · defense Security Defense · ingestion Ingestion · vectorstore Vector Store
Components 15
Data Sources
- Clean Data
data/clean - Poisoned Data
data/poisoned
RAG Pipeline
- Ingestion
src/ingestion - AST Chunking
src/chunking - Embeddings
src/embeddings - Vector Store
src/vectorstore - Context Retrieval
src/retrieval - Code Generation
src/generation
Security Evaluation
- Poisoning Attacks
src/poisoning - Security Defense
src/defense - Static Analysis
- Security Evaluation
src/evaluation - Evaluation Results
results
Configuration
- Pipeline Config
src/config.py
Other components
- Code LLM
Connections 13
- Clean Data → Ingestion: ingests
- Poisoned Data → Ingestion: ingests
- Ingestion → AST Chunking: passes code
- AST Chunking → Embeddings: creates chunks
- Embeddings → Vector Store: indexes vectors
- Poisoning Attacks → Vector Store: injects attacks
- Context Retrieval → Vector Store: queries
- Context Retrieval → Security Defense: passes context
- Security Defense → Static Analysis: may invoke
- Security Defense → Code Generation: passes filtered context
- Code Generation → Code LLM: requests generation
- Code Generation → Security Evaluation: passes generated code
- Security Evaluation → Evaluation Results: records metrics