Dhahab · Open Source · v1.5.1

DIRA درع

One command tells you whether your codebase would survive an enterprise buyer's security questionnaire.

Secrets · dependency CVEs · 38 misconfiguration rules · license risk · git-history leaks · live TLS & headers · SBOM · security-readiness score

Get it on GitHub →

Every scanner free forever · pipx install, no signup · PyPI and npm coming

  • 208 passing tests
  • 0 runtime dependencies
  • MIT licensed, readable end to end
dira scan . -t yourapp.com
$ dira scan . -t yourapp.com

  SECURITY GRADE    F   risk 72/100
  STARTUP READINESS 38%  Early-stage gaps (30/80 pts)

  CRITICAL 2  HIGH 5  MEDIUM 11  LOW 6

  ─── CRITICAL ─────────────────────────────────────
   Stripe secret/restricted key
      src/lib/billing.ts:14  sk_l************XwEr
      → Revoke the key at the provider, issue a new one, move it to a
        secret manager, and purge it from git history.

   GitHub token found in git history (commit 8f21ac3)
      git history @ 8f21ac3
      → Deleting the file does not remove it from history — rotate now.

  ─── HIGH ─────────────────────────────────────────
   lodash 4.17.11 — CVE-2021-23337: command injection
      package-lock.json  npm:lodash@4.17.11
      → Upgrade lodash to 4.17.21 or later.

   Secret exposed through a public build-time env var
      .env.production:7  NEXT_PUBLIC_STRIPE_SECRET_KEY
      → Compiled into the JS bundle and readable by every visitor.

  Licenses  MIT ×29  BSD-3-Clause ×14  Apache-2.0 ×6  MPL-2.0 ×2

  418 files · 402 cached · 87 deps · 0.9s
Why it exists

Your first enterprise customer will ask. Better you find it first.

Startup security tooling is either a platform that costs more than your runway or five separate CLIs nobody ever wires up. So the leaked Stripe key sits in the repo until a security questionnaire, an acquirer's diligence checklist, or somebody else finds it.

DIRA is one command that answers the question founders actually get asked — is this codebase safe enough to sell to an enterprise? — and prints the exact fix beside every finding.

Want to walk the same ground by hand first? The free guide 18 things to fix before your first real user covers the checklist DIRA automates, with the why behind each item.

7Scanners
62Detection rules
0Dependencies
208Passing tests
18Readiness checks
What it checks

Seven scanners, one pass

secrets

Leaked credentials

23 provider patterns — AWS, Stripe, OpenAI, Anthropic, GitHub, GCP, Slack, npm, database DSNs, private keys — plus an entropy-gated generic rule. Every value is redacted before it reaches a report.

deps

Dependency CVEs

Every package in your lockfiles resolved against OSV.dev — npm, PyPI, Go, crates.io, RubyGems. Free, batched, no API key, with the exact fixed version to upgrade to.

config

38 misconfiguration rules

Docker, Kubernetes, Terraform, GitHub Actions, cloud IAM, frontend code (NEXT_PUBLIC_ secrets, tokens in localStorage, XSS sinks) and LLM apps (browser-side provider keys, prompt concatenation, model output piped to an executor).

licenses

License risk

Each dependency's license resolved and classified — permissive, file-level copyleft, GPL, AGPL/SSPL. The finding that kills acquisitions, with an inventory for your diligence folder.

git

History leaks

Deleting the file does not rotate the key. DIRA reads commit diffs for secrets that were removed from the working tree but still live in history, plus tracked .env files and credentials in the remote URL.

surface

The live domain

TLS validity and expiry, HSTS/CSP/nosniff/frame-options, cookie flags, HTTP→HTTPS redirect, and whether /.env or /.git/config is being served to the internet.

readiness

Security-readiness score

Eighteen weighted checks modelled on SOC 2 and enterprise security questionnaires — CI, tests, secret scanning, SAST, CODEOWNERS, IaC, backups, incident response — rolled up into a percentage and a tier.

Before you install

Three fair questions

Answered up front, the same way every other number on this site is sourced instead of asserted.

CapabilityDIRAgitleakstrufflehognpm auditSnyk (free tier)
What it scans for7 classes: secrets, dep CVEs, config/IaC, license risk, git history, live TLSSecrets onlySecrets only, with live credential verificationnpm dependency CVEs onlyDependency CVEs; deeper config/IaC on paid tiers
SBOM + PR diff gatingBuilt in — CycloneDX/SPDX, --diffPR gating via Action, no SBOMPR gating via Action, no SBOMNeitherBoth, paid tiers
Dependencies to install itZeroZero (Go binary)Zero (Go binary)Bundled with npmCLI + hosted account
Runs fully offline, no accountYesYesYesYesNo — account required
CostFree, MITFree, MITFree core, paid enterprise tierFreeFree tier limited; paid for full scope

Scope described from each project's public docs as of this writing — verify current features before relying on this for a security decision.

The differentiator

A readiness score, not just a bug list

Eighteen weighted checks modelled on what SOC 2 auditors and enterprise security questionnaires actually ask for: lock-pinned dependencies, automated updates, CI, tests, secret scanning, SAST, CODEOWNERS, a disclosure policy, infrastructure as code, error tracking, an incident-response plan, backups, privacy documentation.

You get a percentage, a tier, and the specific missing artifact — plus the manual attestations no scanner can verify for you (MFA enforcement, branch protection, least-privilege IAM, same-day offboarding). Then dira fix --apply writes the boring ones for you.

Reports

Every scan is free. A written report is a different product.

Every scanner, every rule and every scan output format is in the free MIT release. Two Pro-marked code paths — the client-ready report renderer and policy-as-code overrides — exist in the source and are not on sale yet. The two items below buy the part a scanner cannot do: a person reading every finding, throwing out the noise, and typesetting what is left into a document you can hand to an enterprise buyer's security team. Neither is open for sale yet.

Free forever

dira-scan

$0MIT licensed · no account

The entire open-source scanner. Not a trial, not a crippled tier — the same engine that generates the paid reports.

  • All seven scanners — secrets, dependency CVEs, 38 config/IaC rules, license risk, git-history leaks, live TLS & headers, readiness score.
  • 62 detection rules, 208 passing tests, zero dependencies.
  • Your own reports-f html, -f sarif, -f json, plus CycloneDX/SPDX SBOM output.
  • CI and PR gatingdira init writes the workflow and pre-commit hook; --diff scans only what changed.
  • Auto-remediationdira fix --apply writes the boring missing files for you.
  • Runs offline, on your machine. No telemetry, no account.
Get it on GitHub →

Installs from source today with pipx. PyPI and npm are on the way.

Most founders start here

Startup Readiness Report

$149One-time · per repository

The scan output, reviewed by a human and rebuilt as a client-ready document — the thing you actually send when a prospect asks for your security posture.

  • Executive summary — grade, readiness score, risk number, and the three moves that matter most, written for a non-engineer reader.
  • Prioritized findings — every issue scored P0–P3 by impact and effort, with the specific fix beside it, not just the rule name.
  • A 30-day remediation roadmap — week 1, week 2–4, ordered so the questionnaire blockers clear first.
  • The 18-point readiness scorecard — which SOC 2-shaped artifacts you have, which you're missing, and what each one is.
  • SOC 2 & vendor-questionnaire appendix — mapped to the questions buyers actually send, including the manual attestations no scanner can verify.
  • A human QA pass on every automated finding — false positives removed before you ever see them, so nothing in the document embarrasses you.
  • Delivered as PDF + HTML within 5 business days of repo access.
Get notified when this opens →

Not selling yet — join the list and you'll hear the day it opens. Want it sooner? the Shield Audit is open now through DHAHAB Studio — or Email me directly.

With consultant notes

Deep Audit

$499One-time · per repository

For when the report has to survive questions — a diligence process, a security review, an investor who forwards it to someone technical.

  • Everything in the Readiness Report, same document, same delivery.
  • Every critical and high manually confirmed — each one traced back to the source and verified by hand before it ships, so no severity is taken on the scanner's word.
  • Consultant review notes typeset into the report — written commentary on what the findings mean for your architecture, not generic rule descriptions.
  • A 30-minute readout call after delivery — walk the findings, ask anything, decide what to fix first.
  • Delivered as PDF + HTML within 5 business days of repo access; call scheduled after delivery.
Get notified when this opens →

Need more than a report? The bespoke 15-hour engagement is quoted on a call through DHAHAB Studioemail me.

What you actually receive

Not a screenshot of a terminal. A six-section report, in the same black-and-gold house style as everything else here — here is a real one, generated end to end by the same command that would generate yours.

Read the full sample report →

  1. Executive summary Grade, readiness %, risk score, and the three moves that matter most.
  2. Prioritized findings P0–P3, one row per issue type, impact × effort, fix included.
  3. 30-day roadmap Week-by-week, blockers first.
  4. Readiness scorecard The 18 checks, scored, with what's missing named.
  5. SOC 2 appendix Mapped to real vendor-questionnaire items and manual attestations.
  6. Methodology & scope Exactly what was scanned, which ruleset, and what wasn't.

Sample uses a fictional client and a synthetic repository. Every tier is automated analysis plus human review — not a penetration test, not a SOC 2 audit, and not a guarantee that your product is secure. Read-only repo access, local clone only, deleted within 14 days of delivery. Full refund before work starts; nothing is billed until scope is agreed in writing.

Run it

Three minutes to your first report

Scan

pipx install git+https://github.com/Yusuf-Gadelrab/dira, then dira scan . — PyPI and npm packages are on the way.

Share

-f html -o report.html produces a client-shareable audit. -f sarif lands findings in GitHub's Security tab.

Gate

dira init installs the CI workflow and pre-commit hook. PRs scan only what changed; exit code 1 fails the build.

Fix

dira fix --apply writes the missing policy files and .gitignore rules, then prints the rotations only you can do.

Honest limits

What it is not

DIRA is automated pattern analysis. It does not replace a penetration test, a threat model, or a real SOC 2 audit, and it cannot see your cloud IAM, your MFA posture, or your access reviews — those are listed as manual attestations in the report.

A clean run means "no known bad patterns in this repository". It does not mean "secure".

Scanning a domain you do not own or have permission to test may be unlawful. The --target flag makes unauthenticated requests to a handful of well-known paths — point it at your own infrastructure only.

Your code never leaves your machine. The only network calls are anonymous package-name lookups to OSV.dev, npm and PyPI, and requests to a domain you name yourself. --offline disables all of them.

FAQ

Common questions

What does DIRA scan for?

Seven scanners: leaked credentials (23 provider patterns plus an entropy-gated generic rule), dependency vulnerabilities resolved against OSV.dev, 38 misconfiguration rules across Docker, Kubernetes, Terraform, GitHub Actions, cloud IAM, frontend code and LLM applications, dependency license risk, secrets buried in git history, the live domain's TLS and security headers, and an 18-point startup security-readiness score.

Does DIRA send my code anywhere?

No. Scanning happens entirely on your machine. The only network calls are anonymous package-name lookups to OSV.dev and the public npm and PyPI registries, plus requests to a domain you explicitly pass with --target. The --offline flag disables all of them. Detected secrets are redacted before they reach any report or cache.

How much does DIRA cost?

Nothing to scan and fix a codebase. All seven scanners, all 62 detection rules, SBOM output, dira fix, baseline and --diff PR gating ship free in the MIT-licensed open-source release. Two code paths — the client-ready report renderer (dira report) and policy-as-code overrides (--policy) — are marked Pro in the source and are not on sale yet. Install it with pipx install git+https://github.com/Yusuf-Gadelrab/dira; PyPI and npm are on the way. Two optional human-review services exist for founders who want the raw output turned into a document they can hand a buyer — neither is required to find or fix anything.

Can DIRA replace a penetration test or a SOC 2 audit?

No. DIRA is automated pattern analysis. It can't see your cloud IAM, your MFA enforcement, or your access reviews — those appear in the report as manual attestations. A clean run means no known bad patterns in the repository, not that the product is secure.

Is DIRA on PyPI or npm yet?

Not yet. It installs from source on GitHub today with pipx install git+https://github.com/Yusuf-Gadelrab/dira, then dira scan . PyPI and npm packages are on the way — the email list below pings the day either lands.

Read next

Four places to go from here

Scan your repo in the next five minutes

MIT licensed. Every scanner free. No account, no telemetry.

Get it on GitHub →

Not on GitHub yet?

Leave your email and you'll hear the day DIRA lands on PyPI and npm. One message, nothing else.

Used for this one announcement. Legal · Privacy · all waitlists