Painless business planning for freelancers.
Cursor Rules are .cursorrules / .cursor/rules files that steer Cursor's AI; scanned with the same pipeline.
We found this by crawling public sources and nobody has attested to it. That is how most of the registry gets here, and it is not a mark against the artifact — it only means no authenticated act of publication is on record. An artifact can be the vendor's own and still appear here.
2 critical findings reported by cisco-skill-scanner. The composite score alone does not reflect this — read the per-scanner reports below.
This artifact ships from 2 sources and their verdicts differ. The worst is github (Flagged). Installing from a cleaner source does not mean the others are safe — check the source you actually install from.
github: https://github.com/tuttle-dev/tuttle, 216 findings
Cursor Rules are .cursorrules / .cursor/rules files that steer Cursor's AI. Review the scanned source before copying them into your own project.
nerlo install -- tuttle
6 of 11 scanners examined this package. The rest do not apply to it — language, ecosystem and packaging decide which analyzers can say anything, and a scanner that cannot examine an artifact reports nothing rather than passing it.
v1.4.0
2 findings · 0.8s
v2.0.11
86 findings · 15.2s
v0.3.74
25 findings · 17.1s
v0.1.0
3 findings · 8.0s
v0.1.0
0 findings · 8.0s
v0.1.0
0 findings · 25.2s
vv0.3.2
No Go packages were found in this artifact. What each scanner covers
0 findings · 0.2s
No report in this scan: govulncheck, osv-scanner, trivy, trivy_image.
1 scan on record. Every scan's full results are retained immutably for 24 months.
| Completed | Composite | Change | Scanners | Status |
|---|---|---|---|---|
| Aug 22, 2026 | Scan Halted | — | agentshield: completecisco-skill-scanner: completeagent-audit-kit: completenerlo-behavioral: completenerlo-install-instruction: completecapslock ·n/a: not applicablenerlo-multi-source: complete | rejected |
Findings in files this artifact installs stand as reported; a model re-read the rest and said which ones it believes are false positives. This is a second opinion published beside the evidence, not a correction to it: the per-scanner reports above are unchanged, every dismissed finding is still listed there at its original severity, and the score and the Flagged badge are computed from those raw severities alone. Nothing below moved them.
Out of 116 findings across every scanner that examined this package. None of the 2 findings rated critical by their scanner were dismissed.
Two keys had to turn. The model had to name a reason from a fixed list of six, and a deterministic check of ours — over which files this artifact actually installs — had to independently agree. Anything it could not corroborate is in “not reviewed” above, at full severity.
5 Documentation or example — The match is in documentation or sample code, confirmed by our own check to be outside the installed artifact.
Rules: SOCIAL_ENG_VAGUE_DESCRIPTION, MANIFEST_MISSING_LICENSE, MANIFEST_INVALID_NAME · Files: /repo/.github/SKILL.md, /repo/docs/SKILL.md · reported by cisco-skill-scanner
4 Agent instruction file — The match is in a file that instructs an AI coding agent — a CLAUDE.md or similar. It is documentation of intent, and our own check confirmed it is not part of what gets installed.
Rules: AAK-AGENT-002, AAK-AGENT-005, TOOL_ABUSE_UNDECLARED_NETWORK · Files: AGENTS.md, .github/copilot-instructions.md, /repo/repo/AGENTS.md · reported by agent-audit-kit, cisco-skill-scanner
3 CI or editor configuration — The match is in build, CI or editor configuration, confirmed by our own check to be outside the installed artifact.
Rules: AAK-GHA-IMMUTABLE-001 · Files: .github/workflows/python-package.yml, .github/workflows/core-smoke.yml, .github/workflows/pack-electron.yml · reported by agent-audit-kit
1 Test or fixture file — The match is in a test or fixture. Our own check confirmed the file is not part of what gets installed.
Rules: AAK-TASKS-003 · Files: tuttle_tests/test_tasks.py · reported by agent-audit-kit
These findings are in files this artifact installs and are not placeholder values. No false-positive basis can be corroborated for such a finding, so this review never dismisses one; they were not sent to the model and stand at their scanner's severity.
23 DATA_EXFIL_JS_FS_ACCESS
Files: /repo/templates/invoice-anvil/generate-pdf.js, /repo/templates/timesheet-anvil/generate-pdf.js, /repo/ui/electron/main.ts and 2 more · reported by cisco-skill-scanner
10 MANIFEST_MISSING_LICENSE
Files: /repo/.claude/skills/graft/SKILL.md, /repo/.cursor/skills/readme-screenshots/SKILL.md, /repo/SKILL.md and 7 more · reported by cisco-skill-scanner
9 FILE_MAGIC_MISMATCH
Files: /repo/templates/invoice-anvil/invoice.html, /repo/templates/invoice-bold/invoice.html, /repo/templates/invoice-classic/invoice.html and 5 more · reported by cisco-skill-scanner
8 SOCIAL_ENG_VAGUE_DESCRIPTION
Files: /repo/SKILL.md, /repo/design_docs/SKILL.md, /repo/tuttle/migrations/SKILL.md and 5 more · reported by cisco-skill-scanner
6 DATA_EXFIL_NETWORK_REQUESTS
Files: /repo/tuttle/fx.py, /repo/tuttle/llm.py · reported by cisco-skill-scanner
Artifact allows shell execution and file system access
The artifact contains critical findings for command injection, allowing shell execution in helper scripts. High severity findings indicate extensive file system access in PDF generation utilities, and potential for dynamic code execution. There are also indications of credential access and network egress capabilities.
Concern level assessed by the review: Critical. This is the review's scale, not the registry badge.
Reviewed by gemini-2.5-flash. The model sees the findings, not your code, and cannot change a score.
6 LOW_ANALYZABILITY
Files: /repo/templates/invoice-anvil/react-pdf, /repo/templates/timesheet-anvil/react-pdf, /repo/templates/invoice-anvil and 3 more · reported by cisco-skill-scanner
4 AAK-MCP-007
Files: .mcp.json, .cursor/mcp.json · reported by agent-audit-kit
4 AAK-SUPPLY-001
Files: .mcp.json, .cursor/mcp.json · reported by agent-audit-kit
3 DATA_EXFIL_JS_NETWORK
Files: /repo/templates/timesheet-anvil/web/scripts.js · reported by cisco-skill-scanner
2 AAK-MCP-005
Files: .mcp.json, .cursor/mcp.json · reported by agent-audit-kit
2 AAK-MCP-ATTEST-001
Files: .mcp.json, .cursor/mcp.json · reported by agent-audit-kit
2 AAK-TASKS-003
Files: tuttle/model.py, tuttle/app/tasks/intent.py · reported by agent-audit-kit
2 BINARY_FILE_DETECTED
Files: /repo/tuttle/app/assets/icon/macos/AppIcon.icns, /repo/ui/build/icon.icns · reported by cisco-skill-scanner
2 COMMAND_INJECTION_JS_CHILD_PROCESS
Files: /repo/.claude/helpers/graft-hooks.cjs, /repo/.claude/helpers/graft-statusline.cjs · reported by cisco-skill-scanner
2 COMMAND_INJECTION_SHELL_TRUE
Files: /repo/tuttle/os_functions.py · reported by cisco-skill-scanner
2 HIDDEN_DATA_FILE
Files: /repo/.pre-commit-config.yaml, /repo/.codegraph/config.json · reported by cisco-skill-scanner
2 opt.nerlo-rules.nerlo-py-dynamic-exec
Files: /repo/tuttle/os_functions.py · reported by nerlo-behavioral
2 UNANALYZABLE_BINARY
Files: /repo/tuttle/app/assets/icon/macos/AppIcon.icns, /repo/ui/build/icon.icns · reported by cisco-skill-scanner
2 YARA_prompt_injection_unicode_steganography
Files: /repo/tuttle/app/assets/icon/macos/AppIcon.icns · reported by cisco-skill-scanner
1 AAK-LEGAL-002
Files: ui/package.json · reported by agent-audit-kit
1 AAK-TRUST-004
Files: .claude/settings.json · reported by agent-audit-kit
1 AAK-TRUST-006
Files: .claude/settings.json · reported by agent-audit-kit
1 AAK-TRUST-007
Files: .claude/settings.json · reported by agent-audit-kit
1 EXCESSIVE_FILE_COUNT
Files: /repo/. · reported by cisco-skill-scanner
1 hooks-no-pretooluse
Files: settings.json · reported by agentshield
1 MANIFEST_INVALID_NAME
Files: /repo/design_docs/SKILL.md · reported by cisco-skill-scanner
1 opt.nerlo-rules.nerlo-py-secret-to-network-egress
Files: /repo/tuttle/llm.py · reported by nerlo-behavioral
1 permissions-no-deny-list
Files: settings.json · reported by agentshield
1 RESOURCE_ABUSE_INFINITE_LOOP
Files: /repo/tuttle/demo.py · reported by cisco-skill-scanner
Showing 25 of 41; the rest are in the per-scanner reports above.