Guía de prompts de seguridad: Creación de prompts efectivos para pruebas de seguridad
Visión general
Esta guía proporciona las mejores prácticas para diseñar prompts efectivos al usar IA para pruebas de penetración (penetration testing) y análisis de seguridad. Los buenos prompts conducen a evaluaciones de seguridad más precisas, detalladas y procesables.
Principios fundamentales de la ingeniería de prompts (Prompt Engineering)
1. Asignación de rol
Comience su prompt asignando a la IA un rol específico de experto en seguridad:
You are an experienced penetration tester and security analyst with expertise in web application security, network security, and vulnerability assessment.
2. Definición clara de la tarea
Sea específico sobre lo que desea que la IA analice o logre:
Bueno (Good):
Analyze this web application for SQL injection vulnerabilities in the login form, focusing on input validation and parameterized queries.
Deficiente (Poor):
Check this app for security issues.
3. Entrada estructurada mediante etiquetas XML
Utilice etiquetas XML para organizar los diferentes componentes de su prompt:
<target>
Application: E-commerce website
URL: https://example-shop.com
Technology: PHP/MySQL
</target>
<scope>
- Authentication mechanisms
- Payment processing
- User data handling
</scope>
<constraints>
- Read-only testing only
- No destructive actions
- Focus on OWASP Top 10
</constraints>
4. Razonamiento en cadena (Chain of Thought)
Fomente un análisis paso a paso pidiendo a la IA que explique su razonamiento:
Analyze the following code for security vulnerabilities. For each potential issue:
1. Identify the vulnerability type
2. Explain the potential impact
3. Provide a specific remediation recommendation
4. Rate the severity (Critical/High/Medium/Low)
Plantillas de prompts específicas de seguridad
Plantilla de evaluación de vulnerabilidades
You are a senior security consultant performing a comprehensive security assessment.
<target_info>
Application: {{APPLICATION_NAME}}
Technology Stack: {{TECH_STACK}}
Environment: {{ENVIRONMENT}}
</target_info>
<assessment_scope>
{{SCOPE_DETAILS}}
</assessment_scope>
Please analyze the provided information and:
1. Identify potential security vulnerabilities
2. Categorize findings by OWASP Top 10 classification
3. Provide proof-of-concept examples where applicable
4. Suggest specific remediation steps
5. Prioritize findings by risk level
<constraints>
- Follow responsible disclosure principles
- Focus on defensive recommendations
- Provide actionable remediation guidance
</constraints>
Plantilla de evaluación de seguridad de aplicaciones Web
You are a web application security expert conducting a comprehensive security assessment.
<web_app_info>
Application: {{APPLICATION_NAME}}
URL: {{BASE_URL}}
Technology Stack: {{TECH_STACK}}
Authentication: {{AUTH_METHOD}}
</web_app_info>
<application_scope>
{{PAGES_AND_FUNCTIONALITY}}
</application_scope>
<analysis_focus>
{{SPECIFIC_CONCERNS}}
</analysis_focus>
Analyze the web application and provide:
1. OWASP Top 10 vulnerability assessment
2. Authentication and session management analysis
3. Input validation and output encoding review
4. Business logic flaw identification
5. Client-side security assessment
6. Detailed remediation recommendations with code examples
Plantilla de evaluación de seguridad de aplicaciones móviles
You are a mobile security specialist analyzing mobile application security.
<mobile_app_info>
Platform: {{PLATFORM}} (iOS/Android)
Application: {{APP_NAME}}
Version: {{APP_VERSION}}
Architecture: {{ARCHITECTURE}}
</mobile_app_info>
<app_components>
Binary: {{BINARY_INFO}}
Manifest/Info.plist: {{MANIFEST_DATA}}
Network Communications: {{NETWORK_TRAFFIC}}
</app_components>
<analysis_focus>
{{SPECIFIC_CONCERNS}}
</analysis_focus>
Perform mobile security analysis focusing on:
1. Platform-specific security controls (iOS/Android)
2. Data storage security (keychain, shared preferences)
3. Network communication security (certificate pinning, encryption)
4. Authentication and authorization mechanisms
5. Runtime protection and anti-tampering measures
6. Privacy and permission model compliance
7. OWASP Mobile Top 10 assessment
Plantilla de evaluación de seguridad de API
You are an API security expert specializing in REST, GraphQL, and other API technologies.
<api_details>
API Type: {{API_TYPE}}
Base URL: {{API_BASE_URL}}
Authentication: {{AUTH_METHOD}}
Documentation: {{API_DOCS_URL}}
Technology: {{FRAMEWORK}}
</api_details>
<endpoints>
{{ENDPOINT_LIST}}
</endpoints>
<sample_requests>
{{REQUEST_EXAMPLES}}
</sample_requests>
Conduct comprehensive API security assessment covering:
1. Authentication and authorization vulnerabilities
2. Input validation and injection attacks
3. Rate limiting and DoS protection
4. Data exposure and information leakage
5. Business logic vulnerabilities
6. API versioning and deprecation security
7. CORS and cross-origin security policies
8. Provide specific test cases and curl commands for validation
Mejores prácticas para prompts de pruebas de penetración con IA
Lo que se debe hacer (Do's)
- Sea específico: Incluya versiones, configuraciones y parámetros exactos.
- Proporcione contexto: Explique el propósito comercial y la criticidad de los sistemas.
- Establezca límites: Defina claramente qué está dentro (in scope) y fuera del alcance (out of scope).
- Solicite evidencia: Pida ejemplos específicos y código de Proof-of-Concept (PoC).
- Busque la priorización: Solicite una clasificación de los hallazgos basada en el riesgo.
Lo que no se debe hacer (Don'ts)
- Evite solicitudes vagas: No pida "controles de seguridad" (security checks) genéricos.
- No omita el contexto: Proporcione siempre información relevante sobre el sistema.
- Evite las preguntas de Sí/No: Pida en su lugar un análisis detallado.
- No ignore el cumplimiento: Tenga en cuenta los requisitos normativos en sus prompts.
Ejemplos de escenarios de prompts
Escenario 1: Prueba de seguridad genérica
You are a security consultant performing a general security assessment.
<target>
Application: {{APPLICATION_NAME}}
Type: {{APPLICATION_TYPE}} (Web/Mobile/API/Desktop)
Technology Stack: {{TECH_STACK}}
Environment: {{ENVIRONMENT}}
</target>
<scope>
{{TESTING_SCOPE}}
</scope>
<constraints>
- Time limit: {{TIME_CONSTRAINT}}
- Access level: {{ACCESS_LEVEL}}
- Compliance requirements: {{COMPLIANCE}}
</constraints>
Conduct a comprehensive security evaluation covering:
1. Common vulnerability patterns for this technology stack
2. Configuration and deployment security
3. Authentication and access control mechanisms
4. Data protection and privacy considerations
5. Security monitoring and logging capabilities
Provide a prioritized list of findings with risk ratings and remediation timelines.
Escenario 2: Prueba de funcionalidad específica con documentación
You are a security expert testing a specific application feature.
<feature_details>
Feature: {{FEATURE_NAME}}
Functionality: {{FEATURE_DESCRIPTION}}
User Roles: {{USER_ROLES}}
Data Handled: {{DATA_TYPES}}
</feature_details>
<documentation>
Official Documentation: {{DOC_LINKS}}
API Specification: {{API_SPEC}}
Security Guidelines: {{SECURITY_DOCS}}
</documentation>
<test_parameters>
{{SPECIFIC_PARAMETERS}}
</test_parameters>
Focus your security analysis on:
1. Feature-specific vulnerabilities and edge cases
2. Compliance with documented security requirements
3. Proper implementation of security controls per documentation
4. Data flow security throughout the feature lifecycle
5. Integration security with other system components
Cross-reference findings with official documentation and provide specific sections that address or contradict your discoveries.
Escenario 3: Reevaluación de vulnerabilidades y validación de informes Bug Bounty
You are a senior security analyst validating and retesting reported vulnerabilities.
<original_report>
Vulnerability Type: {{VULN_TYPE}}
Severity: {{REPORTED_SEVERITY}}
Reporter: {{REPORTER_INFO}}
Discovery Date: {{DISCOVERY_DATE}}
</original_report>
<vulnerability_details>
{{VULNERABILITY_DESCRIPTION}}
</vulnerability_details>
<proof_of_concept>
{{POC_STEPS}}
</proof_of_concept>
<remediation_claims>
{{CLAIMED_FIXES}}
</remediation_claims>
Perform thorough validation by:
1. Reproducing the original vulnerability using provided PoC
2. Testing variations and edge cases of the reported issue
3. Validating effectiveness of implemented remediation measures
4. Assessing potential bypass techniques for the fix
5. Confirming the actual risk level and business impact
6. Documenting any residual risks or incomplete fixes
Provide a detailed retest report with:
- Vulnerability status (Confirmed/Fixed/Partially Fixed/False Positive)
- Evidence of testing performed
- Risk assessment validation
- Recommendations for additional security measures
Consejos para perfeccionar los prompts
- Iterar y mejorar: Perfeccione los prompts en función de las respuestas de la IA.
- Probar diferentes enfoques: Pruebe varias estructuras de prompts para escenarios complejos.
- Incluir ejemplos: Proporcione ejemplos de entradas/salidas cuando sea posible.
- Validar resultados: Compare los hallazgos de la IA con los marcos de seguridad establecidos.
- Documentar los prompts exitosos: Cree una biblioteca de prompts efectivos para su reutilización.
Conclusión
El uso efectivo de prompts de IA para pruebas de seguridad requiere una definición de rol clara, entradas estructuradas e instrucciones de tareas específicas. Siguiendo estas directrices y plantillas, puede aprovechar de forma más efectiva las herramientas de IA en sus flujos de trabajo de pruebas de penetración y evaluación de seguridad, al tiempo que mantiene estándares profesionales y prácticas éticas.