Security Scanning
AgentDeploy runs automated security audits on every agent before it can be published to the marketplace. This protects buyers from malicious code, leaked secrets, and prompt injection attacks.
No code uploads
Code never enters our infrastructure directly. All agent source code is read from the seller's own GitHub repository via the GitHub App. This means:
- Full audit trail — every line of deployed code has a git commit hash
- No obfuscation — the platform reads raw source, not compiled bundles
- Seller-owned — sellers maintain full control of their repos
Scan pipeline
1. Platform reads repo via GitHub API
├─ .ts, .js, .py, .go, .rs files
├─ package.json, Dockerfile, docker-compose.yml
└─ Excludes: node_modules, lock files, images, binaries
2. Platform dispatches GitHub Actions workflow
└─ Runs in an isolated CI runner
3. Five scanners execute:
├─ gitleaks (30%) — hardcoded secrets
├─ LLM scanner (25%) — prompt injection
├─ osv-scanner (20%) — dependency CVEs
├─ permission analyzer (15%) — API scope review
└─ semgrep (10%) — SAST patterns
4. Artifacts uploaded:
├─ security-report.pdf
└─ scan-result.json
5. Platform downloads results → calculates rating → updates template
Rating system
| Rating | Score | Meaning | Deployable |
|---|---|---|---|
| A | 90+ | Verified Secure | Yes |
| B | 70-89 | Good Standing | Yes |
| C | 50-69 | Needs Attention | Yes (review) |
| D | 25-49 | Under Review | No |
| F | 0-24 | Suspended | No |
Minimum to publish: C (50+)
What each scanner detects
gitleaks (Secrets — 30% weight)
Scans all source files for:
- API keys (AWS, Google, Stripe, OpenAI, etc.)
- Database connection strings
- Bearer tokens and JWTs
- Private keys (PEM, SSH, PGP)
- Generic high-entropy strings
One finding drops the secrets category to 0, which typically results in an overall D or F rating.
LLM scanner (Prompt Injection — 25% weight)
Uses GPT-4 to analyze:
- System prompts for hidden instructions
- Comments that could manipulate agent behavior
- String literals containing "ignore previous instructions" patterns
- Data exfiltration instructions
- Jailbreak attempts
osv-scanner (Dependencies — 20% weight)
Checks all dependencies against the Open Source Vulnerability database:
- npm packages (via package.json)
- Python packages (via requirements.txt / pyproject.toml)
- Go modules
- Rust crates
Known CVEs with high severity lower the score significantly.
Permission analyzer (Permissions — 15% weight)
Reviews:
- Cloudflare bindings declared (KV, R2, D1, Durable Objects)
- External API scopes requested
- Network call patterns in code
- Whether permissions match actual usage
Over-requesting permissions (declaring bindings you don't use) lowers the score.
semgrep (SAST — 10% weight)
Static analysis for:
eval()andnew Function()usage- SQL injection patterns
- XSS via innerHTML
- Path traversal
- Unsafe deserialization
- Hardcoded IP addresses
Scan artifacts
Each scan produces downloadable artifacts:
- PDF report — human-readable, includes all findings with file/line references
- JSON results — structured data for programmatic analysis
- GitHub Actions URL — link to the full CI run for transparency
Buyers can view the latest scan report on every marketplace listing.