Skip to content

CTX-Audit is a professional code security auditing terminal tool implemented in Rust, which integrates the capabilities of traditional static analysis and AI intelligent analysis.

License

Notifications You must be signed in to change notification settings

BlkSword/CTX-Audit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

45 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CTX-Audit

AI-Powered Professional Code Security Audit Terminal Tool

Multi-Agent Parallel Audit System

Rust License Version

English | ไธญๆ–‡


ไธญๆ–‡

็ฎ€ไป‹

CTX-Audit ๆ˜ฏไธ€ๆฌพ Rust ๅฎž็Žฐ็š„ไธ“ไธšไปฃ็ ๅฎ‰ๅ…จๅฎก่ฎก็ปˆ็ซฏๅทฅๅ…ท๏ผŒ้‡‡็”จ Multi-Agent Coordinator-Specialist ๅนถ่กŒๆžถๆž„๏ผŒ่žๅˆไบ†ไผ ็ปŸ้™ๆ€ๅˆ†ๆžไธŽAI ๆ™บ่ƒฝๅˆ†ๆž็š„่ƒฝๅŠ›๏ผš

# ไธ€้”ฎๆทฑๅบฆๅฎก่ฎก๏ผˆๅคšไธ“ๅฎถๅนถ่กŒๅˆ†ๆž๏ผ‰
ctx-audit audit ./myproject

ๆ ธๅฟƒ็‰นๆ€ง

Multi-Agent ๅนถ่กŒๅฎก่ฎก็ณป็ปŸ

็‰นๆ€ง ๆ่ฟฐ
Coordinator-Specialist ๆžถๆž„ ๅ…ฑไบซไปปๅŠกๅˆ—่กจ + P2P ๆถˆๆฏ็ณป็ปŸ + ่‡ชๆˆ‘่ฎค้ข†ๆœบๅˆถ
ไธ“ๅฎถ Agent SQLๆณจๅ…ฅใ€XSSใ€ๅ‘ฝไปคๆณจๅ…ฅใ€่ทฏๅพ„้ๅކใ€SSRFใ€่ฎค่ฏใ€ไธšๅŠก้€ป่พ‘ใ€ๅŠ ๅฏ†ใ€้…็ฝฎใ€้€š็”จๅˆ†ๆžๅธˆ
็ป“ๆžœ่šๅˆ ไฝ็ฝฎๅŽป้‡ใ€็ฑปๅž‹ๅŒน้…ใ€ๅคšไธ“ๅฎถๅ…ฑ่ฏ†้ชŒ่ฏ
ไบคๅ‰้ชŒ่ฏ 4 ็ง้ชŒ่ฏ็ญ–็•ฅ๏ผšๅ•ไธ€ไธ“ๅฎถใ€ๅคšไธ“ๅฎถๅ…ฑ่ฏ†ใ€ๅคšๆ ทๆ€งไธ“ๅฎถใ€้ซ˜็ฝฎไฟกไผ˜ๅ…ˆ
ไปปๅŠกไพ่ต–็ฎก็† ๆ”ฏๆŒไปปๅŠก้—ดไพ่ต–ๅ…ณ็ณปๅ’Œๅง”ๆดพๆจกๅผ
ๅŠจๆ€ไผ˜ๅ…ˆ็บง ๆ นๆฎๅฎก่ฎก่ฟ›ๅฑ•ๅŠจๆ€่ฐƒๆ•ดไปปๅŠกไผ˜ๅ…ˆ็บง
ๆ–‡ไปถ้”ๅฎš ้˜ฒๆญขๅคšไธ“ๅฎถๅŒๆ—ถๅˆ†ๆžๅŒไธ€ๆ–‡ไปถ

่ฏญไน‰็†่งฃๅผ•ๆ“Ž

็‰นๆ€ง ๆ่ฟฐ
ๆ„ๅ›พๆŽจๆ–ญ ไปŽๆจกๅผๅŒน้…ๅ‡็บงไธบไปฃ็ ๆ„ๅ›พ็†่งฃ๏ผˆ7 ็งๆ„ๅ›พ็ฑปๅž‹๏ผ‰
ไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ ็†่งฃๆก†ๆžถ็‰นๅฎš่ฏญไน‰๏ผˆDjangoใ€Flaskใ€Expressใ€Spring๏ผ‰
ๅฎ‰ๅ…จ่พน็•Œๆฃ€ๆต‹ ่ฏ†ๅˆซๆ˜พๅผ/้šๅผๅฎ‰ๅ…จๆœบๅˆถ

ไธšๅŠก้€ป่พ‘ๆผๆดžๆฃ€ๆต‹

็‰นๆ€ง ๆ่ฟฐ
IDOR ๆฃ€ๆต‹ ไธๅฎ‰ๅ…จ็š„็›ดๆŽฅๅฏน่ฑกๅผ•็”จ
ๆƒ้™็ป•่ฟ‡ ็ผบๅคฑๆƒ้™ๆฃ€ๆŸฅ่ฏ†ๅˆซ
็Šถๆ€ๆœบๅผ‚ๅธธ ็ซžๆ€ๆกไปถใ€้žๆณ•็Šถๆ€่ฝฌๆข
ไธšๅŠก่ง„ๅˆ™่ฟ่ง„ ๆ•ฐ้‡/้‡‘้ข/ๆ—ถ้—ด้™ๅˆถๆฃ€ๆต‹

ๅ…จๅฑ€ๆ•ฐๆฎๆต่ฟฝ่ธช

็‰นๆ€ง ๆ่ฟฐ
่ทจๆ–‡ไปถๆฑก็‚นๅˆ†ๆž ๅŸบไบŽ่ฐƒ็”จๅ›พ็š„่ฟ‡็จ‹้—ดๆ•ฐๆฎๆต่ฟฝ่ธช
DFS ่ทฏๅพ„ๆœ็ดข ไปŽๅ…ฅๅฃ็‚นๅˆฐๅฑ้™ฉๆฑ‡็š„ๅฎŒๆ•ด่ทฏๅพ„
ไปฃ็ ็ญพๅ ๆ”ฏๆŒๅฏ้‡็Žฐๆ€ง้ชŒ่ฏ

Git ๅކๅฒ"ไธพไธ€ๅไธ‰"

็‰นๆ€ง ๆ่ฟฐ
ๆผๆดžไฟฎๅคๅญฆไน  ไปŽ Git ๅކๅฒๆๅ–ไฟฎๅคๆจกๅผ
็›ธไผผๆผๆดžๅ‘็Žฐ ๅœจๆœชไฟฎๅคๆ–‡ไปถไธญๆŸฅๆ‰พ็›ธไผผๆผๆดž
ไฟฎๅคๆจกๅผ่ฏ†ๅˆซ ๅ‚ๆ•ฐๅŒ–ๆŸฅ่ฏขใ€่พ“ๅ…ฅ่ฝฌไน‰ใ€ๆƒ้™ๆฃ€ๆŸฅ็ญ‰

ๅŒ้‡้ชŒ่ฏ็ณป็ปŸ

็‰นๆ€ง ๆ่ฟฐ
ไธ‰้˜ถๆฎต้ชŒ่ฏ ๅˆๆฌกๅˆคๆ–ญ โ†’ ่‡ชๆˆ‘่ดจ็–‘ โ†’ ็ปผๅˆๅˆคๆ–ญ
4 ็ง่ดจ็–‘็ญ–็•ฅ ็Ÿ›็›พ่ฏๆฎใ€ๅ‡่ฎพๆฃ€ๆŸฅใ€ๆ”ปๅ‡ป่€…่ง†่ง’ใ€้—ๆผไฟๆŠค
็ฝฎไฟกๅบฆ่ฐƒๆ•ด ไธปๅŠจ่ฏไผช๏ผŒ้™ไฝŽ่ฏฏๆŠฅ็އ

็กฎๅฎšๆ€งๅฎก่ฎก

็‰นๆ€ง ๆ่ฟฐ
ๅ›บๅฎš็งๅญ ็กฎไฟๅฎก่ฎก็ป“ๆžœๅฏ้‡็Žฐ
็ป“ๆžœ็ผ“ๅญ˜ ๆ™บ่ƒฝ็ผ“ๅญ˜็ญ–็•ฅ๏ผˆๅ†…ๅญ˜/็ฃ็›˜/ๆททๅˆ๏ผ‰
ๅฏ้‡็Žฐๆ€ง้ชŒ่ฏ ๅคšๆฌก่ฟ่กŒ้ชŒ่ฏไธ€่‡ดๆ€ง

ๅ…ถไป–ๆ ธๅฟƒๅŠŸ่ƒฝ

็‰นๆ€ง ๆ่ฟฐ
ๅ‡่ฎพ้ฉฑๅŠจๅฎก่ฎก ไธ“ไธšๅฎ‰ๅ…จๅฎก่ฎกๆ€็ปด้“พ๏ผšHypothesis โ†’ Evidence โ†’ Verification โ†’ Conclusion
ReAct ๅพช็Žฏ ๆŽจ็†-่กŒๅŠจๅพช็Žฏ๏ผŒๅทฅๅ…ท่‡ชๅŠจ้€‰ๆ‹ฉ
ๆ™บ่ƒฝๅทฅๅ…ทๆŽจ่ ๆ นๆฎๅฎก่ฎก้˜ถๆฎต่‡ชๅŠจๆŽจ่ๆœ€ไฝณๅˆ†ๆžๅทฅๅ…ท
RAG ไธŠไธ‹ๆ–‡ๅขžๅผบ ๅŸบไบŽๅ‘้‡ๅญ˜ๅ‚จ็š„ไปฃ็ ๆฃ€็ดขๅขžๅผบ็”Ÿๆˆ
่‡ชๅŠจไฟฎๅค & PoC ่‡ชๅŠจ็”Ÿๆˆๆผๆดžไฟฎๅคๅปบ่ฎฎๅ’Œๆฆ‚ๅฟต้ชŒ่ฏไปฃ็ 
ๅคš่ฏญ่จ€ๆ”ฏๆŒ ้€š่ฟ‡ tree-sitter ๆ”ฏๆŒ 10+ ็ง่ฏญ่จ€

ๅฟซ้€Ÿๅผ€ๅง‹

# ไปŽๆบ็ ๆž„ๅปบ
git clone https://github.com/ctx-audit/ctx-audit.git
cd ctx-audit
cargo build --release

# ๅฎ‰่ฃ…ๅˆฐ็ณป็ปŸ
cargo install --path cli

# ้…็ฝฎ LLM API ๅฏ†้’ฅ
ctx-audit config set llm.api_key your-api-key

# ่ฟ่กŒๅฎก่ฎก
ctx-audit audit ./myproject

ไฝฟ็”จๆ–นๆณ•

# ๅคšไธ“ๅฎถๅนถ่กŒๅฎก่ฎก๏ผˆ้ป˜่ฎค๏ผ‰
ctx-audit audit ./myproject

# ๆŒ‡ๅฎšไธ“ๅฎถ็ฑปๅž‹
ctx-audit audit ./myproject --experts sql,xss,auth

# ๅฏ็”จ็กฎๅฎšๆ€งๅฎก่ฎก๏ผˆๅฏ้‡็Žฐ๏ผ‰
ctx-audit audit ./myproject --deterministic --seed 42

# Git ๅކๅฒ"ไธพไธ€ๅไธ‰"ๅˆ†ๆž
ctx-audit audit ./myproject --git-learning

# ไธšๅŠก้€ป่พ‘ไธ“้กนๆฃ€ๆต‹
ctx-audit audit ./myproject --business-logic

# ๅŒ้‡้ชŒ่ฏๆจกๅผ
ctx-audit audit ./myproject --dual-verification

# ๅฟซ้€Ÿ่ง„ๅˆ™ๆ‰ซๆ
ctx-audit scan ./myproject

# ๅฏๅŠจไบคไบ’ๅผ TUI ็•Œ้ข
ctx-audit ui ./myproject

# REPL ๅฏน่ฏๆจกๅผ
ctx-audit chat

# ๅˆ†ๆžๅ•ไธชๆ–‡ไปถ
ctx-audit analyze ./src/main.py

# ็ฎก็†ๆผๆดžๅ‘็Žฐ
ctx-audit findings list
ctx-audit findings export --format json

# ้…็ฝฎ็ฎก็†
ctx-audit config show
ctx-audit config set llm.api_key your-api-key
ctx-audit config validate --test-llm

CLI ๅญๅ‘ฝไปค

ๅ‘ฝไปค ๅŠŸ่ƒฝ
audit <path> AI ๆทฑๅบฆๅฎก่ฎก๏ผˆๅคšไธ“ๅฎถๅนถ่กŒ๏ผ‰
scan <path> ่ง„ๅˆ™ๅฟซ้€Ÿๆ‰ซๆ
chat [path] REPL ๅฏน่ฏๆจกๅผ
ui [path] TUI ็•Œ้ข
analyze <file> ๅ•ๆ–‡ไปถๅˆ†ๆž
findings <action> ๆผๆดž็ฎก็†
config <action> ้…็ฝฎ็ฎก็†
completion <shell> Shell ่กฅๅ…จ

CLI ้€‰้กน

# ๅฎก่ฎก้€‰้กน
ctx-audit audit ./project [OPTIONS]

# ๅคš Agent ้…็ฝฎ
--experts <types>     # ๆŒ‡ๅฎšไธ“ๅฎถ็ฑปๅž‹๏ผšsql,xss,command,path,ssrf,auth,bizlogic,crypto,config,general

# ็กฎๅฎšๆ€งๅฎก่ฎก
--deterministic       # ๅฏ็”จ็กฎๅฎšๆ€งๅฎก่ฎก
--seed <value>        # ๆŒ‡ๅฎš้šๆœบ็งๅญ

# ็‰นๆฎŠๅˆ†ๆžๆจกๅผ
--git-learning        # ๅฏ็”จ Git ๅކๅฒ"ไธพไธ€ๅไธ‰"ๅˆ†ๆž
--business-logic      # ๅฏ็”จไธšๅŠก้€ป่พ‘ไธ“้กนๆฃ€ๆต‹
--dual-verification   # ๅฏ็”จๅŒ้‡้ชŒ่ฏๆจกๅผ

็ณป็ปŸๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                              CLI (clap)                                     โ”‚
โ”‚     audit โ”‚ scan โ”‚ chat โ”‚ ui โ”‚ analyze โ”‚ findings โ”‚ config                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                     โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                         Agent Engine                                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚                    Multi-Agent System                                โ”‚   โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚   โ”‚
โ”‚  โ”‚  โ”‚Coordinator โ”‚โ”€โ”€โ”€โ”‚SharedTaskListโ”‚โ”€โ”€โ”€โ”‚ Result Aggregator      โ”‚   โ”‚   โ”‚
โ”‚  โ”‚  โ”‚(ๅ่ฐƒไธญๅฟƒ)   โ”‚   โ”‚(ๅ…ฑไบซไปปๅŠกๅˆ—่กจ) โ”‚   โ”‚ (ๅŽป้‡+ๅ…ฑ่ฏ†้ชŒ่ฏ)         โ”‚   โ”‚   โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚   โ”‚
โ”‚  โ”‚         โ”‚                              โ”‚           โ”‚               โ”‚   โ”‚
โ”‚  โ”‚         โ”‚         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚   โ”‚
โ”‚  โ”‚         โ”‚         โ–ผ                    โ–ผ                    โ–ผ       โ”‚   โ”‚
โ”‚  โ”‚         โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚   โ”‚
โ”‚  โ”‚         โ””โ”€โ–ถโ”‚SQL Expertโ”‚         โ”‚XSS Expertโ”‚         โ”‚Auth Expertโ”‚...โ”‚   โ”‚
โ”‚  โ”‚            โ”‚Specialistโ”‚         โ”‚Specialistโ”‚         โ”‚Specialistโ”‚   โ”‚   โ”‚
โ”‚  โ”‚            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚   โ”‚
โ”‚  โ”‚                   โ–ฒ                    โ–ฒ                    โ–ฒ        โ”‚   โ”‚
โ”‚  โ”‚                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ”‚   โ”‚
โ”‚  โ”‚                                        โ”‚                            โ”‚   โ”‚
โ”‚  โ”‚                              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                   โ”‚   โ”‚
โ”‚  โ”‚                              โ”‚   Mailbox (P2P)   โ”‚                   โ”‚   โ”‚
โ”‚  โ”‚                              โ”‚  (ๆถˆๆฏไผ ้€’็ณป็ปŸ)    โ”‚                   โ”‚   โ”‚
โ”‚  โ”‚                              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                   โ”‚   โ”‚
โ”‚  โ”‚                                        โ”‚                            โ”‚   โ”‚
โ”‚  โ”‚                              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                   โ”‚   โ”‚
โ”‚  โ”‚                              โ”‚ CrossValidator   โ”‚                   โ”‚   โ”‚
โ”‚  โ”‚                              โ”‚ (ไบคๅ‰้ชŒ่ฏ)        โ”‚                   โ”‚   โ”‚
โ”‚  โ”‚                              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                   โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                              โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚                    Semantic Understanding                            โ”‚   โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                        โ”‚   โ”‚
โ”‚  โ”‚  โ”‚ IntentInferencer โ”‚  โ”‚ContextAwareAnalyzerโ”‚                       โ”‚   โ”‚
โ”‚  โ”‚  โ”‚ (ๆ„ๅ›พๆŽจๆ–ญ: 7็ง)  โ”‚  โ”‚ (ๆก†ๆžถ่ฏญไน‰+ๅฎ‰ๅ…จ่พน็•Œ) โ”‚                        โ”‚   โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                        โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                              โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚                    Business Logic Analyzer                           โ”‚   โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚   โ”‚
โ”‚  โ”‚  โ”‚ IDOR Detectorโ”‚  โ”‚Authz Detectorโ”‚  โ”‚ StateMachine Analyzer     โ”‚  โ”‚   โ”‚
โ”‚  โ”‚  โ”‚ (IDORๆฃ€ๆต‹)   โ”‚  โ”‚ (ๆƒ้™็ป•่ฟ‡)    โ”‚  โ”‚ (็ซžๆ€ๆกไปถ)                โ”‚  โ”‚   โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                              โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚                        Core Components                                โ”‚   โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚   โ”‚
โ”‚  โ”‚  โ”‚ SecurityAudit   โ”‚  โ”‚ ToolRecommender โ”‚  โ”‚   PhaseExecutor     โ”‚  โ”‚   โ”‚
โ”‚  โ”‚  โ”‚ Chain           โ”‚  โ”‚                 โ”‚  โ”‚                     โ”‚  โ”‚   โ”‚
โ”‚  โ”‚  โ”‚ (ๅ‡่ฎพ้ฉฑๅŠจๅฎก่ฎก)   โ”‚  โ”‚ (ๆ™บ่ƒฝๅทฅๅ…ทๆŽจ่)   โ”‚  โ”‚ (ไบ”้˜ถๆฎตๅฎก่ฎกๆ‰ง่กŒ)    โ”‚  โ”‚   โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚   โ”‚
โ”‚  โ”‚                                                                          โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚   โ”‚
โ”‚  โ”‚  โ”‚ ReAct Loop      โ”‚  โ”‚ RAG Retriever   โ”‚  โ”‚ Fix & PoC Generator โ”‚  โ”‚   โ”‚
โ”‚  โ”‚  โ”‚ (ๆŽจ็†-่กŒๅŠจๅพช็Žฏ)  โ”‚  โ”‚ (ไธŠไธ‹ๆ–‡ๅขžๅผบ)     โ”‚  โ”‚ (ไฟฎๅคไธŽ้ชŒ่ฏ็”Ÿๆˆ)    โ”‚  โ”‚   โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                     โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                              Analysis Layer                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  GlobalFlowGraph     โ”‚  โ”‚ GitHistoryAnalyzer   โ”‚  โ”‚ DualVerificationโ”‚  โ”‚
โ”‚  โ”‚  (่ทจๆ–‡ไปถๆ•ฐๆฎๆต่ฟฝ่ธช)   โ”‚  โ”‚ ("ไธพไธ€ๅไธ‰"ๅญฆไน )       โ”‚  โ”‚ (ๅŒ้‡้ชŒ่ฏ็ณป็ปŸ)   โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                     โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                              Tools System                                   โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚ Taint Tools โ”‚ โ”‚ AST Tools   โ”‚ โ”‚ Search Toolsโ”‚ โ”‚ Write Tools   โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                     โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                              Core Library                                   โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚ EnhancedTaint   โ”‚  โ”‚ CrossFileTaint  โ”‚  โ”‚   CacheManager      โ”‚       โ”‚
โ”‚  โ”‚ Analyzer        โ”‚  โ”‚ Analyzer        โ”‚  โ”‚                     โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚ AST Engine      โ”‚  โ”‚ Rule Engine     โ”‚  โ”‚ Vector Store        โ”‚       โ”‚
โ”‚  โ”‚ (tree-sitter)   โ”‚  โ”‚ (YAML ่ง„ๅˆ™)     โ”‚  โ”‚ (่ฏญไน‰ๆœ็ดข)          โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                     โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                              LLM Integration                                โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚ Anthropic       โ”‚  โ”‚ OpenAI          โ”‚  โ”‚ Ollama              โ”‚       โ”‚
โ”‚  โ”‚ (Claude 3.5)    โ”‚  โ”‚ (GPT-4)         โ”‚  โ”‚ (ๆœฌๅœฐๆจกๅž‹)          โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅฎก่ฎกๆต็จ‹

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   ๅˆๅง‹ๅŒ–     โ”‚ โ”€โ”€โ–ถโ”‚ ็กฎๅฎšๆ€งๆ‰ซๆ   โ”‚ โ”€โ”€โ–ถโ”‚  ๆทฑๅบฆๅˆ†ๆž    โ”‚ โ”€โ”€โ–ถโ”‚   ้ชŒ่ฏ       โ”‚ โ”€โ”€โ–ถโ”‚   ๆŠฅๅ‘Š       โ”‚
โ”‚              โ”‚    โ”‚              โ”‚    โ”‚              โ”‚    โ”‚              โ”‚    โ”‚              โ”‚
โ”‚ ้กน็›ฎไฟกๆฏๆ”ถ้›† โ”‚    โ”‚ ๆฑก็‚นๅˆ†ๆž     โ”‚    โ”‚ Multi-Agent  โ”‚    โ”‚ ๅŒ้‡้ชŒ่ฏ     โ”‚    โ”‚ ็ป“ๆž„ๅŒ–ๆŠฅๅ‘Š   โ”‚
โ”‚ ๆŠ€ๆœฏๆ ˆ่ฏ†ๅˆซ   โ”‚    โ”‚ ๆจกๅผๆฃ€ๆต‹     โ”‚    โ”‚ ่ฏญไน‰็†่งฃ     โ”‚    โ”‚ ไบคๅ‰้ชŒ่ฏ     โ”‚    โ”‚ ไฟฎๅคๅปบ่ฎฎ     โ”‚
โ”‚ ๆ”ปๅ‡ป้ข่ฏ„ไผฐ   โ”‚    โ”‚ ่ง„ๅˆ™ๅŒน้…     โ”‚    โ”‚ ไธšๅŠก้€ป่พ‘     โ”‚    โ”‚ ็ฝฎไฟกๅบฆ่ฏ„ไผฐ   โ”‚    โ”‚ ๅฏผๅ‡บๅŠŸ่ƒฝ     โ”‚
โ”‚              โ”‚    โ”‚              โ”‚    โ”‚ Gitๅญฆไน       โ”‚    โ”‚ PoC ็”Ÿๆˆ     โ”‚    โ”‚              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ไธ“ๅฎถ Agent ็ฑปๅž‹

ไธ“ๅฎถ ไธ“้•ฟ้ข†ๅŸŸ ๅ…ธๅž‹ๆผๆดž
SQL Expert SQL ๆณจๅ…ฅๆฃ€ๆต‹ SQLiใ€NoSQL ๆณจๅ…ฅ
XSS Expert ่ทจ็ซ™่„šๆœฌๆ”ปๅ‡ป Reflected XSSใ€Stored XSSใ€DOM XSS
Command Expert ๅ‘ฝไปคๆณจๅ…ฅๆฃ€ๆต‹ OS ๅ‘ฝไปคๆณจๅ…ฅใ€ไปฃ็ ๆณจๅ…ฅ
Path Expert ่ทฏๅพ„้ๅކๆฃ€ๆต‹ ่ทฏๅพ„้ๅކใ€ๆ–‡ไปถๅŒ…ๅซ
SSRF Expert ่ฏทๆฑ‚ไผช้€ ๆฃ€ๆต‹ SSRFใ€XXE
Auth Expert ่ฎค่ฏๆŽˆๆƒๆฃ€ๆต‹ ่ฎค่ฏ็ป•่ฟ‡ใ€ไผš่ฏ็ฎก็†
BizLogic Expert ไธšๅŠก้€ป่พ‘ๆผๆดž IDORใ€ๆ”ฏไป˜็ป•่ฟ‡ใ€็ซžๆ€ๆกไปถ
Crypto Expert ๅŠ ๅฏ†ๅฎ‰ๅ…จๆฃ€ๆต‹ ๅผฑๅŠ ๅฏ†ใ€็กฌ็ผ–็ ๅฏ†้’ฅ
Config Expert ้…็ฝฎๅฎ‰ๅ…จๆฃ€ๆต‹ ไธๅฎ‰ๅ…จ้…็ฝฎใ€CORS/CSP
General Analyst ้€š็”จๅˆ†ๆž ็ปผๅˆๅฎ‰ๅ…จ่ฏ„ไผฐ

ๅ†…็ฝฎไธ“ไธšๅทฅๅ…ท

ๅˆ†ๆžๅทฅๅ…ท

ๅทฅๅ…ท ๅŠŸ่ƒฝ
trace_taint ๆ‰ง่กŒๆฑก็‚นๅˆ†ๆž๏ผŒ่ฟฝ่ธชๆ•ฐๆฎๆต๏ผˆๅ˜้‡็บง๏ผ‰
detect_vulnerability_patterns ๆฃ€ๆต‹ๅธธ่งๆผๆดžๆจกๅผ
global_taint_analysis ่ทจๆ–‡ไปถๆฑก็‚นๅˆ†ๆž
batch_pattern_scan ๆ‰น้‡ๆจกๅผๆ‰ซๆ

ๆ–‡ไปถไธŽๆœ็ดขๅทฅๅ…ท

ๅทฅๅ…ท ๅŠŸ่ƒฝ
read_file ่ฏปๅ–ๆ–‡ไปถๅ†…ๅฎน
list_files ๅˆ—ๅ‡บ็›ฎๅฝ•ๆ–‡ไปถ
search_symbol ๆœ็ดข็ฌฆๅทๅฎšไน‰
get_ast_context ่Žทๅ– AST ไธŠไธ‹ๆ–‡
text_search ๆ–‡ๆœฌๆœ็ดข

่พ“ๅ‡บๅทฅๅ…ท

ๅทฅๅ…ท ๅŠŸ่ƒฝ
report_finding ๆŠฅๅ‘Šๆผๆดžๅ‘็Žฐ
write_file ๅ†™ๅ…ฅๆ–‡ไปถ๏ผˆ่‡ชๅŠจไฟฎๅค๏ผ‰
execute_shell ๆ‰ง่กŒ Shell ๅ‘ฝไปค

ๆ™บ่ƒฝๅทฅๅ…ทๆŽจ่

ๆ นๆฎๅฎก่ฎก้˜ถๆฎต่‡ชๅŠจๆŽจ่ๆœ€ไฝณๅทฅๅ…ท๏ผš

้˜ถๆฎต ๆŽจ่ๅทฅๅ…ท ็”จ้€”
ๅˆๅง‹ๅŒ– list_files, get_file_structure ้กน็›ฎ็ป“ๆž„ๅˆ†ๆž
็กฎๅฎšๆ€งๆ‰ซๆ global_taint_analysis, batch_pattern_scan ๆ‰น้‡ๆผๆดžๆฃ€ๆต‹
ๆทฑๅบฆๅˆ†ๆž trace_taint, detect_vulnerability_patterns ็ฒพ็กฎๆผๆดž่ฟฝ่ธช
้ชŒ่ฏ detect_vulnerability_patterns๏ผˆไบคๅ‰้ชŒ่ฏ๏ผ‰ ็กฎ่ฎคๆผๆดžๆœ‰ๆ•ˆๆ€ง

ๆ”ฏๆŒ็š„ๆผๆดž็ฑปๅž‹

18+ ็งๆผๆดž็ฑปๅž‹๏ผŒๅฎŒๆ•ด CWE ๆ˜ ๅฐ„๏ผš

ๆผๆดž็ฑปๅž‹ ไธฅ้‡็จ‹ๅบฆ CWE
SQL ๆณจๅ…ฅ Critical CWE-89
ๅ‘ฝไปคๆณจๅ…ฅ Critical CWE-78
ไปฃ็ ๆณจๅ…ฅ Critical CWE-94
่ฎค่ฏ็ป•่ฟ‡ Critical CWE-287
่ทฏๅพ„้ๅކ High CWE-22
XSS High CWE-79
SSRF High CWE-918
XXE High CWE-611
ไธๅฎ‰ๅ…จๅๅบๅˆ—ๅŒ– High CWE-502
็กฌ็ผ–็ ๅฏ†้’ฅ High CWE-798
IDOR High CWE-639
ๅผ€ๆ”พ้‡ๅฎšๅ‘ Medium CWE-601
LDAP ๆณจๅ…ฅ Medium CWE-90
ๆ—ฅๅฟ—ๆณจๅ…ฅ Medium CWE-93
ไธๅฎ‰ๅ…จ Cookie Medium CWE-614
ๅผฑๅŠ ๅฏ† Medium CWE-327
ไธๅฎ‰ๅ…จ้šๆœบๆ•ฐ Medium CWE-338
ๆ•ๆ„Ÿไฟกๆฏๆณ„้œฒ High CWE-200
่ฐƒ่ฏ•ไฟกๆฏๆณ„้œฒ Low CWE-209

TUI ็•Œ้ข

ๅŸบไบŽ ratatui ็š„็ปˆ็ซฏ็”จๆˆท็•Œ้ข๏ผš

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Files         โ”‚  Code View                                    โ”‚ Findings โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚ โ–ธ src/     โ”‚ โ”‚ โ”‚  1 โ”‚ def process_input(user_data):         โ”‚ โ”‚ โ”‚ HIGH โ”‚ โ”‚
โ”‚ โ”‚   main.py  โ”‚ โ”‚ โ”‚  2 โ”‚     # ๆฑก็‚นๆบ: ็”จๆˆท่พ“ๅ…ฅ                 โ”‚ โ”‚ โ”‚ SQLi โ”‚ โ”‚
โ”‚ โ”‚   utils.py โ”‚ โ”‚ โ”‚  3 โ”‚     query = f"SELECT * FROM users     โ”‚ โ”‚ โ”‚ CMDi โ”‚ โ”‚
โ”‚ โ”‚   auth.py  โ”‚ โ”‚ โ”‚  4 โ”‚               WHERE id = {user_data}" โ”‚ โ”‚ โ”‚ XSS  โ”‚ โ”‚
โ”‚ โ”‚ โ–ธ tests/   โ”‚ โ”‚ โ”‚  5 โ”‚     # ๅฑ้™ฉๅ‡ฝๆ•ฐ: SQL ๆ‰ง่กŒ               โ”‚ โ”‚ โ”‚ ...  โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Agent Status                                                              โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚ [Multi-Agent] SQL Expert: โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘ 80% | XSS Expert: โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘ 75%โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Chat                                                                     โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚ > ๆฃ€ๆŸฅ่ฟ™ไธชๆ–‡ไปถๆ˜ฏๅฆๅญ˜ๅœจ SQL ๆณจๅ…ฅๆผๆดž                                   โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅฟซๆท้”ฎ:

  • Tab / Shift+Tab - ๅˆ‡ๆข้ขๆฟ
  • Enter - ๅ‘้€ๆถˆๆฏ
  • Esc - ้€€ๅ‡บ
  • Ctrl+C - ๅผบๅˆถ้€€ๅ‡บ

้…็ฝฎ

้…็ฝฎๆ–‡ไปถไฝ็ฝฎ๏ผš

  • Windows: %APPDATA%\ctx-audit\config.toml
  • macOS/Linux: ~/.config/ctx-audit/config.toml
[llm]
provider = "anthropic"
api_key = "sk-ant-..."
model = "claude-3-5-sonnet-20241022"
max_tokens = 4096
temperature = 0.7

[multi_agent]
enabled = true
max_parallel_workers = 5
default_experts = ["sql", "xss", "auth", "bizlogic"]

[deterministic]
enabled = false
seed = 42
cache_strategy = "smart"  # disabled, memory_only, persistent, smart

[git_learning]
enabled = false
max_commits = 100
similarity_threshold = 0.5

[dual_verification]
enabled = true
question_rounds = 2
min_confidence_threshold = 0.6

[scan]
rules_dir = "./rules"
max_threads = 4
exclude_patterns = ["node_modules", "target", "vendor", ".git"]

[output]
format = "terminal"  # terminal, json, sarif
color = true
verbose = false

ๆ”ฏๆŒ็š„ LLM ๆไพ›ๅ•†

ๆไพ›ๅ•† provider ๅ€ผ ๆŽจ่ๆจกๅž‹ ่ฏดๆ˜Ž
Anthropic anthropic Claude 3.5 Sonnet ๆŽจ่๏ผŒๅคๆ‚ๅˆ†ๆž่ƒฝๅŠ›ๆœ€ๅผบ
OpenAI openai GPT-4 / GPT-4o ้€š็”จๅˆ†ๆž
OpenAI Compatible openai-compatible - ่‡ชๅฎšไน‰็ซฏ็‚น๏ผˆๅฆ‚ vLLM๏ผ‰
Ollama ollama Llama 3 / Qwen ๆœฌๅœฐๆจกๅž‹๏ผŒ้š็งไฟๆŠค

้กน็›ฎ็ป“ๆž„

CTX-Audit/
โ”œโ”€โ”€ cli/                         # CLI ๅทฅๅ…ท (ctx-audit)
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ commands/           # CLI ๅญๅ‘ฝไปคๅฎž็Žฐ
โ”‚   โ”‚   โ”œโ”€โ”€ tui/                # ็ปˆ็ซฏ UI (ratatui)
โ”‚   โ”‚   โ”œโ”€โ”€ database/           # SQLite ๆ•ฐๆฎๅฑ‚
โ”‚   โ”‚   โ””โ”€โ”€ config.rs           # ้…็ฝฎ็ฎก็†
โ”‚   โ””โ”€โ”€ Cargo.toml
โ”œโ”€โ”€ core/                        # deepaudit-core ๅ…ฑไบซๅบ“
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ ast/                # AST ๅผ•ๆ“Ž (tree-sitter)
โ”‚       โ”œโ”€โ”€ scanner/            # ๆ–‡ไปถๆ‰ซๆๅ™จ
โ”‚       โ”œโ”€โ”€ rules/              # ่ง„ๅˆ™ๅผ•ๆ“Ž
โ”‚       โ”œโ”€โ”€ analysis/           # ๅˆ†ๆžๆจกๅ—
โ”‚       โ””โ”€โ”€ indexing/           # ไปฃ็ ็ดขๅผ•
โ”œโ”€โ”€ agent-engine/               # Agent ๅผ•ๆ“Ž
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ multi_agent/        # Multi-Agent ็ณป็ปŸ (Coordinator-Specialist)
โ”‚       โ”‚   โ”œโ”€โ”€ system.rs       # ็ปŸไธ€็ณป็ปŸๆŽฅๅฃ (UnifiedMultiAgentSystem)
โ”‚       โ”‚   โ”œโ”€โ”€ coordinator/    # Coordinator-Specialist ๆžถๆž„
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ mod.rs      # AuditTeamSystem
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ coordinator.rs  # Coordinator ๅ่ฐƒๅ™จ
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ specialist.rs    # Specialist ไธ“ๅฎถ
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ shared_task_list.rs  # ๅ…ฑไบซไปปๅŠกๅˆ—่กจ
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ mailbox.rs     # P2P ๆถˆๆฏ็ณป็ปŸ
โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ dynamic_priority.rs  # ๅŠจๆ€ไผ˜ๅ…ˆ็บง
โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ cross_validation.rs  # ไบคๅ‰้ชŒ่ฏ
โ”‚       โ”‚   โ”œโ”€โ”€ task.rs         # AuditTask ไปปๅŠกๅฎšไน‰
โ”‚       โ”‚   โ”œโ”€โ”€ aggregator.rs   # ResultAggregator ่šๅˆๅ™จ
โ”‚       โ”‚   โ”œโ”€โ”€ validator.rs    # CrossValidator ไบคๅ‰้ชŒ่ฏ
โ”‚       โ”‚   โ”œโ”€โ”€ prompts.rs      # ไธ“ๅฎถๆ็คบ่ฏๆจกๆฟ
โ”‚       โ”‚   โ””โ”€โ”€ helpers.rs      # ่พ…ๅŠฉๅ‡ฝๆ•ฐ
โ”‚       โ”œโ”€โ”€ semantic/           # ่ฏญไน‰็†่งฃๅผ•ๆ“Ž
โ”‚       โ”‚   โ”œโ”€โ”€ mod.rs          # SemanticUnderstandingEngine
โ”‚       โ”‚   โ”œโ”€โ”€ intent_inferencer.rs  # IntentInferencer
โ”‚       โ”‚   โ””โ”€โ”€ context_analyzer.rs   # ContextAwareAnalyzer
โ”‚       โ”œโ”€โ”€ analysis/           # ้ซ˜็บงๅˆ†ๆžๆจกๅ—
โ”‚       โ”‚   โ”œโ”€โ”€ business_logic.rs     # BusinessLogicAnalyzer
โ”‚       โ”‚   โ”œโ”€โ”€ global_flow.rs        # GlobalFlowGraph
โ”‚       โ”‚   โ””โ”€โ”€ git_history.rs        # GitHistoryAnalyzer
โ”‚       โ”œโ”€โ”€ verification/       # ๅŒ้‡้ชŒ่ฏ็ณป็ปŸ
โ”‚       โ”‚   โ”œโ”€โ”€ dual_verification.rs  # DualVerificationSystem
โ”‚       โ”‚   โ””โ”€โ”€ self_questioner.rs    # SelfQuestioner
โ”‚       โ”œโ”€โ”€ deterministic/      # ็กฎๅฎšๆ€งๅฎก่ฎก
โ”‚       โ”‚   โ”œโ”€โ”€ config.rs       # DeterministicConfig
โ”‚       โ”‚   โ”œโ”€โ”€ cache.rs        # AuditCache
โ”‚       โ”‚   โ””โ”€โ”€ executor.rs     # DeterministicExecutor
โ”‚       โ”œโ”€โ”€ react/              # ReAct ๅพช็Žฏ
โ”‚       โ”œโ”€โ”€ context/            # RAG ไธŠไธ‹ๆ–‡ๆฃ€็ดข
โ”‚       โ”œโ”€โ”€ fix/                # ่‡ชๅŠจไฟฎๅค็”Ÿๆˆ
โ”‚       โ”œโ”€โ”€ poc/                # PoC ๆผๆดž้ชŒ่ฏ
โ”‚       โ”œโ”€โ”€ audit_chain.rs      # ๅฎก่ฎกๆ€็ปด้“พ
โ”‚       โ”œโ”€โ”€ tool_recommender.rs # ๅทฅๅ…ทๆŽจ่
โ”‚       โ””โ”€โ”€ phase_executor.rs   # ้˜ถๆฎตๆ‰ง่กŒๅ™จ
โ”œโ”€โ”€ llm/                        # LLM ๅฎขๆˆท็ซฏ
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ providers/          # Anthropic, OpenAI, Ollama
โ”‚       โ”œโ”€โ”€ embedding.rs        # ๆ–‡ๆœฌๅตŒๅ…ฅ
โ”‚       โ””โ”€โ”€ stream.rs           # ๆตๅผๅ“ๅบ”
โ”œโ”€โ”€ tools/                      # ๅทฅๅ…ท็ณป็ปŸ
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ ast_tools.rs        # AST ๅทฅๅ…ท
โ”‚       โ”œโ”€โ”€ taint_tools.rs      # ๆฑก็‚นๅˆ†ๆžๅทฅๅ…ท
โ”‚       โ”œโ”€โ”€ pattern_tools.rs    # ๆจกๅผๅŒน้…ๅทฅๅ…ท
โ”‚       โ”œโ”€โ”€ search_tools.rs     # ๆœ็ดขๅทฅๅ…ท
โ”‚       โ”œโ”€โ”€ shell_tools.rs      # Shell ๅทฅๅ…ท
โ”‚       โ””โ”€โ”€ write_tools.rs      # ๅ†™ๅ…ฅๅทฅๅ…ท
โ”œโ”€โ”€ rules/                      # ๅฎ‰ๅ…จ่ง„ๅˆ™ YAML
โ”œโ”€โ”€ docs/                       # ๆ–‡ๆกฃ
โ”‚   โ””โ”€โ”€ OPTIMIZATION_PLAN.md    # ไผ˜ๅŒ–่ฎกๅˆ’
โ”œโ”€โ”€ Cargo.toml                  # Workspace ้…็ฝฎ
โ”œโ”€โ”€ CLAUDE.md                   # ๅผ€ๅ‘ๆŒ‡ๅ—
โ””โ”€โ”€ README.md                   # ๆœฌๆ–‡ไปถ

ๅผ€ๅ‘

# ๅผ€ๅ‘ๆž„ๅปบ
cargo build

# Release ๆž„ๅปบ
cargo build --release

# ่ฟ่กŒๆต‹่ฏ•
cargo test

# ไปฃ็ ๆฃ€ๆŸฅ
cargo clippy
cargo clippy --fix

# ๆ ผๅผๅŒ–
cargo fmt
cargo fmt -- --check

# ่ฟ่กŒ๏ผˆๅผ€ๅ‘ๆจกๅผ๏ผ‰
cargo run -- audit ./test-project --verbose

# ๆ—ฅๅฟ—่ฐƒ่ฏ• (Windows PowerShell)
$env:RUST_LOG="ctx_audit=debug"
cargo run -- audit ./project

# ๆ—ฅๅฟ—่ฐƒ่ฏ• (Linux/macOS)
RUST_LOG="ctx_audit=debug" cargo run -- audit ./project

ๆ•ฐๆฎๅบ“ไฝ็ฝฎ

ๅฎก่ฎกๆ•ฐๆฎๅญ˜ๅ‚จๅœจๆœฌๅœฐ SQLite ๆ•ฐๆฎๅบ“๏ผš

  • Windows: %APPDATA%\ctx-audit\audit.db
  • macOS/Linux: ~/.local/share/ctx-audit/audit.db

License

Apache License 2.0


English

Introduction

CTX-Audit is a professional code security audit terminal tool implemented in Rust, featuring a Multi-Agent Coordinator-Specialist Parallel Architecture that combines traditional static analysis with AI-powered intelligent analysis:

# One-command deep audit (multi-expert parallel analysis)
ctx-audit audit ./myproject

Key Features

Multi-Agent Parallel Audit System

Feature Description
Coordinator-Specialist Architecture Shared task list + P2P messaging + Self-claim mechanism
Expert Agents SQLi, XSS, Command Injection, Path Traversal, SSRF, Auth, BizLogic, Crypto, Config, General
Result Aggregation Location deduplication, type matching, multi-expert consensus
Cross Validation 4 strategies: SingleExpert, MultiExpertConsensus, DiverseExpertise, HighConfidenceFirst
Task Dependency Support for task dependencies and delegation mode
Dynamic Priority Dynamic task priority adjustment based on audit progress
File Locking Prevent multiple specialists from analyzing the same file

Semantic Understanding Engine

Feature Description
Intent Inference From pattern matching to code intent understanding (7 intent types)
Context Aware Framework-specific semantics (Django, Flask, Express, Spring)
Security Boundary Identify explicit/implicit security mechanisms

Business Logic Vulnerability Detection

Feature Description
IDOR Detection Insecure Direct Object Reference
Authorization Bypass Missing authorization checks
State Machine Anomalies Race conditions, invalid transitions
Business Rule Violations Quantity/amount/time limits

Global Data Flow Tracking

Feature Description
Cross-File Taint Call graph-based inter-procedural analysis
DFS Path Search Complete paths from entry points to sinks
Code Signature Reproducibility verification

Git History "Learn from Fixes"

Feature Description
Fix Pattern Learning Extract fix patterns from Git history
Similar Vulnerability Discovery Find similar unfixed vulnerabilities
Fix Pattern Recognition Parameterized queries, input escaping, permission checks

Dual Verification System

Feature Description
Three-Stage Verification Primary judgment โ†’ Self-questioning โ†’ Final conclusion
4 Questioning Strategies Contradiction evidence, assumption check, attacker perspective, missed protection
Confidence Adjustment Active falsification, reduce false positives

Deterministic Audit

Feature Description
Fixed Seed Ensures reproducible audit results
Result Caching Smart caching strategies (memory/disk/hybrid)
Reproducibility Verification Multi-run consistency verification

Quick Start

# Build from source
git clone https://github.com/ctx-audit/ctx-audit.git
cd ctx-audit
cargo build --release

# Install to system
cargo install --path cli

# Configure LLM API key
ctx-audit config set llm.api_key your-api-key

# Run audit
ctx-audit audit ./myproject

Usage

# Multi-expert parallel audit (default)
ctx-audit audit ./myproject

# Specify expert types
ctx-audit audit ./myproject --experts sql,xss,auth

# Enable deterministic audit (reproducible)
ctx-audit audit ./myproject --deterministic --seed 42

# Git history "learn from fixes" analysis
ctx-audit audit ./myproject --git-learning

# Business logic focused detection
ctx-audit audit ./myproject --business-logic

# Dual verification mode
ctx-audit audit ./myproject --dual-verification

# Quick rule scan
ctx-audit scan ./myproject

# Launch interactive TUI interface
ctx-audit ui ./myproject

# REPL chat mode
ctx-audit chat

# Analyze single file
ctx-audit analyze ./src/main.py

# Manage findings
ctx-audit findings list
ctx-audit findings export --format json

# Configuration
ctx-audit config show
ctx-audit config set llm.api_key your-api-key
ctx-audit config validate --test-llm

CLI Commands

Command Function
audit <path> AI deep audit (multi-expert parallel)
scan <path> Quick rule scan
chat [path] REPL chat mode
ui [path] TUI interface
analyze <file> Single file analysis
findings <action> Vulnerability management
config <action> Configuration
completion <shell> Shell completion

CLI Options

# Audit options
ctx-audit audit ./project [OPTIONS]

# Multi-Agent configuration
--experts <types>     # Specify expert types: sql,xss,command,path,ssrf,auth,bizlogic,crypto,config,general

# Deterministic audit
--deterministic       # Enable deterministic audit
--seed <value>        # Specify random seed

# Special analysis modes
--git-learning        # Enable Git history "learn from fixes" analysis
--business-logic      # Enable business logic focused detection
--dual-verification   # Enable dual verification mode

Configuration

Config file location:

  • Windows: %APPDATA%\ctx-audit\config.toml
  • macOS/Linux: ~/.config/ctx-audit/config.toml
[llm]
provider = "anthropic"
api_key = "sk-ant-..."
model = "claude-3-5-sonnet-20241022"
max_tokens = 4096
temperature = 0.7

[multi_agent]
enabled = true
max_parallel_workers = 5
default_experts = ["sql", "xss", "auth", "bizlogic"]

[deterministic]
enabled = false
seed = 42
cache_strategy = "smart"

[git_learning]
enabled = false
max_commits = 100
similarity_threshold = 0.5

[dual_verification]
enabled = true
question_rounds = 2
min_confidence_threshold = 0.6

Supported LLM Providers

Provider provider value Recommended Model Notes
Anthropic anthropic Claude 3.5 Sonnet Recommended, best for complex analysis
OpenAI openai GPT-4 / GPT-4o General-purpose
OpenAI Compatible openai-compatible - Custom endpoints (e.g., vLLM)
Ollama ollama Llama 3 / Qwen Local models, privacy protection

Development

# Development build
cargo build

# Release build
cargo build --release

# Run tests
cargo test

# Linting
cargo clippy
cargo clippy --fix

# Format
cargo fmt
cargo fmt -- --check

# Run (dev mode)
cargo run -- audit ./test-project --verbose

# Debug logging (Windows PowerShell)
$env:RUST_LOG="ctx_audit=debug"
cargo run -- audit ./project

# Debug logging (Linux/macOS)
RUST_LOG="ctx_audit=debug" cargo run -- audit ./project

License

Apache License 2.0

About

CTX-Audit is a professional code security auditing terminal tool implemented in Rust, which integrates the capabilities of traditional static analysis and AI intelligent analysis.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages