Agent skill · Audited from source
cyrus-setup-launch
skill · ceedaragents/cyrusApache-2.0 licenceAudited 24 Oct 2026 · source 522039659b35
Is it safe? No — BLOCK, grade D (69/100). We read this skill's source at commit 522039659b35 and found no filesystem, network or shell access and no hard-coded secrets. The audit raised 6 findings, 1 critical or high. What it does: Print a summary of the Cyrus setup and offer to start the agent.
Cite
Cite this page
ModelsAtlas. “cyrus-setup-launch (ceedaragents/cyrus)”. Retrieved 24 Oct 2026. https://modelsatlas.com/skills/ceedaragents/cyrus-setup-launch
Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 1 critical or high finding, starting with “Privilege escalation / persistence” in SKILL.md. Do not install it without reading them.
2 skills are called “cyrus-setup-launch”. You are viewing ceedaragents/cyrus. 1 of them is BLOCK.
- ceedaragents/cyrus★ 867✕BLOCK
- cyrusagents/cyrus★ 856!CAUTION
Trust audit
Audit 0.4.1 · source read 24 Oct 2026
BLOCK means the audit found something that could harm you or your machine. Grade D is shared by 642 of 14,816 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | WARN | 5 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | FAIL | 1 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (6)
HIGHPrivilege escalation / persistencereview.unsafe_action · SKILL.md
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/.cyrus/certs/cyrus-egress-ca.pem
- Why
- Installs a root CA into the system keychain with sudo, bypassing normal user trust, to make an egress proxy CA globally trusted.
- Fix
- rewrite it so the instruction says plainly what it does, and asks the user before it acts
MEDIUMInventory / provenanceinv.symlink · .claude/skills/cyrus-setup
.claude/skills/cyrus-setup
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · .claude/skills/cyrus-setup-claude-auth
.claude/skills/cyrus-setup-claude-auth
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · .claude/skills/cyrus-setup-endpoint
.claude/skills/cyrus-setup-endpoint
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · .claude/skills/cyrus-setup-github
.claude/skills/cyrus-setup-github
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · .claude/skills/cyrus-setup-gitlab
.claude/skills/cyrus-setup-gitlab
- Why
- link not followed
- Fix
- —
Audit 0.4.1 · source sha 522039659b35 · 24 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisherceedaragents GitHub organizationOwner of the repository this skill is read from
- Source folderceedaragents/cyrus/skills/cyrus-setup-launchThe exact folder we audited
- LicenceApache-2.0As the repository states it
- Commit pinned for this verdict522039659b35A new audit runs when the source changes
- Repository statusNot archivedPushed today
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Print a summary of the Cyrus setup and offer to start the agent.
---
name: cyrus-setup-launch
description: Print a summary of the Cyrus setup and offer to start the agent.
---
**CRITICAL: Never use `Read`, `Edit`, or `Write` tools on `~/.cyrus/.env` or any file inside `~/.cyrus/`. Use only `Bash` commands (`grep`, `printf >>`, etc.) to interact with env files — secrets must never be read into the conversation context.**
# Setup Launch
Prints a summary of the completed setup and offers to start Cyrus.
## Step 1: Gather Configuration
Read current state:
```bash
# Base URL
grep '^CYRUS_BASE_URL=' ~/.cyrus/.env 2>/dev/null | cut -d= -f2-
# Linear
grep -c '^LINEAR_CLIENT_ID=' ~/.cyrus/.env 2>/dev/null
# GitHub
gh auth status 2>&1 | head -1
# Slack
grep -c '^SLACK_BOT_TOKEN=' ~/.cyrus/.env 2>/dev/null
# Repositories
cat ~/.cyrus/config.json 2>/dev/null
# Claude auth
grep -c -E '^(ANTHROPIC_API_KEY|CLAUDE_CODE_OAUTH_TOKEN)=' ~/.cyrus/.env 2>/dev/null
```
## Step 2: Print Summary
Print a formatted summary:
```
┌─────────────────────────────────────┐
│ Cyrus Setup Complete │
├─────────────────────────────────────┤
│ │
│ Endpoint: https://your-url.com │
│ Claude: ✓ API key configured │
│ │
│ Surfaces: │
│ Linear: ✓ Workspace connected │
│ GitHub: ✓ CLI authenticated │
│ Slack: ✓ Bot configured │
│ │
│ Repositories: │
│ • yourorg/yourrepo │
│ • yourorg/another-repo │
│ │
└─────────────────────────────────────┘
```
Use ✓ for configured items and ✗ for skipped/unconfigured items.
## Step 3: Make Cyrus Persistent
Cyrus needs to run as a background process so it stays alive and restarts after reboots. **Use the `AskUserQuestion` tool if available** to ask:
> **How would you like to keep Cyrus running in the background?**
>
> 1. **pm2** (recommended) — Node.js process manager. Simple to set up, auto-restarts on crash, log management built in. Best for most users.
> 2. **systemd** (Linux only) — OS-level service manager. Starts on boot automatically, managed with `systemctl`. Best for dedicated Linux servers.
> 3. **Neither** — just run `cyrus` in the foreground for now (you can set up persistence later).
### Option 1: pm2
The agent should run all of these commands directly:
1. Check if pm2 is installed (`which pm2`). If not, install it (`npm install -g pm2`).
2. Start Cyrus: `pm2 start cyrus --name cyrus`
3. Save the process list: `pm2 save`
4. Run `pm2 startup` — this prints a system-specific command. The agent should run that output command too (it typically requires `sudo`).
After setup, inform the user of useful commands:
- `pm2 logs cyrus` — view logs
- `pm2 restart cyrus` — restart
- `pm2 stop cyrus` — stop
### Option 2: systemd (Linux only)
The agent should run all of these commands directly:
1. Resolve the actual values for the service file:
```bash
CYRUS_BIN=$(which cyrus)
CYRUS_USER=$(whoami)
```
2. Write the service file:
```bash
sudo tee /etc/systemd/system/cyrus.service > /dev/null << EOF
[Unit]
Description=Cyrus AI Agent
After=network.target
[Service]
Type=simple
User=$CYRUS_USER
EnvironmentFile=/home/$CYRUS_USER/.cyrus/.env
ExecStart=$CYRUS_BIN
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
```
3. Enable and start:
```bash
sudo systemctl daemon-reload
sudo systemctl enable cyrus
sudo systemctl start cyrus
```
After setup, inform the user of useful commands:
- `sudo systemctl status cyrus` — check status
- `sudo journalctl -u cyrus -f` — view logs
- `sudo systemctl restart cyrus` — restart
### Option 3: Foreground
Run directly:
```bash
cyrus
```
## Step 4: Start ngrok (if applicable)
If the user configured ngrok in the endpoint step, the agent should start it:
```bash
ngrok start cyrus
```
If using pm2, also make ngrok persistent:
```bash
pm2 start "ngrok start cyrus" --name ngrok
pm2 save
```
## Step 5: Sandbox CA Certificate Trust (if sandbox enabled)
If the user's `~/.cyrus/config.json` has `sandbox.enabled: true`, check whether the egress proxy CA certificate is trusted in the system keychain.
**Check if sandbox is enabled:**
```bash
grep -o '"enabled":\s*true' ~/.cyrus/config.json 2>/dev/null | head -1
```
If sandbox is enabled, check trust status:
```bash
# macOS — check System keychain for the Cyrus CA
security find-certificate -c "Cyrus Egress Proxy CA" /Library/Keychains/System.keychain 2>&1
```
- If the cert is found (exit code 0): report ✓ trusted. Offer to set `sandbox.systemWideCert: true` in config.json to skip per-session cert env vars.
- If not found (exit code 44): inform the user and offer to run the trust command:
```bash
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/.cyrus/certs/cyrus-egress-ca.pem
```
On Linux, check with `test -f /usr/local/share/ca-certificates/cyrus-egress-ca.crt`. If not present:
```bash
sudo cp ~/.cyrus/certs/cyrus-egress-ca.pem /usr/local/share/ca-certificates/cyrus-egress-ca.crt
sudo update-ca-certificates
```
After trusting system-wide, offer to set `sandbox.systemWideCert: true` in config.json. This skips per-session cert env vars (`NODE_EXTRA_CA_CERTS`, `GIT_SSL_CAINFO`, etc.) since the OS cert store handles trust for all tools.
If the user declines system-wide trust, Cyrus still works — it sets cert env vars per-session. But some tools (Bun, .NET, curl on macOS with SecureTransport) will only work with system-wide trust.
## Step 6: Verify Running
Once Cyrus starts, verify it's listening:
```bash
curl -s http://localhost:3456/status
```
Should return `{"status":"idle"}` or similar.
> Then try assigning a Linear issue to Cyrus, or @mentioning it in Slack, to verify the full pipeline works!
## Completion
> ✓ Cyrus is running and ready. Assign a LExcerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 5220396
git clone https://github.com/ceedaragents/cyrus git -C cyrus checkout 522039659b35
The author documents no install command, so this uses the repository directly. Our verdict covers commit 522039659b35 only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- ✕BLOCK D 69 / 100
first audit · source
522039659b35
Similar skills
ceedaragents/cyrus
Assess F1 applicability, then validate changed product workflows or the F1 harness end-to-end. Skip drives and reports when no relevant workflow behavior changes.
ceedaragents/cyrus
Search the web for information. Use when you need to look something up, find current information, or research a topic.
ceedaragents/cyrus
Implement the requested changes. Write production-ready code, follow existing patterns, and use proportionate verification.
ceedaragents/cyrus
Full debugging workflow — reproduce the bug with a focused check, perform root cause analysis, then implement a minimal fix.
ceedaragents/cyrus
Check and install prerequisites for Cyrus — Node.js, jq, gh CLI, and the cyrus-ai npm package.
ceedaragents/cyrus
Add one or more Git repositories to Cyrus configuration so it can process issues from those repos.
Questions about cyrus-setup-launch
What does the cyrus-setup-launch skill do?
Is cyrus-setup-launch safe to install?
What can cyrus-setup-launch access on my machine?
What do I need installed to use cyrus-setup-launch?
How current is this page?
Sources
- github.com/ceedaragents/cyrus/tree/main/skills/cyrus-setup-launc — the audited source at commit 522039659b35 and every finding aboveObserved · 24 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the cyrus-setup-launch skill do?
- Is cyrus-setup-launch safe to install?
- What can cyrus-setup-launch access on my machine?