deer-flow — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited deer-flow (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
DeerFlow is a LangGraph-based multi-agent system running at http://localhost:8001. It uses Claude Sonnet 4.6 as the primary model and Haiku 4.5 for fast sub-tasks.
The DeerFlow backend must be running. Start it in a separate terminal:
cd "C:\Users\A\Documents\CURSOR PROJECTS\deer-flow"
start.bat
REM Reads your Claude Max token from ~/.claude/.credentials.json automatically
REM Backend starts at http://localhost:8001No manual API key needed — it reads your Claude Max subscription token from C:\Users\A\.claude\.credentials.json automatically.
curl -s http://localhost:8001/health || echo "DeerFlow not running"import httpx, json
BASE = "http://localhost:8001"
THREAD_ID = "research-session-1"
# Create or continue a thread
resp = httpx.post(f"{BASE}/api/langgraph/threads", json={"thread_id": THREAD_ID})
# Run a task
resp = httpx.post(
f"{BASE}/api/langgraph/threads/{THREAD_ID}/runs",
json={
"assistant_id": "default",
"input": {"messages": [{"role": "user", "content": "YOUR TASK HERE"}]},
"stream_mode": "values",
},
timeout=300,
)
result = resp.json()
print(result["output"]["messages"][-1]["content"])import httpx
with httpx.stream("POST", f"{BASE}/api/langgraph/threads/{THREAD_ID}/runs/stream",
json={"assistant_id": "default",
"input": {"messages": [{"role": "user", "content": "YOUR TASK"}]}},
timeout=600) as r:
for line in r.iter_lines():
if line.startswith("data:"):
event = json.loads(line[5:])
# Process streamed eventsDeerFlowClient runs the agent in-process — no server required:
import sys
sys.path.insert(0, r"C:\Users\A\Documents\CURSOR PROJECTS\deer-flow\backend\packages\harness")
import os
os.environ["DEER_FLOW_CONFIG_PATH"] = r"C:\Users\A\Documents\CURSOR PROJECTS\deer-flow\config.yaml"
os.environ["ANTHROPIC_API_KEY"] = "sk-ant-..." # or from env
from deerflow.client import DeerFlowClient
client = DeerFlowClient()
response = client.chat("Research X and write a 500-word summary", thread_id="my-session")
print(response)C:\Users\A\Documents\CURSOR PROJECTS\deer-flow\config.yamlC:\Users\A\Documents\CURSOR PROJECTS\deer-flow\...\deer-flow\backend\...\deer-flow\config.yaml...\deer-flow\start.bat...\deer-flow\frontend\ (needs npm install && npm run build)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.