Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sara/tec 198 create a developer friendly onboarding page in the docs #1848

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions docs/for-developers/developer-overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
slug: developer-overview
title: Semgrep for developers
hide_title: true
displayed_sidebar: scanSidebar
description: tk
tags:
- tk
---

# Semgrep for developers

This guide is for developers who are using Semgrep in a team or organizational setting. Use Semgrep to:

- Lint your code
- Triage security issues
- Automate code reviews among your peers
- Follow security practices set by security engineers

:::tip Developer and AppSec role
- If you are a developer responsible for your **own** security program in personal projects, see the **Quickstart** and **Core deployment** docs.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is "docs" too casual for us?

:::

## Semgrep AppSec Platform

Semgrep AppSec Platform, or Semgrep (**sem**antic **grep**), is a software suite for implementing and tracking security programs. AppSec engineers use Semgrep to detect, triage, and remediate findings.

Developers primarily use Semgrep to scan for issues in their code. Issues detected by Semgrep are called **findings**. Semgrep performs static analysis and several other analyses to detect bugs, vulnerabilities in dependencies, and leaked secrets.

Semgrep scans can be run in various environments, including popular IDEs, on your local machine, and in CI.

## How Semgrep scans code

Semgrep enables you to:

- Search for code semantically
- Codify those search parameters as a **rule**
- Run the rule on every keystroke, commit, pull request, and merge

Semgrep uses various program analyses to generate findings, similar to a linter.

### Syntactic and semantic examples

For example, you may want to ban the use of `==` in JavaScript and instead require `===` to avoid **type coercion**.


A more complex example is detecting if unsanitized data is flowing from some source to a sink without sanitization.





The following features ensure that Semgrep scans are fast and accurate:

Semgrep is deterministic and transparent


### Semgrep is customizable

### Semgrep's approach to security: secure guardrails

Your interactions with Semgrep may vary depending on your organization's deployment of Semgrep.
1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ module.exports = {
{ type: 'doc', label: 'Docs home', id: 'Docs home', className: 'home-top-level' },
{ type: 'ref', id: 'getting-started/quickstart', label: 'Scan with Semgrep', className: 'top-category-separator'},
{ type: 'ref', id: 'writing-rules/overview', label: 'Write Semgrep rules', className: 'top-category'},
{ type: 'ref', id: 'for-developers/developer-overview', label: 'Semgrep for developers', className: 'top-category'},
{
type: 'link',
label: 'Knowledge base',
Expand Down
Loading