GitHub - XSource-Sec/agent-audit-action: GitHub Action for AI Agent Security Testing with AgentAudit
Extracto
GitHub Action for AI Agent Security Testing with AgentAudit - XSource-Sec/agent-audit-action
Resumen
Resumen Principal
AgentAudit es una GitHub Action diseñada para integrar la seguridad de los agentes de IA directamente en el pipeline CI/CD. Su función principal es escanear los endpoints de agentes de inteligencia artificial en busca de vulnerabilidades críticas y específicas de la IA, tales como inyección de prompts, jailbreaking, exfiltración de datos y otros riesgos. Al automatizar estas pruebas en cada push o pull request, AgentAudit permite identificar y mitigar riesgos de seguridad de forma temprana, mejorando significativamente la postura de seguridad de las aplicaciones de IA. La acción es altamente configurable, ofreciendo distintos modos de escaneo (rápido, estándar, completo) y la capacidad de establecer umbrales de fallo según la severidad de las vulnerabilidades encontradas, lo que la convierte en una herramienta esencial para desarrolladores y equipos de seguridad que buscan proteger sus sistemas de IA.
Elementos Clave
-
Integración de Seguridad AI en CI/CD: AgentAudit se presenta como una GitHub Action (
XSource-Sec/agent-audit-action@v1), permitiendo a los equipos automatizar escaneos de seguridad en sus endpoints de IA directamente dentro de sus flujos de trabajo de integración y despliegue continuo (CI/CD). Esto asegura que cada cambio de código o nueva funcionalidad desplegada en un agente de IA sea evaluada automáticamente para detectar vulnerabilidades antes de llegar a producción. -
Detección de Vulnerabilidades Específicas de IA: La herramienta está diseñada para identificar una gama de riesgos de seguridad únicos para la inteligencia artificial, incluyendo la inyección de prompts (manipulación del modelo a través de entradas maliciosas), jailbreaking (elusión de las restricciones de seguridad del modelo), y la exfiltración de datos (extracción no autorizada de información sensible). También aborda "otras vulnerabilidades específicas de IA", lo que indica una cobertura amplia y especializada.
-
Configuración Flexible de Escaneo y Fallo: AgentAudit ofrece modos de escaneo adaptados a diferentes necesidades:
quick(rápido, para PRs y commits frecuentes),standard(estándar, para verificaciones pre-fusión) yfull(completo, para compuertas de liberación y escaneos programados). Además, permite configurar la acción para que el build falle automáticamente (fail_on) si se encuentran vulnerabilidades de una severidad específica (crítica, alta, media, baja o ninguna), proporcionando control sobre la política de seguridad. -
Salidas Detalladas y Reportes Completos: Tras cada escaneo, la acción genera salidas estructuradas que incluyen un
scan_idúnico, eltotal_findings(recuento total de hallazgos), desgloses por severidad (críticas, altas, medias, bajas), unrisk_score(puntuación de riesgo general de 0 a 100) y, crucialmente, unareport_urlque enlaza a un informe de escaneo completo. Esto facilita la monitorización y el análisis detallado de los resultados de seguridad.
Análisis e Implicaciones
La adopción de AgentAudit implica una mejora proactiva en la seguridad de la IA, permitiendo a las organizaciones integrar la protección desde las primeras etapas del desarrollo. Esto no solo reduce la superficie de ataque de los agentes de IA, sino que también fomenta una cultura de seguridad "shift-left", donde las vulnerabilidades se abordan antes de que se conviertan en problemas costosos en producción.
Contexto Adicional
XSource Security ofrece planes de precios escalonados (Gratis, Pro, Equipo, Empresarial) y destaca su cumplimiento SOC 2 Tipo II, asegurando la seguridad de las claves API y la encriptación de los resultados de escaneo.
Contenido
🛡️ AgentAudit GitHub Action
Scan your AI agent endpoints for security vulnerabilities in your CI/CD pipeline.
AgentAudit automatically tests your AI endpoints for prompt injection, jailbreaking, data exfiltration, and other AI-specific security risks.
🚀 Quick Start
name: Security Scan on: [push, pull_request] jobs: security-scan: runs-on: ubuntu-latest steps: - uses: XSource-Sec/agent-audit-action@v1 with: target: ${{ secrets.AI_ENDPOINT_URL }} api_key: ${{ secrets.AGENTAUDIT_API_KEY }}
That's it! Your AI endpoint will be scanned on every push and pull request.
📋 Inputs
| Input | Required | Default | Description |
|---|---|---|---|
target |
✅ Yes | - | Target URL to scan (your AI endpoint) |
api_key |
✅ Yes | - | AgentAudit API key (Get one here) |
mode |
No | quick |
Scan mode: quick, standard, or full |
fail_on |
No | high |
Fail build on findings at this severity or higher |
timeout |
No | 300 |
Scan timeout in seconds (30-1800) |
Scan Modes
| Mode | Description | Use Case |
|---|---|---|
quick |
Essential security tests, fast execution (~1-2 min) | PRs, frequent commits |
standard |
Balanced coverage and speed (~3-5 min) | Pre-merge checks |
full |
Comprehensive testing of all vectors (~5-10 min) | Release gates, scheduled scans |
Fail On Options
| Value | Behavior |
|---|---|
critical |
Fail only on critical vulnerabilities |
high |
Fail on critical or high severity (default) |
medium |
Fail on medium or higher |
low |
Fail on any finding |
none |
Never fail based on findings |
📤 Outputs
| Output | Description |
|---|---|
scan_id |
Unique identifier of the scan |
total_findings |
Total number of findings |
critical_count |
Number of critical severity findings |
high_count |
Number of high severity findings |
medium_count |
Number of medium severity findings |
low_count |
Number of low severity findings |
risk_score |
Overall risk score (0-100) |
report_url |
URL to the full scan report |
status |
Scan status (completed/failed) |
📖 Examples
Block PRs with Security Issues
name: PR Security Gate on: pull_request jobs: security-gate: runs-on: ubuntu-latest steps: - uses: XSource-Sec/agent-audit-action@v1 with: target: ${{ secrets.STAGING_ENDPOINT }} api_key: ${{ secrets.AGENTAUDIT_API_KEY }} mode: standard fail_on: high
Add PR Comment with Results
name: Security Scan with Comment on: pull_request jobs: security-scan: runs-on: ubuntu-latest steps: - uses: XSource-Sec/agent-audit-action@v1 id: scan with: target: ${{ secrets.AI_ENDPOINT_URL }} api_key: ${{ secrets.AGENTAUDIT_API_KEY }} continue-on-error: true - name: Comment PR uses: actions/github-script@v7 with: script: | const output = `## 🛡️ AgentAudit Security Scan | Metric | Value | |--------|-------| | Risk Score | **${{ steps.scan.outputs.risk_score }}/100** | | Critical | ${{ steps.scan.outputs.critical_count }} | | High | ${{ steps.scan.outputs.high_count }} | | Medium | ${{ steps.scan.outputs.medium_count }} | | Low | ${{ steps.scan.outputs.low_count }} | 📄 [View Full Report](${{ steps.scan.outputs.report_url }})`; github.rest.issues.createComment({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, body: output });
Scheduled Full Scans
name: Weekly Security Audit on: schedule: - cron: '0 9 * * 1' # Every Monday at 9 AM jobs: full-audit: runs-on: ubuntu-latest steps: - uses: XSource-Sec/agent-audit-action@v1 with: target: ${{ secrets.PRODUCTION_ENDPOINT }} api_key: ${{ secrets.AGENTAUDIT_API_KEY }} mode: full timeout: 600
Multi-Environment Scan
name: Multi-Environment Security Scan on: push jobs: scan: runs-on: ubuntu-latest strategy: matrix: environment: [staging, production] steps: - uses: XSource-Sec/agent-audit-action@v1 with: target: ${{ secrets[format('{0}_ENDPOINT', matrix.environment)] }} api_key: ${{ secrets.AGENTAUDIT_API_KEY }} mode: ${{ matrix.environment == 'production' && 'full' || 'quick' }}
Conditional Deployment
name: Secure Deployment on: push: branches: [main] jobs: security-check: runs-on: ubuntu-latest outputs: passed: ${{ steps.scan.outputs.status == 'completed' && steps.scan.outputs.critical_count == '0' }} steps: - uses: XSource-Sec/agent-audit-action@v1 id: scan with: target: ${{ secrets.STAGING_ENDPOINT }} api_key: ${{ secrets.AGENTAUDIT_API_KEY }} fail_on: critical deploy: needs: security-check if: needs.security-check.outputs.passed == 'true' runs-on: ubuntu-latest steps: - name: Deploy to Production run: echo "Deploying..."
🔑 Get Your API Key
- Sign up at app.xsourcesec.com
- Navigate to Settings → API Keys
- Click Create API Key
- Copy the key and add it to your GitHub Secrets as
AGENTAUDIT_API_KEY
Pricing
| Plan | Scans/Month | Targets | Attack Vectors | Price |
|---|---|---|---|---|
| Free | 5 | 1 | 100+ | $0/forever |
| Pro | 100 | 5 | 600+ | $149/mo |
| Team | Unlimited | Unlimited | 650+ | $299/mo |
| Enterprise | Unlimited | Unlimited | 650+ | Custom |
🔒 Security
- API keys are only transmitted over HTTPS
- Scan results are encrypted at rest
- We never store your endpoint credentials
- SOC 2 Type II compliant
📞 Support
- 📧 Email: support@xsourcesec.com
- 💬 Discord: Join our community
- 📖 Docs: docs.xsourcesec.com
- 🐛 Issues: GitHub Issues
📄 License
MIT License - see LICENSE for details.
Built with ❤️ by XSource Security
Fuente: GitHub