AI-powered codebase security & quality scanner with OWASP/NIST/ISO checklists, live CVE lookup, and CI/CD integration
Project description
Anoman CodeCheck
AI-powered codebase security and quality scanner with pre-built OWASP/NIST/ISO checklists, live CVE database lookup, supply chain scanning, and CI/CD-native output (SARIF, JUnit, GitLab, GitHub).
Uses Claude Opus via Anoman AI gateway with sovereign data routing.
Quick Start
pip install anoman-codecheck
export ANOMAN_API_KEY="anm-sk-your-key-here"
anoman-codecheck scan ./my-project
Why Anoman CodeCheck?
Traditional SAST tools and manual code reviews each solve part of the problem — but neither solves it completely. Anoman CodeCheck combines the depth of a senior security engineer's review with the speed and consistency of automation.
The Problem
| Challenge | Traditional SAST | Manual Code Review |
|---|---|---|
| Setup time | Hours to days (rules, exclusions, tuning) | Zero tooling, but needs scheduling |
| False positives | High — pattern matching triggers on safe code | Low — human judgment filters noise |
| Business logic flaws | Misses entirely — can't understand intent | Catches — human reads context |
| Novel vulnerabilities | Only finds known patterns | Can reason about new attack vectors |
| Compliance mapping | Basic (CWE only) | Depends on reviewer's knowledge |
| Supply chain risks | Separate tool (Snyk, Dependabot) | Usually skipped |
| Speed at scale | Fast on large codebases | Bottleneck — days/weeks for large reviews |
| Consistency | Deterministic but rigid | Varies by reviewer skill and fatigue |
| CI/CD integration | Good (SARIF, JUnit) | Manual gate — blocks pipelines |
| Cost | $50–500+/month per repo | $150–300/hour for specialist reviewers |
| Data residency | Data sent to US/EU vendor cloud | In-house only |
How Anoman CodeCheck Is Different
Anoman CodeCheck uses Claude Opus (one of the most capable reasoning models) to perform code review the way a senior security engineer would — reading the code, understanding business logic, tracing data flows, and reasoning about attack surfaces — but in minutes instead of days.
What you get:
- Understands context, not just patterns. An LLM reads your code like a human reviewer. It catches business logic flaws, insecure design patterns, and subtle vulnerabilities that regex-based SAST tools miss entirely.
- Zero configuration. Point it at a directory and scan. No rules to write, no exclusions to tune, no training data to maintain. The AI already knows what to look for.
- Framework-aware compliance. Every finding maps to a specific OWASP, NIST SP 800-53, ISO 27001, or CWE control ID. Your auditors get structured evidence, not a wall of text.
- Live CVE + supply chain in one pass. Dependencies are checked against the OSV.dev database in real-time during every scan. No separate SCA tool needed.
- Sovereign data routing. Choose where your code is processed: Singapore (PDPA compliant), Jakarta (UU PDP compliant), or US. Your source code never leaves the region you select.
- CI/CD native. Drop it into GitHub Actions, GitLab CI, or Jenkins with one command. SARIF for GitHub Code Scanning, JUnit XML for Jenkins, GitLab Code Quality for MR widgets. Exit code 1 blocks the pipeline on critical/high findings.
- One dependency. The entire tool is
httpx+ Python 3.9+. No JVM, no Docker, no binary downloads.
Side-by-Side Comparison
| Capability | Anoman CodeCheck | SonarQube / Semgrep | Manual Review |
|---|---|---|---|
| Business logic analysis | Yes (LLM reasoning) | No | Yes |
| Credential leak detection | Yes | Partial (regex) | Yes |
| OWASP/NIST/ISO mapping | 45+ checks, auto-mapped | CWE only | Manual |
| Custom checklists | JSON export/import | YAML rules (complex) | N/A |
| CVE/dependency scanning | Built-in (OSV.dev live) | Separate tool | Usually skipped |
| Data residency control | SG / ID / US selectable | Vendor cloud only | In-house |
| Setup time | 30 seconds | Hours to days | N/A |
| False positive rate | Low (contextual reasoning) | Medium-High | Low |
| Cost | Per-scan token cost | $150-450/mo per project | $150-300/hr |
| CI/CD output formats | SARIF, JUnit, GitLab, GitHub | SARIF, JSON | None |
| Offline/air-gap mode | No (needs API) | Yes (self-hosted) | Yes |
| Deterministic results | No (LLM variance) | Yes | No |
When to use SAST instead: If you need deterministic, reproducible results for audit evidence, or you're scanning 500+ files per run in a CI pipeline that runs 50x/day, traditional SAST is more cost-effective for high-frequency scans. Anoman CodeCheck is best for deep scans — pre-merge reviews, security audits, compliance checks, and catching what SAST misses.
Setup Guide
Step 1: Get an Anoman AI Account
- Go to https://app.anoman.io
- Click "Create Account"
- Sign up with Google, GitHub, or email + password
- Verify your email (check inbox for verification link)
Step 2: Create an API Key
- After signing in, go to API Keys in the sidebar
- Click "Create Key"
- Fill in:
- Name: e.g.
codecheck-scanner - Tier:
Teamor higher (for Bedrock sovereign access) - Region:
sg(Singapore) orid(Indonesia) - Region Preference (optional):
any— route to any provider (fastest)sg_only— data stays in Singapore (PDPA compliant)id_only— data stays in Jakarta (UU PDP compliant)
- Name: e.g.
- Click Create and copy the key (shown only once)
- The key looks like:
anm-sk-abc123...
Step 3: Configure
Set the API key as an environment variable:
# Linux / macOS
export ANOMAN_API_KEY="anm-sk-your-key-here"
# Windows (PowerShell)
$env:ANOMAN_API_KEY = "anm-sk-your-key-here"
# Windows (CMD)
set ANOMAN_API_KEY=anm-sk-your-key-here
Or pass it directly:
anoman-codecheck scan ./my-project --api-key "anm-sk-your-key-here"
Choosing a Model and Region
The --model flag controls which AI model scans your code and where your data is processed:
| Model | AI Engine | Data Location | Compliance | Best For |
|---|---|---|---|---|
claude-opus-bedrock-sg |
Claude Opus 4.6 | Singapore | PDPA | Recommended — most thorough, sovereign SG |
claude-opus-bedrock-id |
Claude Opus 4.6 | Jakarta | UU PDP | Indonesian data residency |
claude-sonnet-bedrock-sg |
Claude Sonnet 4.6 | Singapore | PDPA | Faster, cheaper, good accuracy |
claude-haiku-bedrock-sg |
Claude Haiku 4.5 | Singapore | PDPA | Fastest, cheapest, quick scans |
claude-sonnet-bedrock-id |
Claude Sonnet 4.6 | Jakarta | UU PDP | Fast + Indonesian residency |
claude-opus |
Claude Opus 4.6 | US (Virginia) | None | No data residency requirement |
claude-sonnet |
Claude Sonnet 4.6 | US (Virginia) | None | Fast, no residency requirement |
# Sovereign scan — data stays in Singapore
anoman-codecheck scan ./my-project --model claude-opus-bedrock-sg
# Sovereign scan — data stays in Jakarta
anoman-codecheck scan ./my-project --model claude-opus-bedrock-id
# Fast scan — less thorough but 5x faster
anoman-codecheck scan ./my-project --model claude-haiku-bedrock-sg
# US processing — cheapest, no data residency
anoman-codecheck scan ./my-project --model claude-sonnet
Run Without Installing (from source)
No pip install needed — clone and run directly:
# Clone the repo
git clone https://github.com/c0denician88/anoman-codecheck
cd anoman-codecheck
# Install only the dependency (httpx)
pip install httpx
# Set your API key
export ANOMAN_API_KEY="anm-sk-your-key-here"
# Run directly with Python
python -m anoman_codecheck scan /path/to/your/project
# Or run the scanner module directly
python anoman_codecheck/scanner.py scan /path/to/your/project
# All flags work the same way
python -m anoman_codecheck scan ./my-project --type api --model claude-opus-bedrock-sg
python -m anoman_codecheck checklists
python -m anoman_codecheck checklist owasp-api --export
One-liner (no clone needed)
# Download and run in one command
pip install httpx && \
git clone https://github.com/c0denician88/anoman-codecheck /tmp/codecheck && \
ANOMAN_API_KEY="anm-sk-..." python -m /tmp/codecheck/anoman_codecheck scan ./my-project
Features
AI-Powered Code Analysis
- Claude Opus reasoning — not regex matching. The LLM reads your code, traces data flows, understands business logic, and identifies vulnerabilities that pattern-based scanners miss.
- 30+ language support — Python, JavaScript/TypeScript, Java, Go, Rust, Ruby, PHP, C/C++, Swift, Kotlin, Scala, SQL, Shell, Terraform, Dockerfiles, YAML/JSON/TOML configs.
- Structured findings — every issue includes severity (CRITICAL/HIGH/MEDIUM/LOW/INFO), exact file + line, description, fix recommendation, and mapped framework control ID.
Compliance Checklists (45+ Checks)
- OWASP API Security Top 10 (2023) — Broken Object-Level Auth, Broken Authentication, Injection, SSRF, Mass Assignment, and more.
- OWASP Web Top 10 (2021) — Broken Access Control, Cryptographic Failures, Injection, Insecure Design, Security Misconfiguration, and more.
- NIST SP 800-53 Rev 5 — Access Control, Audit & Accountability, System & Communications Protection, Incident Response.
- ISO 27001:2022 Annex A — Access Management, Cryptography, Operations Security, Communications Security.
- Infrastructure — Docker misconfigurations, Terraform security, secrets in IaC, exposed ports, privilege escalation.
- Mobile (OWASP MASVS 2.0) — Insecure data storage, weak auth, insufficient crypto, code tampering, reverse engineering.
- Custom checklists — Export any checklist to JSON, edit it, add your own checks, and scan with
--custom-checklist.
Live CVE & Supply Chain Scanning
- OSV.dev integration — queries the Open Source Vulnerability database on every scan. No stale advisory data.
- Dependency file parsing — automatically detects and parses
requirements.txt,package.json,pyproject.toml,go.mod,Gemfile.lock. - CVE findings merged into report — supply chain vulnerabilities appear alongside code findings with fix versions and advisory URLs.
CI/CD Integration
- SARIF 2.1.0 — GitHub Code Scanning, Azure DevOps, VS Code SARIF Viewer.
- JUnit XML — Jenkins, GitLab, CircleCI, any JUnit-compatible runner.
- GitLab Code Quality — native MR widget integration.
- GitHub Annotations — inline PR comments (auto-detected in GitHub Actions).
- CI gating —
--fail-on critical|high|mediumexits with code 1 to block the pipeline.
Sovereign Data Routing
- Singapore — code processed in AWS ap-southeast-1, PDPA compliant.
- Jakarta — code processed in AWS ap-southeast-3, UU PDP compliant.
- US — standard routing, lowest latency for non-regulated workloads.
- Your code stays in the region you choose. No cross-border data transfer.
Usage
anoman-codecheck scan ./my-project --type api # Auto-select API checklists
anoman-codecheck scan ./my-project --checklist owasp-api # Specific checklist
anoman-codecheck scan ./my-project --custom-checklist my-checks.json
anoman-codecheck scan ./my-project --output sarif --output-file results.sarif
anoman-codecheck scan ./my-project --fail-on critical # CI gate
anoman-codecheck checklists # List all checklists
anoman-codecheck checklist owasp-api --export # Export for customization
Checklists
| Name | Framework | Items | Types |
|---|---|---|---|
| owasp-api | OWASP API Security Top 10 (2023) | 10 | api, backend |
| owasp-web | OWASP Web Top 10 (2021) | 10 | backend, frontend |
| nist | NIST SP 800-53 Rev 5 | 7 | api, backend, infra |
| iso27001 | ISO 27001:2022 Annex A | 6 | api, backend, frontend |
| infra | Docker + Terraform | 7 | infra |
| mobile | OWASP MASVS 2.0 | 5 | mobile |
Auto-selection: --type api = owasp-api + nist + iso27001
CI/CD Integration
GitHub Actions (SARIF)
- run: pip install anoman-codecheck
- run: anoman-codecheck scan . --output sarif --output-file results.sarif --fail-on high
env:
ANOMAN_API_KEY: ${{ secrets.ANOMAN_API_KEY }}
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
GitLab CI
script:
- pip install anoman-codecheck
- anoman-codecheck scan . --output gitlab --output-file gl-code-quality-report.json
artifacts:
reports:
codequality: gl-code-quality-report.json
Jenkins (JUnit)
sh 'anoman-codecheck scan . --output junit --output-file results.xml --fail-on critical'
junit 'results.xml'
Output Formats
| Format | Flag | CI Support |
|---|---|---|
| Text | --output text | Terminal |
| JSON | --output json | Any |
| SARIF 2.1.0 | --output sarif | GitHub, Azure DevOps, VS Code |
| JUnit XML | --output junit | Jenkins, GitLab, CircleCI |
| GitLab Code Quality | --output gitlab | GitLab MR widget |
| GitHub Annotations | --output github | GitHub PR inline |
Contributing
git clone https://github.com/c0denician88/anoman-codecheck
cd anoman-codecheck
pip install -e ".[dev]"
pytest tests/ -v
License
MIT - Built by Anoman AI
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file anoman_codecheck-0.1.0.tar.gz.
File metadata
- Download URL: anoman_codecheck-0.1.0.tar.gz
- Upload date:
- Size: 21.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bb722892ac1cb7c413215438d889232360b4fa5f2cbcf87b2f93a30be70c078
|
|
| MD5 |
283dfd3f3c0e165525933c12a7a76410
|
|
| BLAKE2b-256 |
03e750fb8b1a77f5c4b6cb04720e152c1553af94f8a4093c98cc06a2e4469c96
|
Provenance
The following attestation bundles were made for anoman_codecheck-0.1.0.tar.gz:
Publisher:
publish.yml on c0denician88/anoman-codecheck
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anoman_codecheck-0.1.0.tar.gz -
Subject digest:
8bb722892ac1cb7c413215438d889232360b4fa5f2cbcf87b2f93a30be70c078 - Sigstore transparency entry: 1250823270
- Sigstore integration time:
-
Permalink:
c0denician88/anoman-codecheck@c4030db3a89298f96b78d1aabd4e5de4ecdd8421 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/c0denician88
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c4030db3a89298f96b78d1aabd4e5de4ecdd8421 -
Trigger Event:
release
-
Statement type:
File details
Details for the file anoman_codecheck-0.1.0-py3-none-any.whl.
File metadata
- Download URL: anoman_codecheck-0.1.0-py3-none-any.whl
- Upload date:
- Size: 25.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f5d51b77f614fdd6fde4e4a13df4b34ec1f49d2885b00e5df318ca8c79c9d80
|
|
| MD5 |
5c445fe4d8e8607e23158090d63c412f
|
|
| BLAKE2b-256 |
8552e85f0ede599ef12b00e6e60f96e3ee17283e500104b74cb370241a023a45
|
Provenance
The following attestation bundles were made for anoman_codecheck-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on c0denician88/anoman-codecheck
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anoman_codecheck-0.1.0-py3-none-any.whl -
Subject digest:
1f5d51b77f614fdd6fde4e4a13df4b34ec1f49d2885b00e5df318ca8c79c9d80 - Sigstore transparency entry: 1250823318
- Sigstore integration time:
-
Permalink:
c0denician88/anoman-codecheck@c4030db3a89298f96b78d1aabd4e5de4ecdd8421 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/c0denician88
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c4030db3a89298f96b78d1aabd4e5de4ecdd8421 -
Trigger Event:
release
-
Statement type: