Skip to main content

secfoo

Turn any AI coding agent into a disciplined security reviewer.
Same standards, same report, every run.

PyPI PyPI downloads CI MIT license

secfoo local dashboard: program posture across applications, findings, and security activities

Website · Getting started · CLI · Docs

Point Claude Code, Cursor, Antigravity, Gemini CLI, or Codex at a target. Pick architecture review, threat modeling, SAST, and the rest of the catalog. Browse every result in a local dashboard — secfoo serve, on your machine.

pip install secfoo
secfoo run --skill sast --target https://github.com/org/repo --agent claude
secfoo serve

You need an agent CLI already installed and authenticated (--agent claude|agent|agy|gemini|codex), or an API key with the built-in api agent — see Install.

A 30-second look at the dashboard

30-second tour of the secfoo dashboard: posture, threat modeling, STRIDE coverage, architecture verdict, and SAST

Watch as MP4

Threat modeling program dashboard with coverage and STRIDE Security architecture design verdict and data-flow diagram

Screenshots are from a real local secfoo serve against public vulnerable-app targets.

What you get

  • A skill is a brief, not a parser. secfoo hands your coding agent a structured prompt and a target, then collects a report in a fixed shape.
  • One dashboard for the program. Coverage, dispositions, STRIDE, design verdicts, and findings across every project you have scanned.
  • Local first. Runs and secfoo serve stay on your machine. Optional secfoo cloud login syncs to an org portal that is not in this repo.
  • Concurrent by default. Several --skill flags run at the same time.
  • CI-ready. --fail-on high, --max-cost 2.00, --json, and distinct exit codes for "the scan broke" vs "policy failed". Details in docs/REFERENCE.md.

Activity catalog

Activity Skill ID
Security Architecture Review security-architecture-review
Threat Modeling threat-modeling
SAST — Static Code Analysis sast
SCA — Reachability & Upgrade Triage sca-reachability
Secret Scanning secret-scanning
Prompt Review prompt-review
Deployment Readiness deployment-readiness
Responsible AI Compliance responsible-ai-compliance

Run one, or several together. What each report actually contains is in docs/REFERENCE.md.

Install

pip install secfoo                    # PyPI, Python 3.10+
npm install -g @rakfortltd/secfoo     # npm, no Python needed
docker run --rm ghcr.io/rakfortltd/secfoo --help

No agent CLI? Use an API key:

pip install "secfoo[api]"
export OPENAI_API_KEY=...             # or ANTHROPIC_API_KEY / GEMINI_API_KEY
secfoo run --skill sast --agent api --target https://github.com/org/repo

Universal install scripts, standalone binaries, CI flags, spend tracking, and configuration live in docs/REFERENCE.md. Developing this repo: pip install -e ".[dev]".

Learn more

Contributing

PRs welcome — see CONTRIBUTING.md and CODE_OF_CONDUCT.md. Security issues go through SECURITY.md, not a public issue.

Metadata

Release files for secfoo 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for secfoo 0.3.1
File Size Uploaded Provenance Actions
secfoo-0.3.1.tar.gz 233.6 kB Without provenance Details for secfoo-0.3.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for secfoo 0.3.1
File Interpreter ABI Platform Actions
secfoo-0.3.1-py3-none-any.whl Python 3 none any Details for secfoo-0.3.1-py3-none-any.whl

Total release size: 549.7 kB

Release files / secfoo-0.3.1.tar.gz

Download URL secfoo-0.3.1.tar.gz
Size 233.6 kB
Tags Source
SHA-256 checksum
How to use checksums
54fc14bc6386920d5abe58f1d272d3152b26b92a5acb7dee392501855dc3de31
BLAKE2b-256 checksum
How to use checksums
029a108a538a0778552cb43859d77216d3b6a27db3a7ddc60fc737613bc5d2e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / secfoo-0.3.1-py3-none-any.whl

Download URL secfoo-0.3.1-py3-none-any.whl
Size 316.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4da9b99215c3524d15aff53e588c03b61c366567ccf37c4d8a9a284240d8bc2a
BLAKE2b-256 checksum
How to use checksums
d9b8f528ee6f79ac04d63a997c229e8779820eed91a9c1cff37b8607c2dba0a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Security for secfoo 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page