# Dependances (iOS)

## Avec accès au projet&#x20;

### Fichiers de dependency manager

* Carthage:  `Cartfile.resolved`.
* CocoaPods: `*.podspec`ou`Podfile.lock`
* SwiftPM: `Package.swift`ou`Package.resolved`

Avant d'exécuter l'analyse, obtenez une clé API NVD. Cette clé est utilisée pour récupérer les informations CVE les plus récentes. Vous pouvez demander la clé API pour accéder à l'API NVD à l'adresse <https://nvd.nist.gov/developers/request-an-api-key>.

```
$ dependency-check --enableExperimental -f SARIF --nvdApiKey <YOUR-API-KEY> -s Package.resolved
$ dependency-check --enableExperimental -f SARIF --nvdApiKey <YOUR-API-KEY> -s Podfile.lock
$ dependency-check --enableExperimental -f SARIF --nvdApiKey <YOUR-API-KEY> -s Cartfile.resolved
```

{% hint style="info" %}
Le résultat est toujours un fichier SARIF, qui peut être visualisé à l'aide du plugin Sarif viewer dans [*Visual Studio Code (vscode)*](https://mas.owasp.org/MASTG-TOOL-0133) . Toutes les vulnérabilités connues seront listées avec leurs numéros CVE et leurs descriptions.
{% endhint %}

### Analyse de SBOM

Aller à la racine du projet et utiliser la commande suivante:

`$ cdxgen -o sbom.json`

Utiliser ensuite un outil comme [dependency-check](https://github.com/DependencyTrack/dependency-track) (GUI) ou [grype](https://oss.anchore.com/docs/guides/vulnerability/scan-targets/#scan-an-sbom-file) (CLI) pour analyser le SBOM généré.

Exemple:

`$ grype sbom:sbom.json`

## Sans accès au projet

### Via Objection

```
$ objection -g com.target.xyz explore
# ios bundles list_bundles
# ios bundles list_frameworks
```

Puis rechercher manuellement les CVE en fonction des versions.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.s1rn3tz.ovh/pentest-mobile/ios/dependances-ios.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
