Skip to content

Security & audit

Triple-layer review.
Every skill. Every release.

A skill is a piece of software your AI agent will execute on your machine. Recipes treats it that way. Below is exactly what happens between a creator pushing code and an install command landing on your laptop.

01

Allowlist linter

Every published skill ships with a positive-allowlist manifest. The linter blocks merge if a skill reads, writes, or sends anything not on the list — credentials, environment variables, network destinations, file paths. We don't try to enumerate "bad" patterns; we explicitly enumerate the "good" ones.

proof: github.com/wisechef-ai/recipes-skill/blob/main/MANIFEST.allowlist.yaml

02

Sandbox runner

Before a skill goes live, it runs in an ephemeral container with no outbound network except the explicitly allowlisted domains. The runner records every syscall, every fetch, every disk write, and replays it for a human reviewer. Skills that touch surfaces they didn't declare are rejected.

proof: recipes-api/app/security_scan.py

03

Creator track record

Each skill is signed (Ed25519) by its creator. The signature, the published tarball SHA-256, and the source commit URL are stamped on the public skill page. Bad actors can't quietly replace a tarball — the hash mismatch is detectable by every install.

proof: recipes verify <slug>

Guarantees we make

Apache-2.0 licensed

You can read, fork, audit, or replace anything you install.

No telemetry by default

Skills run on your machine. We see install events; we do not see your data.

Reproducible tarballs

Mtime/uid/gid stripped. Two packs of the same source produce byte-identical archives.

Public review log

Every audit decision is in the GitHub issue/PR history of the awesome-agent-recipes monorepo.

Verify a skill yourself

recipes verify client-reporter

The CLI re-downloads the tarball, recomputes its SHA-256, and prints the source URL + signature. If anything ever drifts from what we published, this command fails loudly.

Last full audit pass: · Source on GitHub · Apache-2.0 licensed