Skip to content

Instantly share code, notes, and snippets.

@wilmoore
Last active June 28, 2024 22:25
Show Gist options
  • Save wilmoore/f06243bdca204decf4925e69bd2266d7 to your computer and use it in GitHub Desktop.
Save wilmoore/f06243bdca204decf4925e69bd2266d7 to your computer and use it in GitHub Desktop.
Software Engineering :: Web :: Development :: Security

Software Engineering :: Web :: Development :: Security

⪼ Made with 💜 by Polyglot.

research

  1. Logging passwords/confidential information.
  2. Committing and hardcoding passwords/confidential information into source control.
  3. Sharing passwords through Teams/Slack/Confluence instead of a shared password manager.
  4. Not locking down your API by user based roles and access needs.
  5. Your API can be gamified and a user can get information on another user that they shouldn't be able to.
  6. Not removing users once they have left the business.

After working in multiple companies, I can say I've seen every single one of these at least once throughout my career, and I make a conscious effort to avoid them.

Things that help alleviate this:

  1. Using a tool like Sonarqube that will monitor and notify you on any security vulnerabilities and credential leaks.
  2. Using git filter-repo to allow you to remove files with sensitive data from git.
  3. Using a shared password manager such as Azure Key Vault to easily rotate and share keys and secrets.
  4. Using a third party identity management solution like Microsoft Entra to handle roles/access to resources.
  5. Auditing and alerting of user actions throughout your application for malicious activity using something like Microsoft Sentinel.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment