Aller au contenu

Guide des prompts de sécurité : Créer des prompts efficaces pour les tests de sécurité

Vue d'ensemble

Ce guide fournit les meilleures pratiques pour concevoir des prompts efficaces lors de l'utilisation de l'IA pour les tests d'intrusion (penetration testing) et l'analyse de sécurité. De bons prompts conduisent à des évaluations de sécurité plus précises, détaillées et exploitables.

Principes de base de l'ingénierie des prompts (Prompt Engineering)

1. Attribution de rôle

Commencez votre prompt en attribuant à l'IA un rôle spécifique d'expert en sécurité :

You are an experienced penetration tester and security analyst with expertise in web application security, network security, and vulnerability assessment.

2. Définition claire de la tâche

Soyez précis sur ce que vous souhaitez que l'IA analyse ou accomplisse :

Bon (Good) :

Analyze this web application for SQL injection vulnerabilities in the login form, focusing on input validation and parameterized queries.

Médiocre (Poor) :

Check this app for security issues.

3. Entrée structurée à l'aide de balises XML

Utilisez des balises XML pour organiser les différents composants de votre 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. Raisonnement en chaîne (Chain of Thought)

Encouragez une analyse étape par étape en demandant à l'IA d'expliquer son raisonnement :

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)

Modèles de prompts spécifiques à la sécurité

Modèle d'évaluation des vulnérabilités

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>

Modèle d'évaluation de la sécurité des applications 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

Modèle d'évaluation de la sécurité des applications mobiles

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

Modèle d'évaluation de la sécurité des 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

Meilleures pratiques pour les prompts de test d'intrusion IA

À faire (Do's)

  • Être spécifique : Incluez les versions exactes, les configurations et les paramètres.
  • Fournir du contexte : Expliquez l'objectif métier et la criticité des systèmes.
  • Fixer des limites : Définissez clairement ce qui est dans le périmètre (in scope) et hors périmètre (out of scope).
  • Demander des preuves : Demandez des exemples spécifiques et des codes de type proof-of-concept (PoC).
  • Rechercher la priorisation : Demandez un classement des découvertes basé sur les risques.

À ne pas faire (Don'ts)

  • Éviter les requêtes vagues : Ne demandez pas de simples "vérifications de sécurité" (security checks) génériques.
  • Ne pas ignorer le contexte : Fournissez toujours les informations pertinentes sur le système.
  • Éviter les questions par Oui/Non : Demandez plutôt une analyse détaillée.
  • Ne pas ignorer la conformité : Tenez compte des exigences réglementaires dans vos prompts.

Exemples de scénarios de prompts

Scénario 1 : Test de sécurité générique

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.

Scénario 2 : Test de fonctionnalité spécifique avec documentation

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.

Scénario 3 : Re-test de vulnérabilité et validation de rapport 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

Conseils d'amélioration des prompts

  1. Itérer et améliorer : Affinez les prompts en fonction des réponses de l'IA.
  2. Tester différentes approches : Essayez diverses structures de prompts pour des scénarios complexes.
  3. Inclure des exemples : Fournissez des exemples d'entrées/sorties lorsque cela est possible.
  4. Valider les résultats : Croisez les découvertes de l'IA avec les frameworks de sécurité établis.
  5. Documenter les prompts réussis : Créez une bibliothèque de prompts efficaces pour les réutiliser.

Conclusion

Un prompting IA efficace pour les tests de sécurité nécessite une définition de rôle claire, une entrée structurée et des instructions de tâches spécifiques. En suivant ces directives et modèles, vous pouvez exploiter plus efficacement les outils d'IA dans vos flux de travail de tests d'intrusion et d'évaluation de sécurité, tout en maintenant des normes professionnelles et des pratiques éthiques.