|
1 | | -# Secret Scanning Tools |
| 1 | +# custom-pattern-secrets |
2 | 2 |
|
3 | | -> ℹ️ This is an _unofficial_ tool created by Field Security Services, and is not officially supported by GitHub. |
| 3 | +Custom Secret Scanning Patterns repository. |
4 | 4 |
|
5 | | -This is a testing suite for GitHub Secret Scanning Custom Patterns. |
| 5 | +## Patterns |
6 | 6 |
|
7 | | -It can be used in combination with GitHub Actions to test custom patterns before they are deployed. |
8 | 7 |
|
9 | | -An example repository that uses this Action is [advanced-security/secret-scanning-custom-patterns](https://github.com/advanced-security/secret-scanning-custom-patterns). |
10 | 8 |
|
11 | | -A sample custom patterns config file compatible with this tool suite is provided in [`examples/config/patterns.yml`](examples/config/patterns.yml). |
| 9 | +### [Commonly Used Secrets / Passwords](./common) |
12 | 10 |
|
13 | | -## Usage in Actions |
14 | 11 |
|
15 | | -```yaml |
16 | | -- name: Secret Scanning Test Suite |
17 | | - uses: advanced-security/secret-scanning-tools@main |
18 | | -``` |
19 | 12 |
|
20 | | -### Advanced Configuration |
| 13 | +- Common Passwords Shortlist |
| 14 | + |
21 | 15 |
|
22 | | -```yaml |
23 | | -- name: Secret Scanning Test Suite |
24 | | - uses: advanced-security/secret-scanning-tools@main |
25 | | - with: |
26 | | - # Modes to run |
27 | | - # > 'validate' (default), 'all', 'snapshot', 'markdown' |
28 | | - mode: 'validate' |
29 | | -``` |
| 16 | +### [Configuration Secrets](./configs) |
30 | 17 |
|
31 | | -### Using GitHub App Token |
32 | 18 |
|
33 | | -```yaml |
34 | | -- name: Get Token |
35 | | - id: get_workflow_token |
36 | | - uses: peter-murray/workflow-application-token-action@v1 |
37 | | - with: |
38 | | - application_id: ${{ secrets.ADVANCED_SECURITY_APP_ID }} |
39 | | - application_private_key: ${{ secrets.ADVANCED_SECURITY_APP_KEY }} |
40 | 19 |
|
41 | | -- name: Secret Scanning Test Suite |
42 | | - uses: advanced-security/secret-scanning-tools@main |
43 | | - with: |
44 | | - token: ${{ steps.get_workflow_token.outputs.token }} |
45 | | -``` |
| 20 | +- Hardcoded Database Passwords |
46 | 21 |
|
47 | | -## Offline testing of Secret Scanning custom patterns |
| 22 | +- Hardcoded Spring SQL passwords |
48 | 23 |
|
49 | | -We have a test Python script, `secretscanning/test.py` that uses Intel's `hyperscan` to test custom GitHub Advanced Security Secret Scanning patterns. |
| 24 | +- Django Secret Key |
50 | 25 |
|
51 | | -This is useful for thorough testing of patterns before they are deployed, whereas the rest of the test suite is primarily designed to be run in GitHub Actions for testing in CI. |
| 26 | +- GitHub Actions SHA Checker |
52 | 27 |
|
53 | | -### Local test script usage |
| 28 | +- .NET Configuration file |
54 | 29 |
|
55 | | -Change directory to `secretscanning`. |
| 30 | +- .NET MachineKey |
| 31 | + |
56 | 32 |
|
57 | | -First run `make requirements` to install required dependencies. |
| 33 | +### [Database passwords](./database) |
58 | 34 |
|
59 | | -``` bash |
60 | | -./test.py |
61 | | -``` |
62 | 35 |
|
63 | | -By default it searches the directory above the `testing` directory for `pattern.yml` files, and tests those patterns on the same directory that file was found in. |
64 | 36 |
|
65 | | -or |
| 37 | +- Database Connection String (1) |
66 | 38 |
|
67 | | -``` bash |
68 | | -./test.py --tests <directory> |
69 | | -``` |
| 39 | +- Database Connection String (2) |
70 | 40 |
|
71 | | -For full usage use `./test.py --help` |
| 41 | +- Database Connection String (3) |
72 | 42 |
|
73 | | -### Local test script requirements |
| 43 | +- TSQL CREATE LOGIN/USER |
| 44 | + |
74 | 45 |
|
75 | | -This only works on Intel-compatible platforms, since `hyperscan` is an Intel application and written to use Intel-specific instructions. |
| 46 | +### [Generic Secrets / Passwords](./generic) |
76 | 47 |
|
77 | | -* Python 3.9+ |
78 | | -* `hyperscan` module, which provides Python bindings to Intel's Hyperscan |
79 | | -* `python-pcre` module, which provides Python bindings to libPCRE |
80 | 48 |
|
81 | | -### Development notes |
82 | 49 |
|
83 | | -Please run `make lint` after any changes |
| 50 | +- Generic Passwords |
84 | 51 |
|
85 | | -## License |
| 52 | +- UUIDs |
86 | 53 |
|
87 | | -This project is licensed under the terms of the MIT open source license. Please refer to the [LICENSE](LICENSE) for the full terms. |
| 54 | +- Bearer Tokens |
| 55 | + |
88 | 56 |
|
89 | | -## Maintainers |
| 57 | +### [JWT](./jwt) |
90 | 58 |
|
91 | | -See [CODEOWNERS](CODEOWNERS) for the list of maintainers. |
92 | 59 |
|
93 | | -## Support |
94 | 60 |
|
95 | | -> ℹ️ This is an _unofficial_ tool created by Field Security Services, and is not officially supported by GitHub. |
| 61 | +- JWT |
| 62 | + |
96 | 63 |
|
97 | | -See the [SUPPORT](SUPPORT.md) file. |
| 64 | +### [Password stores](./password_store) |
98 | 65 |
|
99 | | -## Background |
100 | 66 |
|
101 | | -See the [CHANGELOG](CHANGELOG.md), [CONTRIBUTING](CONTRIBUTING.md), [SECURITY](SECURITY.md), [SUPPORT](SUPPORT.md), [CODE OF CONDUCT](CODE_OF_CONDUCT.md) and [PRIVACY](PRIVACY.md) files for more information. |
| 67 | + |
| 68 | +- Arc |
| 69 | + |
| 70 | + |
| 71 | +### [Personally identifiable information (PII)](./pii) |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | +- Credit Cards |
| 76 | + |
| 77 | +- Credit Cards - Visa |
| 78 | + |
| 79 | +- Credit Cards - MasterCard |
| 80 | + |
| 81 | +- Credit Cards - American Express |
| 82 | + |
| 83 | +- Credit Cards - Discover |
| 84 | + |
| 85 | +- IBAN |
| 86 | + |
| 87 | + |
| 88 | +### [RSA Keys](./rsa) |
| 89 | + |
| 90 | + |
| 91 | + |
| 92 | +- Generic RSA keys |
| 93 | + |
| 94 | +- SSH Private Keys |
| 95 | + |
| 96 | +- GPG Private Key |
| 97 | + |
| 98 | + |
| 99 | +### [URI / URL Custom Patterns](./uri) |
| 100 | + |
| 101 | + |
| 102 | + |
| 103 | +- Hardcoded Internal Emails |
| 104 | + |
| 105 | +- Hardcoded Internal URLs |
| 106 | + |
| 107 | +- Hardcoded URI Passwords |
| 108 | + |
| 109 | +- Routable IPv4 Addresses |
| 110 | + |
| 111 | +- GitHub Container Registry typos |
| 112 | + |
| 113 | + |
| 114 | +### [Vendors](./vendors) |
| 115 | + |
| 116 | + |
| 117 | + |
| 118 | +- Azure SQL Connection String |
| 119 | + |
| 120 | +- Grafana API token |
| 121 | + |
| 122 | +- SendGrid (deprecated) |
| 123 | + |
| 124 | +- Sentry Auth Token |
| 125 | + |
| 126 | +- Sentry API Key |
| 127 | + |
| 128 | +- Sentry DSN secret |
| 129 | + |
| 130 | +- Sentry webpack plugin token |
| 131 | + |
| 132 | +- Sentry Terraform provider token |
| 133 | + |
| 134 | +- Okta token |
| 135 | + |
| 136 | +- DataDog API key |
| 137 | + |
| 138 | +- DataDog APP key |
| 139 | + |
0 commit comments