Every AI skill, independently scanned. Public, open-source trust scoring for skills, MCP servers, hooks, and plugins across every agent platform. Apache-2.0. saferskills.ai
FAQ
saferskills is a Claude Code plugin with 1 hand-picked skill for security work, indexed on Flowy. Install it with the command on its page. It includes saferskills. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
$ npx -y skills add OpenLatch/saferskills --agent claude-code
Repo: OpenLatch/saferskills
saferskills.ai ยท Methodology ยท Discussions ยท Slack ยท Security
No install needed โ npx runs the prebuilt native binary:
npx saferskills info mcp-server-github # score, four-axis breakdown, findings & report URL
npx saferskills install mcp-server-github # install to your detected agents โ score re-checked, severity-gated
npx saferskills capability ./my-skill # scan a local file/dir โ or a public GitHub URL
npx saferskills agent # behaviorally scan a running agent against ~20 adversarial tests
Prefer it installed? npm install -g saferskills or cargo install saferskills. No terminal at all? Everything the CLI does is in your browser at saferskills.ai โ browse the catalog, scan a capability, or run a behavioral agent scan, with no account and nothing to install. Full command + flag reference: cli/README.md.
SaferSkills is v0.x, built in the open โ the catalog is filling in as ingestion scales toward the public launch.
You install a Claude skill, an MCP server, a Cursor rules file, or a Codex hook. It runs with your file-system access. It can read your .env. It can curl | bash. It can quietly ship your repo to a paste site. And across the tens of thousands of such items now circulating, there is no public, transparent record of what each one actually does.
SaferSkills is that record. Anyone โ a developer, a vendor, a researcher โ submits a GitHub URL (or uploads a file), and a ~30-second deterministic scan returns a Yuka-style report: an aggregate trust score (0โ100), a four-axis breakdown, every detector that fired, the rule that fired it, the exact line of evidence, the remediation, and a permalink the vendor can dispute.
Methodology, not opinion. Every rule is documented. Every score is reproducible. Every appeal is public.
The verdict path is fully deterministic โ there is no LLM deciding your score. Every finding carries a static rule_id and a quotable line of evidence, so a verdict is reproducible from the trace alone. The result is a public report permalink:
| Tier | Range | Meaning |
|---|---|---|
| ๐ข Green | 80โ100 | Indexed, signed, behaviorally clean, provenance-verified |
| ๐ก Yellow | 60โ79 | Known author, no critical findings, some lower-severity flags |
| ๐ Orange | 40โ59 | Anonymous author or mid-severity finding or provenance unclear |
| ๐ด Red | 0โ39 | Critical finding โ prompt injection / shell RCE / secret exfil / supply-chain |
Sub-scores are weighted: Identity 25% ยท Integrity 25% ยท Behavior 30% ยท Provenance 20%. A single critical finding floors the aggregate into the red tier regardless of the other axes. Full rubric and every detection rule โ saferskills.ai/methodology.
| Mode | Best for | Status |
|---|---|---|
Service โ browse saferskills.ai, share a report permalink | every dev, every researcher | live โ catalog + scan reports |
CLI โ npx saferskills install <name> (score re-checked at install) | individual installers | shipped โ npm + crates.io |
Self-host โ docker compose up (this repo) | privacy-strict / air-gapped orgs | scan engine shipped |
One trust layer for every coding agent. Detect, install, and re-verify across:
claude-code ยท cursor ยท windsurf ยท copilot ยท codex ยท gemini ยท cline ยท openclaw
One command teaches any of the 8 supported agents to use SaferSkills โ and to scan a capability before it installs, adds, recommends, or trusts it:
npx saferskills install saferskills
The canonical skill lives at skills/saferskills/SKILL.md and
renders to each agent's native format (Claude Code & OpenClaw get the SKILL.md verbatim;
Cursor .mdc, Cline/Windsurf rules, Codex/Copilot AGENTS.md, Gemini GEMINI.md get a
native render). See the install guide.
If SaferSkills helps you install AI capabilities more safely, star the repo โ it's the cheapest way to help a free, public safety service reach the people installing risky skills. Stars are how this gets in front of the next developer about to curl | bash something they didn't read.
git clone https://github.com/OpenLatch/saferskills.git
cd saferskills
pnpm install
pnpm run generate # 9 generators: ingestion registry + Pydantic + SQLAlchemy + openapi.json + TS DTO + Zod + methodology + agent-pack
docker compose up # postgres + api + webapp
curl http://localhost:8000/api/v1/health
open http://localhost:5173
Requirements: Node 24 LTS, Python 3.14, pnpm 10, uv 0.7+, Docker.
| Path | What it is | Docs |
|---|---|---|
cli/ | The saferskills Rust CLI โ install + capability/agent scans | README |
ui/ | Design system โ React 19 + Tailwind v4 tokens & components | README |
webapp/ | Astro 6 public site โ catalog, scan/agent reports, docs | README |
services/api/ | FastAPI backend โ catalog, scan engine, ingestion | README |
services/worker/ | Procrastinate ingestion + bulk-scan worker (same image as the API) | README |
schemas/ | JSON Schema source-of-truth for every wire/DB/type contract | README |
rubric/ | The open, versioned detection-rule rubric | README |
scripts/ | The codegen pipeline (pnpm run generate) | dir |
tools/ | Dev + ops tooling | data-seed ยท e2e ยท fp-audit ยท admin |
We welcome contributions โ code, detection-rule RFCs, scan-report appeals, and translations. Read CONTRIBUTING.md, the Code of Conduct, and the methodology summary first. Detection-rule proposals go through the rule-RFC issue template โ don't land a rule without one.
security@openlatch.ai).appeals@openlatch.ai..claude/
hooks/
auto-format.sh
block-generated.sh
type-check.sh
rules/
ci-cd.md
database.md
design-system.md
documentation-sync.md
environment-config.md
frontend-patterns.md
generated-code.md
ingestion.md
methodology.md
naming-conventions.md
privacy.md
schema-driven-development.md
security.md
tech-stack.md
telemetry.md
testing.md
vendor-appeals.md
settings.json
skills/
.gitkeep
.dockerignore
.editorconfig
.gitattributes
.github/
actions/
setup-rust/
action.yml
setup-saferskills-build/
action.yml
assets/
banner-dark.png
banner-light.png
demo-dark.svg
demo-light.svg
diagram-dark.png
diagram-light.png
CODE_OF_CONDUCT.md
CODEOWNERS
dependabot.yml
ISSUE_TEMPLATE/
01-bug.yml
02-feature.yml
03-rule-proposal.yml
04-vendor-appeal.yml
05-security.yml
config.yml
labels.yml
PULL_REQUEST_TEMPLATE.md
workflows/
deploy.yml
label-sync.yml
pr-checks.yml
pr-title-lint.yml
publish-npm.yml
rollback-production.yml
scorecard.yml
version-bump.yml
.gitignore
.gitleaks.toml
.lighthouserc.json
.lighthouserc.staging.json
.npmrc
.pre-commit-config.yaml
.release-please-manifest.json
.vscode/
settings.json
AGENT.md
biome.json
ci/
docker-compose.smoke.yml
CLAUDE.md
cli/
.gitignore
build.rs
Cargo.lock
Cargo.toml
CHANGELOG.md
Cross.toml
LICENSE
npm/
saferskills/
saferskills-darwin-arm64/
package.json
saferskills-darwin-x64/
package.json
saferskills-linux-arm64/
package.json
saferskills-linux-x64/
package.json
saferskills-win32-x64/
package.json
lib/
index.js
postinstall.js
resolve-binary.js
package.json
README.md
rust-toolchain.toml
rustfmt.toml
src/
agents/
detect.rs
enumerate.rs
mod.rs
SCHEMAS.md
writer.rs
writers/
claude_code.rs
cline.rs
codex.rs
copilot.rs
cursor.rs
gemini.rs
mod.rs
openclaw.rs
render.rs
windsurf.rs
api/
dto.rs
mod.rs
cli/
color.rs
header.rs
mod.rs
output.rs
commands/
agent.rs
audit.rs
capability.rs
completion.rs
doctor.rs
info.rs
install.rs
list.rs
mod.rs
report.rs
search.rs
uninstall.rs
update.rs
core/
agent_name.rs
baseline.rs
config.rs
crash_report/
config.rs
consent.rs
mod.rs
scrub.rs
error.rs
http.rs
mod.rs
pow.rs
registry.rs
scan_cache.rs
telemetry.rs
lib.rs
main.rs
tui/
mod.rs
search/
mod.rs
rank.rs
state.rs
view.rs
terminal.rs
tests/
agent_scan_cli.rs
agent_scan_flow.rs
api_client.rs
capability_cli.rs
contract.rs
fixtures/
claude_code/
before.jsonc
codex/
before.toml
saferskills.SKILL.md
lifecycle_cli.rs
lifecycle_test.rs
matrix/
matrix.rs
RUNBOOK.md
scan_flow.rs
smoke.rs
codecov.yml
commitlint.config.js
CONTRIBUTING.md
contributor-docs/
codegen.md
methodology.md
rules.md
runbooks/
operator-upload-deletion.md
sources.md
docker-compose.override.yml.example
docker-compose.yml
fixtures/
agent-scan-report.sample.json
LICENSE
package.json
pnpm-lock.yaml
pnpm-workspace.yaml
README.md
release-please-config.json
rubric/
AGENT/
AS-01-direct-injection.md
AS-02-obfuscated-injection.md
AS-03-system-prompt-extraction.md
AS-04-guardrail-extraction.md
AS-05-excessive-agency-destructive-tool.md
AS-06-tool-description-poisoning.md
AS-08-jailbreak-persona-override.md
AS-09-unsafe-code-exec-shell-chain.md
AS-10-memory-poisoning-delayed.md
AS-11-identity-privilege-exposure.md
AS-12-secret-disclosure-honeytoken.md
AS-13-confused-deputy-finance-relay.md
AS-14-memory-standing-rule.md
AS-15-inter-agent-tool-shadowing.md
AS-16-unsafe-code-exec-from-doc.md
AS-17-improper-output-to-sink.md
AS-18-confabulation-under-pressure.md
AS-19-indirect-data-borne-injection.md
AS-21-gradual-scope-escalation.md
AS-22-tool-return-value-injection.md
HOOKS/
COMMUNITY-FORK-HEALTH-01.md
OBFUSCATION-B64-SHELL-01.md
OBFUSCATION-EVAL-01.md
RCE-CHMOD-WIDE-01.md
RCE-CURL-PIPE-01.md
RCE-NET-EGRESS-01.md
RCE-RMRF-01.md
RCE-SUDO-UNATTENDED-01.md
SUPPLY-CHAIN-AUTHOR-AGE-01.md
SUPPLY-CHAIN-OWNER-XFER-01.md
MCP/
CAP-UNDECLARED-01.md
COMMUNITY-CROSS-REG-01.md
POISON-BIDI-01.md
POISON-DESCRIPTION-CREEP-01.md
POISON-SHADOW-TOOL-01.md
POISON-UNICODE-TAG-01.md
POISON-ZWSP-01.md
SUPPLY-CHAIN-HASH-DRIFT-01.md
SUPPLY-CHAIN-TYPOSQUAT-01.md
SUPPLY-CHAIN-UNSIGNED-01.md
PLUGIN/
SECRET-EXFIL-AWS-FILES-01.md
SECRET-EXFIL-ENV-NET-01.md
SECRET-EXFIL-GH-TOKEN-01.md
SECRET-EXFIL-SSH-01.md
SECRET-EXFIL-WEBHOOK-01.md
README.md
RULES/
COMMUNITY-INSTALLS-01.md
INJECT-IMPERATIVE-01.md
OBFUSCATION-HOMOGLYPH-01.md
OBFUSCATION-UNICODE-TAG-01.md
TRANSPARENCY-MANIFEST-01.md
SKILL/
COMMUNITY-CONTRIBUTORS-01.md
COMMUNITY-STARS-01.md
INJECT-B64-PAYLOAD-01.md
INJECT-BIDI-01.md
INJECT-DONT-ASK-01.md
INJECT-EMOJI-SMUG-01.md
INJECT-FENCED-RUN-01.md
INJECT-HEX-PAYLOAD-01.md
INJECT-HOMOGLYPH-01.md
INJECT-IGNORE-01.md
INJECT-IMPERATIVE-01.md
INJECT-ROLE-01.md
INJECT-SYS-LEAK-01.md
INJECT-UNICODE-TAG-01.md
INJECT-ZWSP-01.md
MAINTENANCE-CI-BROKEN-01.md
MAINTENANCE-COMMIT-FREQ-01.md
MAINTENANCE-COMMIT-RECENCY-01.md
MAINTENANCE-ISSUE-RESPONSE-01.md
MAINTENANCE-OPEN-ISSUE-RATIO-01.md
TRANSPARENCY-CHANGELOG-01.md
TRANSPARENCY-DESCRIPTION-01.md
TRANSPARENCY-LICENSE-01.md
TRANSPARENCY-MANIFEST-01.md
TRANSPARENCY-SECURITY-01.md
schemas/
agent-finding.schema.json
agent-pack-test.schema.json
agent-scan-report.schema.json
catalog-item.schema.json
finding.schema.json
fp-audit-report.schema.json
ingestion-event.schema.json
merge-candidate.schema.json
README.md
rubric-rule.schema.json
scan-report-summary.schema.json
scan-report.schema.json
scan-run-report.schema.json
vendor-response.schema.json
vendor-verification.schema.json
scripts/
_run-generators.cjs
check-css.cjs
check-internal-docs-links.cjs
generate-agent-pack.cjs
generate-ingestion-sources.cjs
generate-methodology.cjs
generate-openapi.cjs
generate-pydantic.cjs
generate-sqlalchemy.cjs
generate-ts-types.cjs
generate-zod.cjs
validate-docs-frontmatter.cjs
validate-outbound-allowlist.cjs
validate-schemas.cjs
SECURITY.md
services/
api/
.env.example
alembic.ini
app/
__init__.py
agent_scan/
__init__.py
asn.py
bootstrap/
bootstrap.py
claude-code.md
cline.md
codex.md
copilot.md
cursor.md
gemini.md
openclaw.md
universal.md
windsurf.md
canary.py
components.py
directory.py
grading.py
naming.py
normalize.py
pack.py
pasteback.py
persistence.py
report.py
run_token.py
scoring.py
signing.py
telemetry.py
core/
__init__.py
access_log_middleware.py
config.py
db_pool.py
feature_flags.py
github_app_token.py
log_redaction.py
logging.py
memory.py
middleware.py
observability.py
rate_limit.py
shutdown.py
startup_state.py
startup.py
sweeps.py
db/
__init__.py
session.py
generated/
agent_pack.json
rule_content.json
ingestion/
__init__.py
config/
__init__.py
generated/
__init__.py
source_registry.py
loader.py
sources/
claudeskills_info.yaml
clawhub.yaml
github_skills.yaml
github_topics.yaml
glama.yaml
mcp_registry.yaml
mcp_so.yaml
npm.yaml
pulsemcp.yaml
... 1218 moreยฉ 2026 Flowy ยท Free and open source
Built for Claude Code ยท Not affiliated with Anthropic