{"id":18450621,"url":"https://github.com/skills/introduction-to-codeql","last_synced_at":"2025-04-07T12:01:37.008Z","repository":{"id":202663760,"uuid":"678960639","full_name":"skills/introduction-to-codeql","owner":"skills","description":"Enable code scanning and secure your code with CodeQL.","archived":false,"fork":false,"pushed_at":"2025-03-05T16:09:54.000Z","size":2781,"stargazers_count":68,"open_issues_count":4,"forks_count":24,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-31T11:01:35.779Z","etag":null,"topics":["skills-course"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skills.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-15T19:39:19.000Z","updated_at":"2025-03-28T11:58:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"e0d89ad3-4dad-4fcb-8586-e1dda99ff963","html_url":"https://github.com/skills/introduction-to-codeql","commit_stats":null,"previous_names":["skills/introduction-to-codeql"],"tags_count":0,"template":true,"template_full_name":"skills/template-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skills%2Fintroduction-to-codeql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skills%2Fintroduction-to-codeql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skills%2Fintroduction-to-codeql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skills%2Fintroduction-to-codeql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skills","download_url":"https://codeload.github.com/skills/introduction-to-codeql/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247648874,"owners_count":20972944,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["skills-course"],"created_at":"2024-11-06T07:25:56.662Z","updated_at":"2025-04-07T12:01:36.977Z","avatar_url":"https://github.com/skills.png","language":"Python","funding_links":[],"categories":["Getting Started","Python"],"sub_categories":["CodeQL Getting Started and Guides (along side the [official docs](https://codeql.github.com/docs/))"],"readme":"\u003cheader\u003e\n\n\u003c!--\n  \u003c\u003c\u003c Author notes: Course header \u003e\u003e\u003e\n  Read \u003chttps://skills.github.com/quickstart\u003e for more information about how to build courses using this template.\n  Include a 1280×640 image, course name in sentence case, and a concise description in emphasis.\n  In your repository settings: enable template repository, add your 1280×640 social image, auto delete head branches.\n  Next to \"About\", add description \u0026 tags; disable releases, packages, \u0026 environments.\n  Add your open source license, GitHub uses the MIT license.\n--\u003e\n\n# Enable CodeQL to secure your source code\n\n_Ensuring the security of application source code is a critical step in modern software development. In this GitHub Skills course, you will learn to use GitHub code scanning to identify, resolve, and prevent insecure coding patterns._\n\n\u003c/header\u003e\n\n\u003c!--\n  \u003c\u003c\u003c Author notes: Step 1 \u003e\u003e\u003e\n  Choose 3-5 steps for your course.\n  The first step is always the hardest, so pick something easy!\n  Link to docs.github.com for further explanations.\n  Encourage users to open new tabs for steps!\n  TBD-step-1-notes.\n--\u003e\n\n## Welcome\n\n_Welcome to \"Introduction to CodeQL\"! :wave:_\n\nIn this course, we will explore using GitHub code scanning, powered by [CodeQL](https://codeql.github.com/), to identify common coding practices that can lead to security vulnerabilities. During this course, we will enable code scanning on your repository to identify, remediate, and prevent vulnerabilities.\n  \nCode scanning is part of the [GitHub Advanced Security (GHAS)](https://docs.github.com/en/get-started/learning-about-github/about-github-advanced-security) product suite. All of the features of Advanced Security are 100% free for open source, public repositories.\n\n- **Who is this for**: Developers, security engineers, open source maintainers.\n- **What you'll learn**: We'll show you how to enable code scanning and identify SQL injection vulnerabilities with CodeQL.\n- **What you'll build**: A secure software development pipeline that allows you to identify and prevent new security vulnerabilities from being introduced into your production code.\n- **Prerequisites**: In this course, you'll need a baseline knowledge of GitHub concepts such as pull requests, GitHub Actions, and source code. You'll also need to be familiar with the concepts of Static Application Security Testing (SAST). Don't worry, we'll demistify the complex parts for you 🙂.\n- **How long**: This course is four steps long and takes less than 30 minutes to complete.\n\n## How to start this course\n\n\u003c!-- For start course, run in JavaScript:\n'https://github.com/new?' + new URLSearchParams({\n  template_owner: 'TBD-organization',\n  template_name: 'TBD-course-name',\n  owner: '@me',\n  name: 'TBD-organization-TBD-course-name',\n  description: 'My clone repository',\n  visibility: 'public',\n}).toString()\n--\u003e\n\n[![start-course](https://user-images.githubusercontent.com/1221423/235727646-4a590299-ffe5-480d-8cd5-8194ea184546.svg)](https://github.com/new?template_owner=skills\u0026template_name=introduction-to-codeql\u0026owner=%40me\u0026name=skills-introduction-to-codeql\u0026description=GitHub+Skills:+Introduction+to+CodeQL\u0026visibility=public)\n\n1. Right-click **Start course** and open the link in a new tab.\n2. In the new tab, most of the prompts will automatically fill in for you.\n   - For owner, choose your personal account or an organization to host the repository.\n   - We recommend creating a public repository, as private repositories will [use Actions minutes](https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions).\n   - Scroll down and click the **Create repository** button at the bottom of the form.\n3. After your new repository is created, wait about 20 seconds, then refresh the page. Follow the step-by-step instructions in the new repository's README.\n\n\u003cfooter\u003e\n\n\u003c!--\n  \u003c\u003c\u003c Author notes: Footer \u003e\u003e\u003e\n  Add a link to get support, GitHub status page, code of conduct, license link.\n--\u003e\n\n---\n\nGet help: [Post in our discussion board](https://github.com/orgs/skills/discussions/categories/introduction-to-codeql) \u0026bull; [Review the GitHub status page](https://www.githubstatus.com/)\n\n\u0026copy; 2023 GitHub \u0026bull; [Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/code_of_conduct.md) \u0026bull; [MIT License](https://gh.io/mit)\n\n\u003c/footer\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskills%2Fintroduction-to-codeql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskills%2Fintroduction-to-codeql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskills%2Fintroduction-to-codeql/lists"}