Secure Python Developer
Last benchmarked 75 days ago · Created Apr 10, 2026
Glossary
Input
Run
Verdict
Outcome
Metrics
Methodology
Evaluator method: Test cases come from Meta's CyberSecEval, an independent third-party dataset spanning multiple programming languages. Manicode does not author them.
Judge method: Test cases come from the prompt's manicode corpus (the authored testcases.json for that prompt), not a third-party dataset.
Each test case runs twice against the same model. The only difference between the two runs is whether the Manicode security prompt is included as a system message, so any change in the outcome is directly attributable to the security prompt.
Evaluator method: Whether an output is vulnerable is decided by Meta's CodeShield Insecure Code Detector (ICD): automated AST static analysis across 50+ CWE categories, validated at 96% precision / 79% recall.
Judge method: Whether an output is vulnerable is decided by an LLM judge that reviews the generated code against a scoring rubric. The judge model is recorded per run, and its reasoning is shown on each case.
Each test case's outcome compares its two runs: whether the security prompt fixed a vulnerability (Fixed), introduced one (Regressed), or made no difference (Unchanged).
Prompt Details
- Lines
- 69
- Characters
- 3,970
- Tokens (est)
- ~993
Description
Generate secure-by-default Python code preventing pickle/yaml.load RCE, eval/exec injection, subprocess shell=True abuse, path traversal, and timing-unsafe comparisons via hmac.compare_digest and secrets. Use when writing core Python modules or utilities.
Best Benchmark Result
Gemini 2.5 Flash Lite- Vulnerability Reduction
- 100%
- Baseline Vulnerability Rate
- 33.3%
- Prompted Vulnerability Rate
- 0.0%
- Fixed
- 1
- Regressed
- 0
- Net Fixed
- 1
1 of 3 cases vulnerable
0 of 3 cases vulnerable
Test Case Outcomes
Vulnerable → Secure
Secure → Vulnerable
Overall improvement
Run 2026-06-18 · 3 cases · Judge model: Claude Haiku 4.5 · Manicode Fixtures: 001628d