Skip to content
ai-supply.store
DiscoverCategoriesLeaderboardsCommunityAgent APIFAQ
Sign inSign up free
catalog / DevOps & Infra / Prefect
⌬WorkflowDevOps & InfraFree

Prefect

Modern workflow orchestration — turn any Python function into a scheduled, observable, retriable data or AI pipeline with zero boilerplate.

@ai-supply
Installs79k
⟳ upstream 3.8.0 · updated 3d ago
↗ Source repository
← More DevOps & InfraDevOps & Infra leaderboard →How we grade security →Source ↗
! Grade B · 88/100 · ReviewSecurity assessment
✓No compromise signals37capabilities surfaced1known CVE5of 20 OWASP controls clear
Broad capability surfaceBroad capability surfacePotentially unbounded loopPrompt-injection phrasing
scanned 19h ago·osv · gitleaks · opengrep · picklescan + heuristics·full breakdown in the Security tab ↓

Prefect

Prefect is the modern open-source workflow orchestration platform. Decorate any Python function as a @flow or @task, and Prefect handles scheduling, retries, observability, logging, and deployment — with a beautiful UI and cloud hosting option.

Key features

  • Pythonic API — @flow and @task decorators require zero schema changes to existing code
  • Automatic retries — configure retry counts and wait strategies per task
  • Scheduling — cron, interval, or event-driven triggers
  • Prefect UI — real-time flow run dashboard with logs, state history, and artifact tracking
  • Deployments — package flows and deploy to Prefect Cloud, Kubernetes, ECS, or local agents
  • Integrations — 100+ task libraries for AWS, GCP, dbt, Snowflake, Slack, and more

Quick start

npx ai-supply add prefect-workflow-orchestration

# Or install directly
pip install prefect
from prefect import flow, task

@task(retries=3)
def fetch_data(url: str) -> dict:
    import httpx
    return httpx.get(url).json()

@task
def process(data: dict) -> str:
    return f"Got {len(data)} keys"

@flow(log_prints=True)
def my_pipeline(url: str):
    data = fetch_data(url)
    result = process(data)
    print(result)

if __name__ == "__main__":
    my_pipeline("https://api.github.com")
# Deploy and schedule
prefect deploy --name my-pipeline --cron "0 * * * *"

Curated mirror of the open-source Prefect project (Apache-2.0). Install upstream from the repository.

Rating rank
#1
of 23 in DevOps & Infra
Install rank
#13
of 23 in DevOps & Infra
Security score
88/100 · B
review
Security rank
#10
of 23 in DevOps & Infra
Installs
79k
cat avg 212k
This listing vs category average
Installs
this
cat avg
Security (of 100)
this
cat avg
Adoption trend
See the DevOps & Infra leaderboard →
! Security: Review · 8888/100 · grade Bscanned 19h ago
✓ no compromise signals38 risk-surface · 10/20 OWASP controls flagged

Compromise signals — malicious or tampered code (leaked secrets, backdoors, a dropped executable) — reduce the score, and known dependency CVEs carry a bounded penalty (they warrant review but never QUARANTINE — update the dependency to clear). Other dangerous-by-capability traits are risk surface, expected for some capabilities. Every finding is mapped to its OWASP control below.

What this capability can do · med confidence (static)
⚑ filesystem⚑ shell⚑ network⚑ secrets
egress → json.schemastore.org, vale.sh, developers.google.com, docs.prefect.io, stackoverflow.com, www.prefect.io, docs.github.com, api.prefect.cloud +32
426 steps⚑ uses secretsjson.schemastore.orggithub.comstackoverflow.comdocs.prefect.iowww.prefect.ioactions/checkout@v7actions/setup-node@v7actions/setup-python@v7

Findings mapped to the OWASP Top 10 for LLM Applications (2025) and the OWASP Machine Learning Security Top 10. Expand any flagged control for the exact findings — compromise reduces the score; expected/risk-surface do not, except a known CVE, which carries a small bounded penalty (high/critical → Review).

OWASP Top 10 for LLM Applications
⚠LLM01Prompt Injectionhigh
Adversarial instructions embedded in an artifact that hijack a downstream LLM.
•Prompt-injection phrasing — instruction-subversion language detected · PrefectHQ-prefect-d2d873b/docs/v3/how-to-guides/deployments/prefect-yaml.mdx (CWE-77)risk surface
⚠LLM02Sensitive Information Disclosurehigh
Secrets, credentials or PII shipped inside the artifact.
•Embedded credentials — found: hardcoded credential · PrefectHQ-prefect-d2d873b/docs/integrations/prefect-bitbucket/index.mdx (CWE-798)expected
•Embedded credentials — found: Slack token · PrefectHQ-prefect-d2d873b/docs/integrations/prefect-slack/index.mdx (CWE-798)expected
•Embedded credentials — found: AWS access key id · PrefectHQ-prefect-d2d873b/docs/v3/advanced/custom-blocks.mdx (CWE-798)expected
•Embedded credentials — found: credentials in URL · PrefectHQ-prefect-d2d873b/src/integrations/prefect-bitbucket/tests/test_credentials.py (CWE-798)expected
•Low-confidence secret match — possible: hardcoded credential (test/sample) · PrefectHQ-prefect-d2d873b/src/integrations/prefect-bitbucket/tests/test_credentials.py (CWE-798)risk surface
⚠LLM03Supply Chainhigh
Vulnerable/compromised dependencies, models or archives in the artifact.
•Dependency manifest — 5 pip requirements declared · PrefectHQ-prefect-d2d873b/scripts/proxy-test/requirements.txtrisk surface
•Dependency manifest — 1 npm dependencies declared · PrefectHQ-prefect-d2d873b/src/integrations/prefect-aws/infra/package.jsonrisk surface
•Dependency manifest — 2 pip requirements declared · PrefectHQ-prefect-d2d873b/src/integrations/prefect-docker/tests/test-project/requirements.txtrisk surface
•Vulnerable dependencies — 18 known vulnerabilities in: @babel/core@7.28.5, brace-expansion@1.1.11, brace-expansion@2.0.2, brace-expansion@5.0.3, brace-expansion@5.0.5, brace-expansion@5.0.7, js-yaml@4.2.0, uuid@8.3.2 (CWE-1395)known CVE · -12 pts
⚠LLM05Improper Output Handlinghigh
Code that pipes model/user output into shell, eval, SQL or paths unsafely.
•Suspicious code patterns — destructive rm -rf / · PrefectHQ-prefect-d2d873b/.github/docker/old-sqlite.Dockerfile (CWE-78)expected
•Suspicious code patterns — OS command execution · PrefectHQ-prefect-d2d873b/benches/__main__.py (CWE-78)expected
•Suspicious code patterns — pipe-to-shell install · PrefectHQ-prefect-d2d873b/docs/v3/get-started/quickstart.mdx (CWE-494)expected
•Suspicious code patterns — dynamic code execution · PrefectHQ-prefect-d2d873b/load_testing/run-server.sh (CWE-95)expected
•Suspicious code patterns — pickle deserialization · PrefectHQ-prefect-d2d873b/src/integrations/prefect-dbt/tests/core/test_orchestrator_cache.py (CWE-502)expected
⚠LLM06Excessive Agencyhigh
Over-broad tool/permission surface or unrestricted egress.
•External endpoints declared — 1 distinct host(s) · PrefectHQ-prefect-d2d873b/.claude/settings.jsonexpected
•Egress to a private/loopback host — 127.0.0.1 · PrefectHQ-prefect-d2d873b/.claude/skills/write-docs/SKILL.md (CWE-918)expected
•External endpoints declared — 4 distinct host(s) · PrefectHQ-prefect-d2d873b/.claude/skills/write-docs/SKILL.mdexpected
•External endpoints declared — 2 distinct host(s) · PrefectHQ-prefect-d2d873b/.github/ISSUE_TEMPLATE/1_bug_report.yamlexpected
•External endpoints declared — 3 distinct host(s) · PrefectHQ-prefect-d2d873b/.github/workflows/api-compatibility-tests.yamlexpected
•External endpoints declared — 14 distinct host(s) · PrefectHQ-prefect-d2d873b/README.mdexpected
•External endpoints declared — 7 distinct host(s) · PrefectHQ-prefect-d2d873b/client/README.mdexpected
•External endpoints declared — 6 distinct host(s) · PrefectHQ-prefect-d2d873b/docs/contribute/docs-contribute.mdxexpected
•Broad capability surface — 4 high-impact capability categories referenced — verify least-privilege · PrefectHQ-prefect-d2d873b/docs/docs.json (CWE-272)risk surface
•Broad capability surface — 3 high-impact capability categories referenced — verify least-privilege · PrefectHQ-prefect-d2d873b/docs/integrations/prefect-dbt/orchestrator.mdx (CWE-272)risk surface
•External endpoints declared — 5 distinct host(s) · PrefectHQ-prefect-d2d873b/docs/integrations/prefect-ray/index.mdxexpected
•External endpoints declared — 11 distinct host(s) · PrefectHQ-prefect-d2d873b/docs/v3/advanced/self-hosted.mdxexpected
•External endpoints declared — 8 distinct host(s) · PrefectHQ-prefect-d2d873b/docs/v3/api-ref/rest-api/index.mdxexpected
•External endpoints declared — 9 distinct host(s) · PrefectHQ-prefect-d2d873b/docs/v3/how-to-guides/deployment_infra/kubernetes.mdxexpected
•External endpoints declared — 10 distinct host(s) · PrefectHQ-prefect-d2d873b/src/integrations/prefect-aws/README.mdexpected
⚠LLM07System Prompt Leakagehigh
Secrets, internal hosts or proprietary logic exposed in shipped prompts.
•Embedded credentials — found: hardcoded credential · PrefectHQ-prefect-d2d873b/docs/integrations/prefect-bitbucket/index.mdx (CWE-798)expected
•Embedded credentials — found: Slack token · PrefectHQ-prefect-d2d873b/docs/integrations/prefect-slack/index.mdx (CWE-798)expected
•Internal host / private infrastructure reference — shipped content references a private IP range or internal-only host · PrefectHQ-prefect-d2d873b/docs/v3/advanced/configure-network-access.mdx (CWE-200)expected
•Embedded credentials — found: AWS access key id · PrefectHQ-prefect-d2d873b/docs/v3/advanced/custom-blocks.mdx (CWE-798)expected
•Embedded credentials — found: credentials in URL · PrefectHQ-prefect-d2d873b/src/integrations/prefect-bitbucket/tests/test_credentials.py (CWE-798)expected
•Low-confidence secret match — possible: hardcoded credential (test/sample) · PrefectHQ-prefect-d2d873b/src/integrations/prefect-bitbucket/tests/test_credentials.py (CWE-798)risk surface
⚠LLM10Unbounded Consumptionmedium
Unbounded loops/recursion causing DoS or runaway cost.
Enforced at runtime by the gateway (rate limits + spend caps + size caps); static check flags unbounded loops.
•Potentially unbounded loop — an infinite loop (while True / while(1) / for(;;)) may cause runaway consumption · PrefectHQ-prefect-d2d873b/docs/integrations/prefect-gcp/index.mdx (CWE-835)risk surface
§LLM09MisinformationGovernance
Artifacts designed to produce false/deceptive output.
Detectable only by runtime behavioral evaluation; addressed via responsible-use attestation.
✓LLM04Data and Model PoisoningPassed
Backdoors/poisoning in training data or serialized models.
Behavioral poisoning needs model execution; static check covers unsafe serialization + dataset skew only.
✓LLM08Vector and Embedding WeaknessesPassed
PII or plaintext source leakage in embedding/vector exports.
Embedding inversion/poisoning is largely runtime; static check covers PII in vector exports.
OWASP Machine Learning Security Top 10
⚠ML02Data Poisoninghigh
Poisoned training datasets with triggers or anomalous distributions.
Static check covers trigger phrasing, PII and label skew; full poisoning detection is runtime.
•Prompt-injection phrasing — instruction-subversion language detected · PrefectHQ-prefect-d2d873b/docs/v3/how-to-guides/deployments/prefect-yaml.mdx (CWE-77)risk surface
⚠ML06AI Supply Chainhigh
Compromised PyPI/npm packages, typosquats, unsafe serialized models.
•Dependency manifest — 5 pip requirements declared · PrefectHQ-prefect-d2d873b/scripts/proxy-test/requirements.txtrisk surface
•Dependency manifest — 1 npm dependencies declared · PrefectHQ-prefect-d2d873b/src/integrations/prefect-aws/infra/package.jsonrisk surface
•Dependency manifest — 2 pip requirements declared · PrefectHQ-prefect-d2d873b/src/integrations/prefect-docker/tests/test-project/requirements.txtrisk surface
•Vulnerable dependencies — 18 known vulnerabilities in: @babel/core@7.28.5, brace-expansion@1.1.11, brace-expansion@2.0.2, brace-expansion@5.0.3, brace-expansion@5.0.5, brace-expansion@5.0.7, js-yaml@4.2.0, uuid@8.3.2 (CWE-1395)known CVE · -12 pts
⚠ML09Output Integrityhigh
Middleware tampering with model outputs in transit.
Gateway enforces TLS + response integrity; static check flags output-rewriting code.
•Suspicious code patterns — destructive rm -rf / · PrefectHQ-prefect-d2d873b/.github/docker/old-sqlite.Dockerfile (CWE-78)expected
•Suspicious code patterns — OS command execution · PrefectHQ-prefect-d2d873b/benches/__main__.py (CWE-78)expected
•Suspicious code patterns — pipe-to-shell install · PrefectHQ-prefect-d2d873b/docs/v3/get-started/quickstart.mdx (CWE-494)expected
•Suspicious code patterns — dynamic code execution · PrefectHQ-prefect-d2d873b/load_testing/run-server.sh (CWE-95)expected
•Suspicious code patterns — pickle deserialization · PrefectHQ-prefect-d2d873b/src/integrations/prefect-dbt/tests/core/test_orchestrator_cache.py (CWE-502)expected
§ML01Input Manipulation (Adversarial)Governance
Models vulnerable to adversarial perturbations.
Requires runtime robustness evaluation; addressed via publisher robustness attestation.
§ML03Model InversionGovernance
Training data reconstructable from a model's outputs.
Runtime/evaluation property; addressed via model-card data-provenance + DP attestation.
§ML04Membership InferenceGovernance
Determining whether a record was in the training set.
Runtime/evaluation property; addressed via overfitting disclosure + DP attestation.
§ML08Model SkewingGovernance
Models trained on skewed data producing biased output.
Requires fairness evaluation; addressed via model-card bias/limitations disclosure.
✓ML05Model TheftPassed
Unlicensed re-distribution / license-incompatible derivatives.
Static check verifies license declaration; extraction throttling is runtime.
✓ML07Transfer Learning AttackPassed
Backdoored base models / LoRA adapters propagating to derivatives.
Backdoor detection needs behavioral probing; static check covers unsafe serialization + provenance.
✓ML10Model Poisoning (Weights)Passed
Tampered model weight files; integrity must be verifiable.
Static check enforces safe formats + records a content hash for downstream verification.
Other findings (24) · hygiene / uncategorized
•Suspicious network references — raw IP URL (4 URLs) · PrefectHQ-prefect-d2d873b/.claude/skills/write-docs/SKILL.mdexpected
•Unrecognized file type — '.mdx' is not on the allowlist · PrefectHQ-prefect-d2d873b/.claude/skills/write-docs/template-concept.mdxrisk surface
•Unrecognized file type — '.dockerignore' is not on the allowlist · PrefectHQ-prefect-d2d873b/.dockerignorerisk surface
•Unrecognized file type — '.?' is not on the allowlist · PrefectHQ-prefect-d2d873b/.github/CODEOWNERSrisk surface
•Unrecognized file type — '.dockerfile' is not on the allowlist · PrefectHQ-prefect-d2d873b/.github/docker/old-sqlite.Dockerfilerisk surface
•Suspicious network references — raw IP URL (3 URLs) · PrefectHQ-prefect-d2d873b/.github/workflows/benchmarks.yamlexpected
•Suspicious network references — raw IP URL (2 URLs) · PrefectHQ-prefect-d2d873b/.github/workflows/dbt-benchmarks.yamlexpected
•Suspicious network references — raw IP URL (6 URLs) · PrefectHQ-prefect-d2d873b/.github/workflows/integration-tests.yamlexpected
•Suspicious network references — raw IP URL (5 URLs) · PrefectHQ-prefect-d2d873b/.github/workflows/ui-v2-e2e-tests.ymlexpected
•Unrecognized file type — '.gitignore' is not on the allowlist · PrefectHQ-prefect-d2d873b/.gitignorerisk surface
•Unrecognized file type — '.gitmodules' is not on the allowlist · PrefectHQ-prefect-d2d873b/.gitmodulesrisk surface
•Unrecognized file type — '.nvmrc' is not on the allowlist · PrefectHQ-prefect-d2d873b/.nvmrcrisk surface
•Unrecognized file type — '.prefectignore' is not on the allowlist · PrefectHQ-prefect-d2d873b/.prefectignorerisk surface
•Unrecognized file type — '.sqlite-builder' is not on the allowlist · PrefectHQ-prefect-d2d873b/Dockerfile.sqlite-builderrisk surface
•Unrecognized file type — '.mintignore' is not on the allowlist · PrefectHQ-prefect-d2d873b/docs/.mintignorerisk surface
•Unrecognized file type — '.ini' is not on the allowlist · PrefectHQ-prefect-d2d873b/docs/.vale.inirisk surface
•Suspicious network references — suspicious TLD (22 URLs) · PrefectHQ-prefect-d2d873b/docs/v3/examples/run-dbt-with-prefect.mdxexpected
•Suspicious network references — raw IP URL (9 URLs) · PrefectHQ-prefect-d2d873b/docs/v3/how-to-guides/configuration/manage-settings.mdxexpected
•Suspicious network references — suspicious TLD (21 URLs) · PrefectHQ-prefect-d2d873b/examples/run_dbt_with_prefect.pyexpected
•Unrecognized file type — '.conf' is not on the allowlist · PrefectHQ-prefect-d2d873b/scripts/proxy-test/squid.confrisk surface
•Unrecognized file type — '.jinja' is not on the allowlist · PrefectHQ-prefect-d2d873b/scripts/templates/docs_template.jinjarisk surface
•Unrecognized file type — '.in' is not on the allowlist · PrefectHQ-prefect-d2d873b/src/integrations/prefect-aws/MANIFEST.inrisk surface
•Unrecognized file type — '.typed' is not on the allowlist · PrefectHQ-prefect-d2d873b/src/integrations/prefect-dask/prefect_dask/py.typedrisk surface
•Suspicious network references — raw IP URL (14 URLs) · PrefectHQ-prefect-d2d873b/src/integrations/prefect-docker/tests/test_worker.pyexpected
✔ verified source · pinned PrefectHQ-prefect-d2d873b · changed since last scan (-7 pts)
Check against a policy

The same gate an agent runs before installing (POST /api/v1/trust/prefect-workflow-orchestration/check). Click a policy:

Consume Prefect programmatically. Authenticate with an API key or session — see Authorize an agent.

# Agents: CHECK BEFORE YOU INSTALL (no auth) — score, grade, level, capability manifest
curl https://ai-supply.store/api/v1/trust/prefect-workflow-orchestration

# Gate against your org policy (returns { pass, violations })
curl -X POST https://ai-supply.store/api/v1/trust/prefect-workflow-orchestration/check \
  -H "Content-Type: application/json" \
  -d '{"minGrade":"B","denyPermissions":["shell"],"denyUnknownEgress":true}'

# CLI
npx ai-supply add prefect-workflow-orchestration

# REST (install → download)
curl -X POST https://ai-supply.store/api/v1/listings/prefect-workflow-orchestration/install \
  -H "Authorization: Bearer $AIM_KEY"

# MCP tool
install_listing({ "slug": "prefect-workflow-orchestration" })
OpenAPI spec →
vlatest
! Security: Review · 881mo ago

Curated mirror — latest upstream source. See the repository for tagged releases.

Sign in and install this listing to leave a review.

More from @ai-supply

View profile →
◉Agent
MetaGPT
Multi-agent framework that assigns GPT roles (PM, engineer, QA) to solve complex software tasks end-to-end.
↓ 1.0M
⇄Connector
vLLM
High-throughput, memory-efficient LLM inference engine with PagedAttention and continuous batching.
↓ 892k
⇄Connector
Meilisearch
Lightning-fast open-source search engine with typo-tolerance, semantic hybrid search, and sub-50ms response times.
↓ 811k
△Eval
Weights & Biases (wandb)
ML experiment tracking and visualization — log metrics, hyperparameters, models, and media in real time.
↓ 784k
ai-supply.store

Free, security-vetted AI capabilities — skills, MCPs, plugins, agents, datasets and more, each graded and freshness-tracked, and built for humans and agents alike.

api · v3.1status · all green
Contact
support@ai-supply.storesecurity@ai-supply.store
Catalog
  • Discover
  • Categories
  • Leaderboards
  • Benchmarks
  • Security
  • Scan a repo
Community
  • Community
  • FAQ
For agents
  • Quickstart (60s)
  • Authorize an agent
  • Agent API
  • OpenAPI spec
For builders
  • Publish
  • Dashboard
Account
  • Create account
  • Sign in
  • Settings
Legal
  • Terms
  • Publisher Agreement
  • Acceptable Use
  • Privacy