Skip to content

Commit 67bbfe7

Browse files
kmcquadenikhil6393claude
committed
docs: modernize descriptions (harvest #558)
Remove "triage worksheet" wording (no longer generated), note multi-account scanning, add Credentials Exposure to the risk list, and link each risk to its glossary page. Reconciled with this branch's Pathfinding.cloud wording. Harvested from #558; the obsolete pyproject and .readthedocs.yml uv-pin hunks are dropped (master already requires uv >=0.11.0, so pinning to 0.10 would break the docs build), and the cli.py docstring change is handled separately on the feature branch. Co-authored-by: nikhil6393 <nikhil900285@gmail.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 858678b commit 67bbfe7

3 files changed

Lines changed: 16 additions & 14 deletions

File tree

README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,14 @@ For full documentation, please visit the [project on ReadTheDocs](https://clouds
2525

2626
## Overview
2727

28-
Cloudsplaining identifies violations of least privilege in AWS IAM policies and generates a pretty HTML report with a triage worksheet. It can scan all the policies in your AWS account or it can scan a single policy file.
28+
Cloudsplaining identifies violations of least privilege in AWS IAM policies and generates a pretty HTML report. It can scan all the policies in your AWS account, across multiple AWS accounts, or it can scan a single policy file.
2929

3030
It helps to identify IAM actions that do not leverage resource constraints. It also helps prioritize the remediation process by flagging IAM policies that present the following risks to the AWS account in question without restriction:
31-
* Data Exfiltration (`s3:GetObject`, `ssm:GetParameter`, `secretsmanager:GetSecretValue`)
32-
* Infrastructure Modification
33-
* Resource Exposure (the ability to modify resource-based policies)
34-
* Privilege Escalation (based on Pathfinding.cloud)
31+
* [Data Exfiltration](https://cloudsplaining.readthedocs.io/en/latest/glossary/data-exfiltration/) (`s3:GetObject`, `ssm:GetParameter`, `secretsmanager:GetSecretValue`)
32+
* [Infrastructure Modification](https://cloudsplaining.readthedocs.io/en/latest/glossary/infrastructure-modification/)
33+
* [Resource Exposure](https://cloudsplaining.readthedocs.io/en/latest/glossary/resource-exposure/) (the ability to modify resource-based policies)
34+
* [Privilege Escalation](https://cloudsplaining.readthedocs.io/en/latest/glossary/privilege-escalation/) (based on Pathfinding.cloud)
35+
* [Credentials Exposure](https://cloudsplaining.readthedocs.io/en/latest/glossary/credentials-exposure/)
3536

3637
Cloudsplaining also identifies IAM Roles that can be assumed by AWS Compute Services (such as EC2, ECS, EKS, or Lambda), as they can present greater risk than user-defined roles - especially if the AWS Compute service is on an instance that is directly or indirectly exposed to the internet. Flagging these roles is particularly useful to penetration testers (or attackers) under certain scenarios. For example, if an attacker obtains privileges to execute [ssm:SendCommand](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) and there are privileged EC2 instances with the SSM agent installed, they can effectively have the privileges of those EC2 instances. Remote Code Execution via AWS Systems Manager Agent was already a known escalation/exploitation path, but Cloudsplaining can make the process of identifying theses cases easier. See the [sample report](https://opensource.salesforce.com/cloudsplaining/#executive-summary) for some examples.
3738

@@ -78,7 +79,7 @@ Policy Sentry [makes it really easy to do this](https://github.com/salesforce/po
7879

7980
That's why we wrote Cloudsplaining.
8081

81-
Cloudsplaining identifies violations of least privilege in AWS IAM policies and generates a pretty HTML report with a triage worksheet. It can scan all the policies in your AWS account or it can scan a single policy file.
82+
Cloudsplaining identifies violations of least privilege in AWS IAM policies and generates a pretty HTML report. It can scan all the policies in your AWS account, across multiple AWS accounts, or it can scan a single policy file.
8283

8384
## Installation
8485

docs/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Cloudsplaining
22

3-
[Cloudsplaining](https://github.com/salesforce/cloudsplaining) identifies violations of least privilege in AWS IAM policies and generates a pretty HTML report with a triage worksheet. It can scan all the policies in your AWS account or it can scan a single policy file.
3+
[Cloudsplaining](https://github.com/salesforce/cloudsplaining) identifies violations of least privilege in AWS IAM policies and generates a pretty HTML report. It can scan all the policies in your AWS account, across multiple AWS accounts, or it can scan a single policy file.
44

55
![](_images/cloudsplaining-report.gif)
66

77
## Commands
88

99
* `cloudsplaining download` - Download IAM authorization details for an entire AWS account.
1010
* `cloudsplaining create-exclusions-file` - Create an exclusions file to filter out false positives specific to your context.
11-
* `cloudsplaining scan` - Scan the IAM authorization details file; generate an HTML report and a triage worksheet.
11+
* `cloudsplaining scan` - Scan the IAM authorization details file; generate an HTML report.
1212
* `cloudsplaining scan-policy-file` - Scan a single IAM policy file
1313
* `cloudsplaining --help` - Print help messages and exit.
1414

docs/user-guide/overview.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# Overview
22

3-
[Cloudsplaining](https://github.com/salesforce/cloudsplaining) identifies violations of least privilege in AWS IAM policies and generates a pretty HTML report with a triage worksheet. It can scan all the policies in your AWS account or it can scan a single policy file.
3+
[Cloudsplaining](https://github.com/salesforce/cloudsplaining) identifies violations of least privilege in AWS IAM policies and generates a pretty HTML report. It can scan all the policies in your AWS account, across multiple AWS accounts, or it can scan a single policy file.
44

55
It helps to identify IAM actions that do not leverage resource constraints and thus can present the following risks to the AWS account in question without restriction:
6-
* Data Exfiltration (`s3:GetObject`, `ssm:GetParameter`, `secretsmanager:GetSecretValue`)
7-
* Infrastructure Modification
8-
* Resource Exposure (the ability to modify resource-based policies)
9-
* Privilege Escalation (based on Rhino Security Labs research)
6+
* [Data Exfiltration](../glossary/data-exfiltration.md) (`s3:GetObject`, `ssm:GetParameter`, `secretsmanager:GetSecretValue`)
7+
* [Infrastructure Modification](../glossary/infrastructure-modification.md)
8+
* [Resource Exposure](../glossary/resource-exposure.md) (the ability to modify resource-based policies)
9+
* [Privilege Escalation](../glossary/privilege-escalation.md) (based on Pathfinding.cloud)
10+
* [Credentials Exposure](../glossary/credentials-exposure.md)
1011

1112
You can also specify a custom exclusions file to filter out results that are False Positives for various reasons. For example, User Policies are permissive by design, whereas System roles are generally more restrictive. You might also have exclusions that are specific to your organization's multi-account strategy or AWS application architecture.
1213

@@ -18,4 +19,4 @@ You can also specify a custom exclusions file to filter out results that are Fal
1819
- `cloudsplaining create-exclusions-file --output-file exclusions.yml`
1920
* Scan the Account Authorization details
2021
- `cloudsplaining scan --input-file default-account-details.json --exclusions-file exclusions.yml`
21-
- This generates three files: (1) The single-file HTML report, (2) The triage CSV worksheet, and (3) The raw JSON data file
22+
- This generates two files: (1) The single-file HTML report, and (2) The raw JSON data file

0 commit comments

Comments
 (0)