Skip to content

Commit 77bbc15

Browse files
committed
Refine SECURITY.md based on review feedback
1 parent 23186d4 commit 77bbc15

1 file changed

Lines changed: 16 additions & 118 deletions

File tree

SECURITY.md

Lines changed: 16 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -2,142 +2,40 @@
22

33
## Purpose
44

5-
This document outlines the security reporting process and key security practices for the AutoAudit project. AutoAudit is a Microsoft 365 compliance automation platform, so security is important across authentication, API access, file handling, CI/CD, and dependency management.
5+
This document outlines the security reporting and responsible disclosure process for the AutoAudit project.
66

77
## Supported Branches
88

9-
Security-related changes should be made through pull requests and reviewed before being merged.
9+
Security-related changes should be reviewed through pull requests before merging into protected branches.
1010

1111
| Branch | Status |
1212
| --- | --- |
13-
| main | Production/deployment branch |
14-
| staging | Active testing and integration branch |
15-
| feature branches | Used for individual development work |
13+
| main | Active |
14+
| feature branches | Development |
1615

1716
## Reporting a Vulnerability
1817

19-
If a security issue is found, it should not be posted publicly in GitHub issues unless the team agrees it is safe to disclose.
18+
If you discover a security vulnerability within AutoAudit, please report it privately to the project maintainers.
2019

21-
Security concerns should include:
20+
Please include:
2221

23-
- A clear description of the issue
22+
- A description of the issue
2423
- Steps to reproduce the issue
25-
- Affected files, endpoints, or workflows
26-
- Possible impact
27-
- Suggested fix if known
28-
- Screenshots or logs where appropriate
24+
- Potential impact
25+
- Relevant screenshots or logs if available
2926

30-
## Areas of Security Concern
27+
Do not publicly disclose vulnerabilities through GitHub issues or discussions until they have been reviewed by the maintainers.
3128

32-
The following areas should be treated as security-sensitive:
29+
## Security Review Process
3330

34-
- Authentication and login endpoints
35-
- User registration and account handling
36-
- File upload endpoints
37-
- Evidence report download paths
38-
- API access between services
39-
- CI/CD workflow permissions
40-
- Secrets and environment variables
41-
- Dependency vulnerabilities
42-
- Docker image security
43-
- Compliance scan output data
31+
Security-related pull requests and changes should be reviewed before merging.
4432

45-
## CI/CD Security Controls
33+
The project uses GitHub-based workflows and security scanning processes to support secure development practices.
4634

47-
AutoAudit uses GitHub Actions to support automated security checks during development.
35+
## Dependency and Code Security
4836

49-
Current and recommended CI/CD security controls include:
50-
51-
- CodeQL scanning for code analysis
52-
- Bandit scanning for Python static application security testing
53-
- Dependency scanning for vulnerable packages
54-
- Pull request review before merging
55-
- Branch protection rules for main and staging
56-
- Workflow permission restrictions where possible
57-
58-
Bandit is used to detect common insecure Python coding patterns such as hardcoded secrets, unsafe function usage, weak cryptography, and insecure subprocess handling.
59-
60-
## Dependency Security
61-
62-
Dependencies should be reviewed regularly because vulnerable third-party packages can affect the security of the platform.
63-
64-
Recommended practices:
65-
66-
- Keep package files updated
67-
- Review dependency scanning results
68-
- Avoid unused dependencies
69-
- Check security alerts before merging
70-
- Use pinned or controlled dependency versions where practical
71-
72-
## Authentication and Access Control
73-
74-
Authentication and access control should be reviewed carefully because AutoAudit is designed as a multi-tenant SaaS-style platform.
75-
76-
Recommended future improvements:
77-
78-
- Add rate limiting for login and registration endpoints
79-
- Add account lockout protection after repeated failed login attempts
80-
- Reduce user enumeration risks during registration
81-
- Consider using a trusted identity provider such as Auth0 or Microsoft Entra ID
82-
- Review service-to-service authentication between containers
83-
84-
## File Upload and Report Security
85-
86-
File upload and report access functions should be validated to reduce risk.
87-
88-
Recommended controls:
89-
90-
- Limit file size
91-
- Validate file type
92-
- Sanitize uploaded filenames
93-
- Prevent path traversal
94-
- Restrict access to generated reports
95-
- Log suspicious upload or download activity
37+
Dependencies and code changes should be reviewed regularly to support secure development and reduce risk from vulnerable packages or insecure code patterns.
9638

9739
## Responsible Disclosure
9840

99-
Security issues should be handled carefully and responsibly. The goal is to protect users, project data, and the AutoAudit platform while giving the team enough detail to reproduce and fix the issue.
100-
101-
Security fixes should be tested before merging and should include evidence such as workflow runs, screenshots, or review notes where appropriate.
102-
103-
104-
## Security Testing and Monitoring
105-
106-
Security testing should be performed continuously throughout development and deployment processes.
107-
108-
Recommended security testing activities include:
109-
110-
- Static application security testing using Bandit
111-
- Code scanning through GitHub CodeQL workflows
112-
- Dependency vulnerability monitoring
113-
- CI/CD workflow validation
114-
- Pull request review before merging
115-
- Testing workflow failures using intentionally insecure code samples
116-
- Monitoring GitHub security alerts and Dependabot notifications
117-
118-
Workflow failures caused by detected vulnerabilities should be reviewed before deployment approval.
119-
120-
Security monitoring should also include:
121-
122-
- Logging suspicious authentication attempts
123-
- Monitoring repeated failed login activity
124-
- Reviewing unusual file upload behaviour
125-
- Tracking dependency security advisories
126-
- Reviewing CI/CD workflow permission usage
127-
128-
## Container and Infrastructure Security
129-
130-
AutoAudit uses container-based deployment and infrastructure components that should follow secure configuration practices.
131-
132-
Recommended infrastructure security practices include:
133-
134-
- Restrict unnecessary container privileges
135-
- Use environment variables for sensitive configuration values
136-
- Avoid hardcoded credentials or API keys
137-
- Scan container images for vulnerabilities
138-
- Keep Docker images and dependencies updated
139-
- Restrict public exposure of internal services
140-
- Apply least privilege principles to workflows and deployments
141-
- Review infrastructure configurations regularly
142-
143-
Infrastructure and deployment security should be reviewed continuously as the platform evolves into a larger multi-tenant SaaS environment.
41+
Security issues should be handled responsibly to protect users, contributors, and project infrastructure while allowing maintainers time to investigate and resolve reported issues.

0 commit comments

Comments
 (0)