

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esegui scansioni di sicurezza del codice dal tuo IDE
<a name="code-review-ide-integration"></a>

Esegui scansioni di sicurezza del codice di AWS Security Agent direttamente dal tuo IDE utilizzando Kiro o Claude Code. L'integrazione IDE ti consente di scansionare il codice sorgente locale alla ricerca di vulnerabilità di sicurezza, eseguire scansioni differenziali solo sul codice modificato ed eseguire revisioni dei modelli di minaccia sui documenti di progettazione, il tutto senza uscire dall'ambiente di sviluppo. I risultati vengono visualizzati insieme al codice con indicazioni sulla correzione e puoi applicare correzioni automatiche direttamente dall'IDE.

## Come funziona l'integrazione IDE
<a name="_how_ide_integration_works"></a>

L'integrazione IDE utilizza il server MCP (Model Context Protocol) di AWS Security Agent per connettere l'IDE al servizio AWS Security Agent:

1. Il server MCP impacchetta il codice sorgente in un archivio ZIP.

1. L'archivio viene caricato in un bucket S3 che il server esegue automaticamente il provisioning nel tuo account AWS.

1. Il server chiama l'API AWS Security Agent per avviare una scansione.

1. AWS Security Agent analizza il codice per individuare le vulnerabilità di sicurezza e la conformità ai requisiti di sicurezza dell'organizzazione.

1. I risultati vengono restituiti all'IDE con posizioni dei codici, descrizioni, valutazioni di gravità e suggerimenti di correzione.

Il server MCP gestisce tutta l'orchestrazione (provisioning dello spazio degli agenti, creazione di bucket S3, configurazione dei ruoli IAM, packaging del codice e scan polling), quindi sono necessarie solo le credenziali AWS configurate localmente.

**Nota**  
L'unico prerequisito sono le credenziali AWS configurate nell'ambiente locale (ad esempio, tramite `aws configure` AWS SSO o variabili di ambiente). Il server MCP effettua automaticamente il provisioning dell'Agent Space, del ruolo di servizio IAM e del bucket S3 al primo utilizzo.

## Prerequisiti
<a name="_prerequisites"></a>

Prima di iniziare, assicurati di disporre dei seguenti elementi:
+ Credenziali AWS configurate localmente con le seguenti autorizzazioni:
  +  `iam:CreateRole`, `iam:PutRolePolicy` (per la configurazione una tantum del ruolo di servizio)
  +  `s3:CreateBucket`, `s3:PutObject`, `s3:PutPublicAccessBlock`, `s3:PutLifecycleConfiguration` 
  +  `securityagent:CreateAgentSpace`, `securityagent:UpdateAgentSpace`, `securityagent:ListAgentSpaces`, `securityagent:BatchGetAgentSpaces` 
  +  `securityagent:CreateCodeReview`, `securityagent:StartCodeReviewJob`, `securityagent:BatchGetCodeReviewJobs` 
  +  `securityagent:ListFindings`, `securityagent:BatchGetFindings` 
  +  `securityagent:StartCodeRemediation`(per correzioni automatiche)
  +  `sts:GetCallerIdentity` 
+  [uv](https://docs.astral.sh/uv/getting-started/installation/) installato (gestore di pacchetti Python)
+ Python 3.10 o successivo
+ Uno dei seguenti IDE:
  +  [Kiro](https://kiro.dev) (installa AWS Security Agent Power)
  + Claude Code (installa il plug-in AWS Security Agent)

## Installa il server MCP
<a name="_install_the_mcp_server"></a>

### Kiro
<a name="_kiro"></a>

Installa **AWS Security Agent** Power dal marketplace Kiro. Power raggruppa la configurazione del server MCP, le istruzioni di guida e gli hook del ciclo di vita per suggerimenti automatici di scansione di sicurezza.

In alternativa, configura il server MCP manualmente nel tuo progetto: `.kiro/mcp.json`

```
{
  "mcpServers": {
    "security-agent": {
      "command": "uvx",
      "args": ["awslabs.security-agent-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "default",
        "AWS_REGION": "us-east-1",
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}
```

### Codice Claude
<a name="_claude_code"></a>

Installa il plug-in AWS Security Agent, che fornisce competenze per la configurazione, le scansioni complete, le scansioni delle differenze, la revisione dei modelli di minaccia e la correzione.

Configura il server MCP nel tuo progetto: `.mcp.json`

```
{
  "mcpServers": {
    "awslabs.security-agent-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.security-agent-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "default",
        "AWS_REGION": "us-east-1",
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}
```

**Suggerimento**  
Puoi anche eseguire il server MCP tramite Docker se preferisci non installare Python localmente. Consulta la documentazione del [server MCP per la configurazione di Docker](https://github.com/awslabs/mcp).

## First-time configurazione
<a name="_first_time_setup"></a>

Al primo utilizzo, il server MCP effettua automaticamente il provisioning delle risorse AWS richieste:


| Risorsa | Convenzione sui nomi | Scopo | 
| --- | --- | --- | 
| Agent Space | User-chosen o creato automaticamente | Contenitore per scansioni, recensioni e pentest | 
| Ruolo di servizio IAM |  `SecurityAgentScanRole`  | Presumuto `securityagent.amazonaws.com` per leggere il codice caricato | 
| Bucket S3 |  `security-agent-scans-{account}-{region}`  | Memorizza il codice sorgente compresso (ciclo di vita con scadenza automatica di 30 giorni) | 

Per attivare la configurazione in modo esplicito, chiedi al tuo IDE:

```
Set up the security agent
```

La configurazione verifica le credenziali AWS, crea o riutilizza un Agent Space, effettua il provisioning del ruolo IAM e del bucket S3 e conferma la disponibilità. Se disponi già di Agent Spaces dalla Console di gestione AWS, la configurazione li mostra e chiede quale usare.

**Nota**  
La configurazione viene eseguita automaticamente alla prima scansione se non è già configurata. Non è necessario eseguirlo separatamente.

## Esegui una scansione di sicurezza completa
<a name="_run_a_full_security_scan"></a>

Scansiona l'intero progetto per individuare eventuali vulnerabilità di sicurezza:

```
Scan this project for security issues
```

L'IDE:

1. Archivia il codice sorgente (esclusi `.git` gli `node_modules` artefatti di compilazione e altre directory non essenziali)

1. Carica l'archivio su S3

1. Avvia un processo completo di revisione del codice

1. Sondaggi da completare (in genere circa 1 ora)

1. Presenta i risultati raggruppati per gravità

### Avanzamento della scansione
<a name="_scan_progress"></a>

Le scansioni complete richiedono in genere circa 1 ora a seconda della dimensione del codebase. L'IDE controlla i progressi ogni 5 minuti e ti avvisa quando i risultati sono pronti. Puoi richiedere lo stato in qualsiasi momento:

```
How's the scan going?
```

## Esegui una scansione differenziale
<a name="_run_a_differential_scan"></a>

Per un feedback più rapido durante lo sviluppo, scansiona solo il codice modificato dopo un git ref:

```
Scan my changes against main for security issues
```

Per impostazione predefinita, se non specifichi un riferimento di base, la scansione confronta le modifiche non salvate. `HEAD` Puoi specificare esplicitamente una base diversa:

```
Diff scan my uncommitted changes
```

Le scansioni differenziali caricano sia il contesto completo del repository che la patch git diff, quindi eseguono un'analisi focalizzata solo sulle righe modificate. I risultati in genere arrivano in 5-15 minuti.

Per ulteriori informazioni sull'API diff scan di S3, consulta. [Esegui una scansione del codice differenziale con S3](run-diff-scan-s3.md)

## Esegui una revisione del modello di minaccia
<a name="_run_a_threat_model_review"></a>

Analizza i documenti di progettazione per verificare eventuali modifiche al livello di sicurezza utilizzando la metodologia STRIDE:

```
Run a threat model review on my spec
```

L'IDE identifica l'utente `requirements.md` e i `design.md` file (in genere sottostanti`.kiro/specs/`), li carica insieme al codice sorgente ed esegue un'analisi del modello di minaccia. I risultati identificano:
+ Minacce alla sicurezza classificate da STRIDE (falsificazione, manomissione, ripudio, divulgazione di informazioni, negazione del servizio, elevazione dei privilegi)
+ Classificazioni di gravità per ogni minaccia
+ Impatto su risorse specifiche della tua codebase
+ Raccomandazioni per la mitigazione

**Suggerimento**  
Esegui una revisione del modello di minaccia prima di generare attività di implementazione in base a una specifica. In questo modo vengono rilevati i problemi di progettazione della sicurezza prima che il codice venga scritto.

## Esaminare i risultati
<a name="_review_findings"></a>

Al termine di una scansione, i risultati vengono visualizzati nell'IDE raggruppati per gravità:

```
🟣 CRITICAL: SQL Injection in user-service.ts
   File: src/api/user-service.ts:45
   User input flows directly into SQL query without parameterization

🔴 HIGH: Hardcoded credentials in config.ts
   File: src/config/database.ts:12
   Database password stored in source code
```

Viene inoltre redatto un rapporto dettagliato `.security-agent/findings-{scan_id}.md` con informazioni complete per ogni risultato, tra cui il tipo di rischio, il punteggio di confidenza, le posizioni dei codici e il codice di correzione.

Per visualizzare i risultati di una scansione precedente:

```
Show my security findings
```

## Applica correzioni automatiche
<a name="_apply_automated_fixes"></a>

Dopo aver esaminato i risultati, applica la correzione automatica:

```
Fix the security findings
```

L'IDE elabora i risultati dall'alto verso il basso per gravità (Critico → Alto → Medio → Basso), applicando le correzioni al codice utilizzando le linee guida per la correzione di ogni risultato. Dopo aver applicato tutte le correzioni, esegue automaticamente una scansione delle differenze di verifica per confermare che i problemi sono stati risolti.

Puoi anche correggere singoli risultati:

```
Fix the SQL injection in user-service.ts
```

**Importante**  
Controlla sempre le correzioni automatiche prima di eseguire il commit. Verifica che le correzioni non interrompano le funzionalità esistenti o introducano regressioni.

## Suggerimenti di scansione automatica (Kiro)
<a name="_automatic_scan_suggestions_kiro"></a>

Quando si utilizza Kiro Power, AWS Security Agent può suggerire automaticamente scansioni delle differenze dopo aver apportato modifiche al codice sensibili alla sicurezza. The Power installa un hook che valuta ogni turno di codifica completato e suggerisce una scansione quando le modifiche influiscono su:
+ Logica di autenticazione o autorizzazione
+ Crittografia o gestione dei segreti
+ Convalida degli input o sanificazione dei dati
+ Richieste di rete o integrazioni esterne
+ Configurazione di sicurezza (CORS, intestazioni, gestione delle sessioni)

Puoi disattivare i suggerimenti automatici in qualsiasi momento eliminandoli. `.kiro/hooks/security-diff-scan-suggester.kiro.hook`

## Tipi di scansione disponibili
<a name="_available_scan_types"></a>


| Tipo di scansione | Durata | Caso d’uso | Comando | 
| --- | --- | --- | --- | 
| Scansione completa | Circa 1 ora | Revisione completa dell'intera base di codice | «Scansiona il mio progetto per individuare eventuali problemi di sicurezza» | 
| Scansione Diff | 5—15 minuti | Solo codice modificato (pre-commit, pre-PR) | «Scansiona le mie modifiche» o «Scansione delle differenze rispetto alla versione principale» | 
| Modello di minaccia | 5—30 minuti | Documenti di progettazione (requirements.md, design.md) | «Esegui una revisione del modello di minaccia in base alle mie specifiche» | 

## Variabili di ambiente
<a name="_environment_variables"></a>


| Variabile | Description | Predefinita | 
| --- | --- | --- | 
|  `AWS_REGION`  | Regione AWS per le chiamate SecurityAgent API |  `us-east-1`  | 
|  `AWS_PROFILE`  | Nome del profilo delle credenziali AWS | Profilo predefinito | 
|  `FASTMCP_LOG_LEVEL`  | Livello di registro del server MCP (DEBUG, INFO, WARNING, ERROR) |  `WARNING`  | 

## Risoluzione dei problemi
<a name="_troubleshooting"></a>

### «Non configurato. Esegui prima la configurazione».
<a name="_not_configured_run_setup_first"></a>

Il tuo `.security-agent/config.json` è scomparso o l'Agent Space non esiste più. Chiedi all'IDE di eseguire la configurazione:

```
Set up the security agent
```

### La scansione fallisce con AccessDenied
<a name="_scan_fails_with_accessdenied"></a>

Assicurati che le tue credenziali AWS abbiano le autorizzazioni IAM richieste elencate nella sezione Prerequisiti. L'autorizzazione mancante più comune è `iam:CreateRole` (necessaria solo per la prima configurazione).

### La scansione scade o impiega troppo tempo
<a name="_scan_times_out_or_takes_too_long"></a>
+ Le scansioni complete su basi di codice di grandi dimensioni possono richiedere più di 1 ora
+ Utilizza le scansioni differenziali per lo sviluppo iterativo: vengono completate in pochi minuti
+ Verifica che l'archivio di origine non includa directory non necessarie (il server MCP esclude automaticamente gli schemi comuni)

### Differenza vuota: nessuna modifica alla scansione
<a name="_empty_diff_no_changes_to_scan"></a>

Se si esegue una scansione delle differenze senza modifiche non eseguite, il server MCP segnala «Nessuna modifica rispetto a HEAD» e non avvia una scansione. Conferma o organizza prima le modifiche oppure specifica un riferimento di base diverso.

## Quote e limiti
<a name="_quotas_and_limits"></a>
+ Dimensione massima dell'archivio sorgente: 2 GB
+ Ciclo di vita del bucket S3: il codice caricato viene eliminato automaticamente dopo 30 giorni

## Fasi successive
<a name="_next_steps"></a>

Dopo aver eseguito la prima scansione di sicurezza IDE:
+ Abilita i commenti di revisione del codice pull request per GitHub l'integrazione automatizzata (vedi[Abilita la revisione del codice pull request per i GitHub repository](enable-code-review.md))
+ Configura i requisiti di sicurezza per la convalida delle politiche specifiche dell'organizzazione (vedi) [Gestisci i requisiti di sicurezza](security-requirements.md)
+ Esegui scansioni complete periodiche per individuare eventuali problemi nell'intera codebase (vedi) [Creare una revisione del codice](perform-code-review-scan.md)
+ Utilizza le revisioni dei modelli di minaccia sulle specifiche delle nuove funzionalità prima dell'implementazione