一个源代码分析工具,结合了跨文件纹章分析和基于规则的检测,以识别出脆弱性模式,并带有可选的AI辅助假
[!TIP] Fun fact: The name Nika actually comes from the anime One Piece.
Nika is an open-source source code review and static analysis tool for security engineers who need to identify exploit paths in Java microservices. It performs cross-file taint analysis to trace attacker-controlled input across application layers and determine whether that input reaches a security-sensitive sink.
Many exploitable issues are not visible inside a single file. Request data may enter through a controller, pass through DTOs and service layers, and only become dangerous when it reaches a sink such as a database query, file operation, template engine, reflection API, or outbound network call.
Nika is built for that review problem. Instead of just identifying dangerous sinks, it traces data flow across files and functions so security engineers can determine whether a path is actually reachable.
Nika currently supports the following vulnerability categories:
At a high level, Nika follows this analysis flow:
You can use pre-built docker images.
git clone https://github.com/PhonePe/nika.git
docker pull ghcr.io/phonepe/nika:latest
export NIKA_IMAGE=ghcr.io/phonepe/nika
./run.sh --path /absolute/path/to/code --config /absolute/path/to/crtConfig.yml --output ./report.html
You still need to clone the repository after pulling the image, since
run.shmakes it easier to run Nika by handling multiple mounts for you.
or build a docker image yourself.
git clone https://github.com/PhonePe/nika.git
cd nika
./build.sh
./run.sh --path /absolute/path/to/code --config /absolute/path/to/crtConfig.yml --output ./report.html
git clone https://github.com/PhonePe/nika.git
cd nika
./native-build.sh
./native-run.sh --path /absolute/path/to/code --output ./report.html
/absolute/path/to/crtConfig.yml./absolute/path/to/native-crtConfig.yml.LLMConfig:
API_KEY: 'API_TOKEN'
LLM_URL: 'https://chatgpt.com/api/v1'
MODEL: 'GPT-5'
MAX_TOOL_CALLS: 10
MAX_ITERATIONS: 15
RECURSION_LIMIT: 100
PROMPT_COST_PER_MILLION: 1.25
COMPLETION_COST_PER_MILLION: 10.0
llm_review_enabled: false
To know more about Nika and it's features, you can read our detailed documentation here.
Java is the only fully supported language today; support for other languages remains planned.
暂无开放 Issues,或尚未同步最近议题。