标签

 guide 

相关的文章:

这是一个包含机器学习算法、迁移数据库、主机操作韧性、构建安全网站和数据科学学习等内容的列表页。

Migration guide: GitHub Advanced Security to GitLab Ultimate

原文英文,约3100词,阅读约需12分钟。发表于:

GitLab is the most comprehensive AI-powered DevSecOps platform, enabling organizations to deliver more secure software faster with one platform for your entire software delivery lifecycle. GitHub provides an Advanced Security add-on, which enables additional security features within GitHub. However, it lacks the depth and breadth of security features provided natively by GitLab. Organizations looking to migrate to GitLab Ultimate to enhance their security across all areas of the SDLC can use this guide to compare the two offerings and as a tutorial to move to the GitLab platform. This article includes: A comparison between GitLab Ultimate and GitHub Advanced Security How to migrate a GitHub repository to GitLab How to migrate from GitHub Advanced Security to GitLab Ultimate feature-by-feature An introduction to additional GitLab Ultimate's security features A comparison between GitLab Ultimate and GitHub Advanced Security GitLab Ultimate is GitLab's top subscription tier for enterprises looking to deliver secure software faster. GitHub Advanced Security is an add-on to GitHub Enterprise, which enables additional security features. Similarities between GitLab Ultimate and GitHub Advanced Security GitLab Ultimate and GitHub Advanced Security both provide: Static Application Security Testing (SAST), secret scanning, and dependency scanning contextual vulnerability intelligence and resolution advice a list of dependencies or software bill of materials (SBOM) security metrics and insights Differences between GitLab Ultimate and GitHub Advanced Security GitLab Ultimate differs from GitHub Advanced Security in the following ways: GitLab natively provides additional code scanners such as container scanning, Dynamic Application Security Testing (DAST), Web API fuzz testing, and more. These scanners are a mix of optimized proprietary and open source technologies with custom rulesets. For a full list, see the GitLab AppSec documentation. GitLab provides granular security guardrails to prevent insecure code from being merged without approval. GitLab security scanners can be run in air-gapped or limited-connectivity environments. GitLab provides the Compliance Center, which enables oversight of compliance violations across an entire organization. GitLab Ultimate also provides additional security and compliance capabilities, portfolio and value stream management, live upgrade assistance, and more. See the GitLab Ultimate documentation to learn more about these additional features. How to migrate a GitHub repository to GitLab GitLab provides a built-in importer, which allows you to import your GitHub projects from either GitHub.com or GitHub Enterprise to GitLab. The importer allows you to migrate not only the GitHub Repository to GitLab, but several other objects, including issues, collaborators (members), and pull requests. For a complete list of what can be migrated, see the GitHub imported data documentation. You can perform the migration as follows: On the left sidebar, at the top, select Create new (+). Select New project/repository under the In GitLab section. Select Import project. Press the GitHub button. If using GitLab self-managed, then you must enable the GitHub importer. Note that other importers can be initiated in the same way. Now, you can do one of the following: Authorize with GitHub Oauth by selecting Authorize with GitHub. Use a GitHub personal access token: Go to https://github.com/settings/tokens/new. In the Note field, enter a token description. Select the repo scope. Optionally, to import Collaborators, select the read:org scope. Press the Generate token button. On the GitLab import page, in the Personal Access Token field, paste the GitHub personal access token. Press the Authenticate button. Select the items you wish to migrate. Select the projects you wish to migrate and to where. Press the Import button. Your imported project should now be in your workspace. For additional guidance on migrating from GitHub to GitLab, watch this video: <!-- blank line --> <figure class="video_container"> <iframe src="https://www.youtube.com/embed/0Id5oMl1Kqs?si=HEpZVy94cpfPfAky" frameborder="0" allowfullscreen="true"> </iframe> </figure> <!-- blank line --> You can also perform the migration using a GitHub personal access token or the GitLab REST API. The importer also allows importing from other sources such as Bitbucket or Gitea. To learn more, read the importer documentation. How to migrate feature-by-feature Let’s go over how to leverage each feature provided by GitHub Advanced Security in GitLab Ultimate. You must have a GitLab Ultimate license to continue. GitLab provides a free 30-day trial to get you started. Code scanning GitHub provides code scanning to provide contextual vulnerability intelligence and advice for static source code. The same can be done within GitLab by enabling SAST. GitLab SAST scanners cover a wider set of programming languages and frameworks than GitHub’s CodeQL. To enable code scanning in GitLab, you can simply add the SAST template to your .gitlab-ci.yml: include: - template: Jobs/SAST.gitlab-ci.yml Once the template has been added, any time new code is checked in, SAST will auto-detect the programming languages used in your project. It will then scan the source code for known vulnerabilities. Note: Security scanners can also be added to your project using GitLab's security configuration, which can automatically create a merge request to update your pipeline. To learn more, see the Configure SAST by using the UI documentation. SAST results of the diff between the feature-branch and the target-branch display in the merge request widget. The merge request widget displays SAST results and resolutions that were introduced by the changes made in the merge request. Each vulnerability displays data to assist with remediation, including detailed description, severity, location, and resolution information: You can take action on these vulnerabilities: Dismiss vulnerability: Allows a developer to dismiss the vulnerability with a comment. This assists the security team performing a review. Create issue: Allows an issue to be created to keep track of a vulnerability that requires additional oversight. These changes can also be seen inline when changing to the Changes view within the merge request. Customizing SAST scanners GitLab allows you to override a SAST job definition so you can change properties like variables, dependencies, or rules. You can do this by declaring a job with the same name as the SAST job to override. Then, place this new job after the template inclusion and specify any additional keys under it. For example, the following configuration: overwrites the version the semgrep-sast scanner uses runs a script to fetch modules from private projects before running gosec-sast configures all scanners to search at a maximum depth of 10 include: - template: Jobs/SAST.gitlab-ci.yml variables: SEARCH_MAX_DEPTH: 10 semgrep-sast: variables: SAST_ANALYZER_IMAGE_TAG: "3.7" gosec-sast: before_script: - | cat <<EOF > ~/.netrc machine gitlab.com login $CI_DEPLOY_USER password $CI_DEPLOY_PASSWORD EOF Note: The available SAST jobs can be found in the SAST.gitlab-ci.yml template. Configurations can be found in the Available SAST CI/CD variables documentation. Customizing SAST rulesets For each SAST analyzer, GitLab processes the code then uses rules to find possible weaknesses in source code. These rules determine what types of weaknesses the scanner reports. For Semgrep-based SAST scanners, GitLab creates, maintains, and supports the rules that are used. It combines the Semgrep open source engine, GitLab-managed detection rules, and GitLab proprietary technology for vulnerability tracking and false positive detection. For other SAST analyzers, the rules are defined in the upstream projects for each scanner. You can customize the behavior of the SAST scanners by defining a ruleset configuration file in the repository being scanned: Disable predefined rules (available for all analyzers) Override predefined rules (available for all analyzers) Replace predefined rules by synthesizing a custom configuration using passthroughs For more information and examples on configuring SAST rules, see the SAST rules and Customizing rulesets documentation. Secret scanning GitHub provides secret scanning, which can find, block, and revoke leaked secrets. The same can be done within GitLab by enabling Secret Detection. To enable Secret Detection in GitLab, you can simply add the following template to your .gitlab-ci.yml: include: - template: Jobs/Secret-Detection.gitlab-ci.yml Once the template has been added, any time new code is checked in (or a pipeline is run), the secret scanner will scan the source code for known secrets. Pipeline Secret Detection scans different aspects of your code, depending on the situation. For all methods except the “Default branch”, Pipeline Secret Detection scans commits, not the working tree. See the Secret detection coverage documentation to learn more about how secret scanning works. When creating a merge request, Secret Detection scans every commit made on the source branch. Just like in SAST, each detected vulnerability provides the following information (such as location) and identifiers to assist with the remediation process: Similar to SAST, you can take action on these vulnerabilities straight from the merge request, including dismissing vulnerabilities, and creating issues. Customizing Secret Detection jobs GitLab allows you to override a Secret Detection job definition so you change properties like variables, dependencies, or rules. You can do this by declaring a job with the same name as the Secret Detection job. Then place this new job after the template inclusion and specify any additional keys under it. For example, the following configuration: overwrites the stage the secret detection job runs on to security enables the historic scanning changes the Secrets Analyzer version to 4.5 include: - template: Jobs/Secret-Detection.gitlab-ci.yml secret_detection: stage: security variables: SECRET_DETECTION_HISTORIC_SCAN: "true" SECRETS_ANALYZER_VERSION: "4.5" Note: The available Secret Detection jobs can be found in the SAST.gitlab-ci.yml template. Available configurations can be found in the Available Secret Detection CI/CD variables documentation. Customizing Secret Detection rulesets The Secret Detection analyzer allows you to customize which secrets are reported in the GitLab UI. The following customization options can be used separately, or in combination: disable predefined rules override predefined rules synthesize a custom configuration specify a remote configuration file For example, by creating the file .gitlab/secret-detection-ruleset.toml, in the root directory of your project, the default GitLeaks package is extended to ignore test tokens from detection: ### extended-gitleaks-config.toml title = "extension of gitlab's default gitleaks config" [extend] ### Extends default packaged path path = "/gitleaks.toml" [allowlist] description = "allow list of test tokens to ignore in detection" regexTarget = "match" regexes = [ '''glpat-1234567890abcdefghij''', ] For more information on overriding the predefined analyzer rules, check out the Secret Detection documentation. Automatic response to leaked secrets GitLab Secret Detection automatically responds when it finds certain types of leaked secrets. Automatic responses can: automatically revoke the secret notify the partner that issued the secret and the partner can then revoke the secret, notify its owner, or otherwise protect against abuse GitLab can also notify partners when credentials they issue are leaked in public repositories on GitLab.com. If you operate a cloud or SaaS product and you’re interested in receiving these notifications, you can implement a Partner API, which is called by the GitLab Token Revocation API. See the Automatic response to leaked secrets documentation to learn more. Supply chain security GitHub enables you to secure, manage, and report on software supply chains with automated security and version updates and one-click SBOMs. GitLab can meet your supply chain security needs using the Dependency Scanning and Dependency List (SBOM) features. To enable Dependency Scanning in GitLab, you can simply add the following template to your .gitlab-ci.yml: include: - template: Jobs/Dependency-Scanning.gitlab-ci.yml Once the template has been added, any time new code is checked in, Dependency Scanning will auto-detect the package managers used in your project. It will then scan the dependencies used for known vulnerabilities. Dependency Scanning results of the diff between the feature-branch and the target-branch display in the merge request widget. The merge request widget displays Dependency Scanning results and resolutions that were introduced by the changes made in the merge request. Within a merge request, each vulnerability displays relevant information to assist with remediation such as identifiers, evidence, and solutions: Similar to SAST and Secret Detection, you can take action on these vulnerabilities straight from the merge request, including dismissing vulnerabilities and creating issues. Configuring Dependency Scanning To override a job definition (for example, to change properties like variables or dependencies), declare a new job with the same name as the one to override. Place this new job after the template inclusion and specify any additional keys under it. For example, the following code: disables automatic remediation of vulnerable dependencies requires a build job to complete before Dependency Scanning include: - template: Jobs/Dependency-Scanning.gitlab-ci.yml gemnasium-dependency_scanning: variables: DS_REMEDIATE: "false" dependencies: ["build"] To learn more about configuring the dependency scanners, see the Customizing analyzer behavior documentation. Generating an SBOM GitLab provides a Dependency List (SBOM) to review your project or group dependencies and key details about those dependencies, including their known vulnerabilities. This list is a collection of dependencies in your project, including existing and new findings. The Dependency List is generated after the dependency scanner runs successfully on the default branch. To access the Dependency List: On the left sidebar, select Search or go to and find your project. Select Secure > Dependency List. From here you can see the following information on your dependencies: Field Description Component The dependency’s name and version. Packager The packager used to install the dependency. Location For system dependencies, this lists the image that was scanned. For application dependencies, this shows a link to the packager-specific lock file in your project that declared the dependency. It also shows the dependency path to a top-level dependency, if any, and if supported. License Links to dependency’s software licenses. A warning badge that includes the number of vulnerabilities detected in the dependency. Projects Links to the project with the dependency. If multiple projects have the same dependency, the total number of these projects is shown. To go to a project with this dependency, select the Project's number, then search for and select its name. The project search feature is supported only on groups that have up to 600 occurrences in their group hierarchy. <p></p> See the Dependency List documentation to learn more. Security and compliance administration GitHub Advanced Security allows you to view security metrics and insights and assess code security risk. Now let’s examine how to do the same with GitLab Ultimate. Viewing security metrics and insights GitLab provides Security dashboards to help assess the security posture of your applications. These dashboards display a collection of metrics, ratings, and charts for the vulnerabilities detected by the security scanners run on your project: vulnerability trends over a 30-, 60-, or 90-day timeframe for all projects in a group a letter grade rating for each project based on vulnerability severity the total number of vulnerabilities detected within the past 365 days, including their severity To access the Security dashboard: On the left sidebar, select Search or go to and find your project or group. From the side tab, select Secure > Security dashboard. Filter and search for what you need. The group view displays your security posture for all projects in your group: The project view displays your security posture for just the project: Assess code security risk GitLab Ultimate features a Vulnerability Report, which provides information about vulnerabilities from scans of the default branch. It contains cumulative results of all successful jobs, regardless of whether the pipeline was successful. At all levels, the Vulnerability Report contains: totals of vulnerabilities per severity level filters for common vulnerability attributes details of each vulnerability, presented in tabular layout Clicking on a vulnerability enables access to its Vulnerability Page, which contains details of the vulnerability including a description, location, identifiers, and more. Below is an example of the Vulnerability Page for an SQL Injection vulnerability detected by our SAST scanner: From here the security team can collaborate by changing the status of a vulnerability along with a reason and creating issues to better track changes. From the Vulnerability Page, you can also leverage GitLab Duo, our AI-powered suite of features, to explain the vulnerability and automatically create a merge request that resolves the vulnerability. GitLab Duo's Vulnerability Explanation uses a large language model to: summarize the vulnerability. help developers and security analysts to understand the vulnerability, how it could be exploited, and how to fix it provide a suggested mitigation Additional GitLab Ultimate security features GitLab Ultimate contains many more security features that cannot be found within GitHub Advanced Security. A few examples of these additional security features are: additional security scanners for the complete software development lifecycle (SDLC), granular security guardrails, and custom permissions. Security scanners for the entire SDLC Our portfolio of security scanners extends spans the SDLC. Scanner Name Scans Languages/Files scanned Static Application Security Testing (SAST) Static source code C/C++, Java, Python, Go, JavaScript, C#, and more Dynamic Application Security Testing (DAST) Running web application, live API Language-agnostic Infrastructure as Code (IaC) Scanning IaC files Terraform, AWS Cloud Formation, Ansible, and more Container Scanning Static and running container images Dockerfile Dependency Scanning and License Scanning Application dependencies Requirements.txt, Yarn, Gradle, Npm, and more Web API Fuzz Testing Sends random/malformed data to web-api OpenAPI, GraphQL, HAR, Postman Collection Coverage-guided Fuzz Testing Sends random/malformed data to function C/C++, Go, Swift, Python, Rust, Java, JavaScript, AFL <p></p> GitLab also allows you to integrate third-party scanners and custom scanners into the platform. Once integrated, the scanner results are automatically presented in various places in GitLab, such as the Pipeline view, merge request widget, and Security dashboard. See the Security Scanner Integration documentation to learn more. Granular security and compliance policies Policies in GitLab provide security and compliance teams with a way to enforce controls globally in their organization. Security teams can ensure: security scanners are enforced in development team pipelines with proper configuration all scan jobs execute without any changes or alterations proper approvals are provided on merge requests based on results from those findings Compliance teams can centrally enforce multiple approvers on all merge requests and ensure various settings are enabled on projects in scope of organizational requirements, such as enabling or locking merge request and repository settings. To learn more see the GitLab Security Policy documentation. Custom roles and granular permissions GitLab Ultimate provides custom roles, which allow an organization to create user roles with the precise privileges and permissions required for that organization’s needs. For example, a user could create a “Security Auditor” role with permissions to view security vulnerabilities in the system, but not be able to view source code, nor perform any changes within the repository. This granular set of permissions enables well-defined separation of duties. To learn more see the Custom Roles and available Granular Permissions documentation. Compliance Center The Compliance Center is the central location for compliance teams to manage their compliance standards’ adherence reporting, violations reporting, and compliance frameworks for their group. The Compliance Center includes the following: Compliance standards adherence dashboard lists the adherence status of projects complying to the GitLab standard. Compliance violations report shows a high-level view of merge request activity for all projects in the group. Compliance frameworks report shows all the compliance frameworks in a group. Compliance projects report shows the compliance frameworks that are applied to projects in a group. These dashboards assist with making sure separation of duties is being followed to optimize compliance within your organization. To learn more see the Compliance Center documentation. Read more This article covers only a portion of the wide range of security features GitLab Ultimate offers. Check out these resources to learn more about how GitLab Ultimate can help enhance your organizational security and developer efficiency: Why GitLab Ultimate Getting Started with DevSecOps Tutorial Getting Started with DevSecOps Sample Project Import your project from GitHub to GitLab documentation Migrating from GitHub Actions documentation Tutorial: Create and run your first GitLab CI/CD pipeline Tutorial: Create a complex pipeline CI/CD YAML syntax reference

GitLab是一款全面的AI驱动的DevSecOps平台,提供比GitHub更多的安全功能。GitLab Ultimate提供额外的代码扫描器、细粒度的安全防护和合规能力。组织可以使用内置的导入工具从GitHub迁移到GitLab。GitLab还提供代码扫描、秘密检测、依赖扫描、安全仪表板和漏洞报告等功能。它还提供自定义角色和权限,以及用于管理合规标准的合规中心。GitLab Ultimate提供了广泛的安全功能,以增强组织的安全性和开发者的效率。

Migration guide: GitHub Advanced Security to GitLab Ultimate
相关推荐 去reddit讨论

A Starter Guide to Data Structures for AI and Machine Learning

原文英文,约3300词,阅读约需12分钟。发表于:

This article is an overview of a particular subset of data structures useful in machine learning and AI development, along with explanations and example implementations.

这篇文章概述了在机器学习和人工智能开发中有用的一类数据结构,并提供了解释和示例实现。这些数据结构是算法的基本构建块,对于AI或ML算法的有效运行至关重要。本文将介绍一些在AI和ML领域中重要的数据结构,并提供了Python实现的示例。这些核心构建块的掌握对于数据科学家面临的各种任务至关重要。

A Starter Guide to Data Structures for AI and Machine Learning
相关推荐 去reddit讨论

The Verge’s 2024 Mother’s Day gift guide

原文英文,约2200词,阅读约需8分钟。发表于:

Illustration by Manon Louart for The Verge We found a collection of unique gift ideas that go beyond the flowers and chocolates that typically rule the day. Continue reading…

Uno Show 'Em No Mercy是Uno的更新版本,增加了更多的跳过牌、抽牌和新的堆叠规则。Lego的最新植物套装让你可以建造九种塑料植物。Ember的智能保温杯可以确保咖啡始终保持在喜欢的温度。Kindle Paperwhite Signature Edition增加了无线充电和自动背光。Thermomix TM6是一款多功能厨房电器。Apple的iPad(第十代)具有可靠的电池寿命和强大的性能。Apple Watch Series 9是一个功能齐全的智能手表。Kasa智能Wi-Fi灯泡(两个装)适合智能家居新手。Anthropologie的人造毛皮毯子非常舒适。Tile Mate可以帮助追踪个人物品的位置。Nixplay的10.1英寸高清触摸屏Wi-Fi数码相框可以展示家庭照片。Eater Wine Club提供每月定期送货的葡萄酒订阅服务。Amazon Echo Dot with Clock(第五代)是一个带有时钟的智能音箱。Stanley Go Everyday Wine Tumbler是...

The Verge’s 2024 Mother’s Day gift guide
相关推荐 去reddit讨论

Modular: How to Contribute to Mojo Standard Library: A Step-by-Step Guide

原文英文,约1900词,阅读约需7分钟。发表于:

How to Contribute to Mojo Standard Library: A Step-by-Step Guide

最近,我们宣布了Mojo标准库的开源。这是我们社区的一个重要里程碑,不仅提供了了解标准库各种功能实现细节的最佳方式,还为贡献到Mojo创造了绝佳机会。自宣布以来,我们幸运地收到了各种贡献,从文档修复到代码更改。为了更好地促进社区的贡献,本文将逐步指导您如何贡献到Mojo标准库,包括找到GitHub问题、Git设置、编写代码、进行本地测试以及创建拉取请求(PR)并合并。请参考我们的贡献指南,其中包含详细信息,包括Mojo行为准则和样式指南,本文未涵盖。贡献到Mojo可以采取多种形式,从参与讨论和识别或报告问题,到通过RFC提出语言更改。在这个背景下,我们将重点关注代码贡献,这涉及一系列我们将在下面介绍的步骤。

Modular: How to Contribute to Mojo Standard Library: A Step-by-Step Guide
相关推荐 去reddit讨论

Robins Tharakan: Installing pg_tle on Ubuntu: A Quick Guide

原文英文,约100词,阅读约需1分钟。发表于:

Compile & Install pg_tle on PostgresPostgreSQL is a powerful database, but sometimes you want to extend its functionality with custom features, and that's where extensions like pg_tle (Trusted Language Extensions) come into play.If you're new to pg_tle, here's a quick round-up of why it makes sense for you - See Unlock PostgreSQL Superpowers with pg_tle.Given the power of&

Postgres 10.0发布了一个补丁,允许非超级用户导出全局数据。

Robins Tharakan: Installing pg_tle on Ubuntu: A Quick Guide
相关推荐 去reddit讨论

A developer's guide to building an AI security governance framework

原文英文,约1800词,阅读约需7分钟。发表于:

Artificial Intelligence (AI) has firmly established itself as a pillar of digital transformation, disrupting industries, increasing efficiency, and providing unmatched access to large data sets. AI also raises profound questions regarding security governance. How do I ensure I can leverage the best of what AI has to offer while mitigating its potential security risks? As AI continues to advance, there is a growing need for strong oversight and accountability. This article delves into the complex landscape of AI security governance, exploring various frameworks, strategies, and practices that organizations like GitLab are adopting to ensure the responsible development of AI technologies and features. Greater scrutiny on AI AI: Single term, numerous realities AI isn't a monolithic entity - it encompasses a spectrum of technologies and applications. From machine learning algorithms that power recommendation systems to advanced natural language processing models like Anthropic’s Claude 3, each AI system brings its unique set of opportunities and challenges. According to a 2023 MITRE report, three main areas of AI currently exist: AI as a subsystem <p></p><i>"AI is embedded in many software systems. Discrete AI models routinely perform machine perception and optimization functions, from face recognition in photos uploaded to the cloud, to dynamically allocating and optimizing network resources in 5G wireless networks. <p></p> "There are a wide range of vulnerabilities and threats against these types of AI subsystems – from data poisoning attacks to adversarial input attacks – that can be used to manipulate subsystems."</i><p></p> AI as human augmentation <p></p><i>"Another application of AI is in augmenting human performance, allowing a person to operate with much larger scope and scale. This has wide-ranging implications for workforce planning as AI has the potential to increase productivity and shift the composition of labor markets, similar to the role of automation in the manufacturing industry. <p></p> "While sophisticated hackers and military information operations can already generate believable content today using techniques such as computer-generated imagery, LLMs will make that capability available to anyone, while increasing the scope and scale at which the professionals can operate."</i><p></p> AI with agency <p></p><i>"A segment of the tech community is increasingly concerned about scenarios where sophisticated AI could operate as an independent, goal-seeking agent. While science fiction historically embodied this AI in anthropomorphic robots, the AI we have today is principally confined to digital and virtual domains. <p></p> "One scenario is an AI model given a specific adversarial agenda. Stuxnet is perhaps an early example of sophisticated, AI-fueled, goal-seeking malware with an arsenal of zero-day attacks that ended up escaping onto the internet."</i><p></p> You can focus your efforts in terms of security governance based on which areas your company is looking to adopt and the expected business benefits.<p></p> Frameworks for AI security governance For effective AI security governance, we must navigate the complex landscape of guidelines and principles developed by various organizations. Governments, international organizations, and tech companies have all played their part in shaping AI security governance frameworks. You can review the frameworks below and choose those that are relevant and/or apply to your organization: NIST AI Risk Management Framework (AI RMF) Google’s Security Artificial Intelligence Framework OWASP Top 10 for LLMs The UK’s NCSC Principles for the Security of Machine Learning While these frameworks provide valuable guidance, they also introduce complexity. Organizations must determine which apply to their AI usage and how they align to their practices. Moreover, the dynamic nature of AI requires continuous adaptation to stay secure. Something to note is that if you read through these frameworks, you’ll notice that numerous controls overlap with standard security best practices. This isn’t a coincidence. A strong overall security program is a prerequisite for proper AI security governance. How-to: AI security governance The why and the what AI security governance starts with understanding what AI technologies your organization is using or developing, why you are using them, and where these technologies fit into your operations. It's essential to define clear objectives and identify potential security risks associated with AI deployment. This introspection lays the foundation for effective AI security governance. The why Understanding the "why" behind each AI application is pivotal to build effective security governance. Each AI system deployed has to serve a specific purpose. Is AI being utilized to enhance customer experiences, automate manual tasks, or support the decision-making process? By uncovering the motivations driving AI initiatives, organizations can align these projects with their broader business objectives. This alignment ensures that AI investments are strategically focused, delivering value in line with organizational goals. It also aids in prioritizing AI systems that have a more significant impact on the core mission of the company. The what In the realm of AI security governance, the foundational step is conducting a comprehensive inventory of all AI systems, algorithms, and data sources within your organization. This includes meticulously cataloging all AI technologies in use, ranging from machine learning models and natural language processing algorithms to computer vision systems. This would also involve identifying the data sources feeding these AI systems, and their origins (internal databases, customer interactions, or third-party data providers). Such an inventory provides three main benefits: to gain a holistic understanding of the AI ecosystem within the organization to establish a strong basis for monitoring, auditing, and managing these assets effectively to focus security efforts on the high-risk/critical areas How to develop a security risk management program A robust security risk management program is at the core of responsible AI security governance. The critical building blocks for this program are the what and the why we discussed earlier. Specificities of AI make security risk management more complex. In the NIST AI RMF mentioned earlier, numerous challenges are highlighted, including: Difficult to measure AI-related security risks Potential security risks could emerge from the AI model, the software on which you are training the model, or the data ingested by the model. Different stages of the AI lifecycle might also trigger specific security risks depending on which actors (producers, developers, or consumers) are leveraging the AI solution. Risk tolerance threshold might be complex to determine As the potential security risks aren’t easily identifiable, determining the risk tolerance your organization can withstand regarding AI can be a very empirical exercise. Not considering AI in isolation Security governance of AI systems should be part of your security risk management strategy. Different users might have different parts of the overall picture. Ensuring you have complete information and full visibility into the AI lifecycle is critical to making the best decisions. Security risk management should be an ongoing process, adapting to the quickly evolving AI landscape. Reassessing the program, reviewing assumptions regarding the environment and involving additional business stakeholders are activities that should be happening on a regular basis. AI security governance and the GitLab DevSecOps platform Using AI to power DevSecOps Let’s take GitLab Duo, our suite of AI capabilities to help power DevSecOps workflows, as an example. GitLab Duo Code Suggestions helps developers write code more efficiently by using generative AI to assist in software engineering tasks. It works either through code completion or through code generation using natural language code comment blocks. To ensure it can be fully leveraged, security needs of potential users and customers have to be considered. As an example, data used to produce Code Suggestions is immediately discarded by the AI models. All of GitLab’s AI providers are subject to contractual terms with GitLab that prohibit the use of customer content for the provider’s own purposes, except to perform their independent legal obligations. GitLab’s own privacy policy prevents us from using customer data to train models without customer consent. Of course, to fully benefit from Code Suggestions, you should: understand and review all suggestions to see if they align with your development guidelines limit providing sensitive information or proprietary code in prompts ensure the suggestion follows the same secure coding guidelines your company has review the code using automated scanning for vulnerable dependencies, input validation and output sanitization, as well as license checks Securing AI Managing the output of AI systems is equally important as managing the input. Security scanning tools can help identify vulnerabilities and potential threats in AI-generated code. Managing AI output requires a systematic approach to code review and validation. Organizations should integrate security scanning tools into their CI/CD pipelines, ensuring that AI-generated code is checked for security vulnerabilities before deployment. Automated security checks can help detect vulnerabilities early in the development process, reducing the risk of potential vulnerable code stemming from suggested code blocks being merged. For any GitLab Duo generated code, changes are managed via merge requests which trigger your CI pipeline (including any security and code quality scanning you have configured). This ensures any governance rules you have set up for your merge requests like required approvals are enforced. AI systems are systems. Existing security controls apply to AI systems the same way they would apply to the rest of your environment. Common security controls around application security still apply, including security reviews, security scanning, threat modeling, encryption, etc. The Google Secure AI Framework highlights these six elements: expand strong security foundations to the AI ecosystem extend detection and response to bring AI into an organization’s threat universe automate defenses to keep pace with existing and new threats harmonize platform-level controls to ensure consistent security across the organization adapt controls to adjust mitigations and create faster feedback loops for AI deployment contextualize AI system risks in surrounding business processes If you have a strong security program, managing AI will be an extension of your current program and account for specific risks and vulnerabilities. How GitLab Duo is secured GitLab recognizes the significance of security in AI governance. Our very strong security program is focused on ensuring our customers can fully leverage GitLab Duo in a secure manner. This is how the security departments are collaborating to secure GitLab’s AI features GitLab: Security Assurance: Seeks to address our compliance requirements regarding security, that AI security risks are identified and properly managed, and that our customers understand how we secure our application, infrastructure, and services. Security Operations: Monitors our infrastructure and quickly responds to threats using a team of skilled engineers as well as automation capabilities, helping to ensure AI features aren’t abused or used in a malevolent manner. Product Security: Helps the product and engineering teams by providing security expertise for our AI features and helping to secure the underlying infrastructure on which our product is hosted. Corporate Security and IT Operations: Finds potential vulnerabilities in our product to proactively mitigate and support other departments by performing research on relevant security areas. Our Security team works closely with GitLab's Legal and Corporate Affairs team to ensure our framework for AI security governance is comprehensive. The recent launch of the GitLab AI Transparency Center showcases our commitment to implementing a strong AI governance. We published our AI ethics principles as well as our AI continuity plan to demonstrate our AI resiliency. Learn more AI security governance is a complex area, especially as the field is in a nascent form. As AI continues to support our workflows and accelerate our processes, responsible AI security governance becomes a key pillar of any security program. By understanding the nuances of AI, enhancing your risk management program, and using AI features that are developed responsibly, you can ensure that AI-powered workflows follow the principles of security, privacy, and trust. Learn more about GitLab Duo AI features.

人工智能(AI)是数字转型的支柱,提高效率并提供大数据访问。本文探讨了AI安全治理的复杂领域,以确保负责任的AI技术发展。

A developer's guide to building an AI security governance framework
相关推荐 去reddit讨论

A short guide to mastering keyboard shortcuts on GitHub

原文英文,约700词,阅读约需3分钟。发表于:

Say goodbye to constant mouse clicking and hello to seamless navigation with GitHub shortcuts. The post A short guide to mastering keyboard shortcuts on GitHub appeared first on The GitHub Blog.

本文介绍了GitHub的键盘快捷键,以及如何使用它们来快速导航和执行操作。通过键入“?”可以访问快捷键,并可以根据个人偏好自定义快捷键体验。文章列举了一些常用的快捷键,包括导航、仓库导航、问题和拉取请求、搜索、通知、创建和提交、安全等方面。同时提到了GitHub Actions,一个集成的自动化和CI/CD服务,可以进一步提高GitHub上的生产力。

A short guide to mastering keyboard shortcuts on GitHub
相关推荐 去reddit讨论

How to Improve Database Performance: The Ultimate Guide

原文英文,约2400词,阅读约需9分钟。发表于:

Welcome to the ultimate guide on how to boost your database performance! We’ve designed it to help you understand and improve the performance of your databases, regardless of your level of experience as a DBA or whether you manage databases for a small or large company.We’ll cover a number of very important topics, such as […]

这篇文章是关于提升数据库性能的终极指南,介绍了数据库性能的重要性和影响,以及优化SQL查询、索引策略、数据库调优和配置、定期维护和数据清理、灾难恢复和高可用性、扩展策略等方面的专家建议。文章还提到了Percona提供的数据库性能优化服务和支持解决方案。

How to Improve Database Performance: The Ultimate Guide
相关推荐 去reddit讨论

A Guide to Better Understanding MySQL Charset Levels

原文英文,约4100词,阅读约需15分钟。发表于:

We usually receive and see some questions regarding the charset levels in MySQL, especially after the deprecation of utf8mb3 and the new default uf8mb4. If you understand how the charset works on MySQL but have some questions regarding this change, please check out Migrating to utf8mb4: Things to Consider by Sveta Smirnova.Some of the questions […]

本文讨论了MySQL中字符集级别的问题,包括服务器、数据库、表和列之间的关系。修改字符集的注意事项包括不改变已创建对象的默认字符集,以及修改列字符集会强制进行数据转换。还提到了客户端字符集和连接字符集的相关参数。

A Guide to Better Understanding MySQL Charset Levels
相关推荐 去reddit讨论

A guide to the high-impact breaking changes in GitLab 17.0

原文英文,约600词,阅读约需2分钟。发表于:

GitLab 17.0 is coming on May 16. This version, a major release, will include many exciting improvements to GitLab, but also removes some deprecated features. Visit the Deprecations page to see what is scheduled for removal in 17.0 and keep reading for an overview of the highest impact removals. Additionally, this year we are introducing three windows during which we expect breaking changes to be enabled on GitLab.com: 2024-04-22 09:00 UTC to 2024-04-24 22:00 UTC 2024-04-29 09:00 UTC to 2024-05-01 22:00 UTC 2024-05-06 09:00 UTC to 2024-05-08 22:00 UTC Note: Some breaking changes may fall slightly outside of these windows in exceptional circumstances. Update: We have created a public issue with more details about which changes should land in which windows. High-impact breaking changes in GitLab 17.0 We have identified the following high-impact removals in 17.0. We define “high impact” as potentially disrupting critical workflows, such as continuous integration (CI), continuous deployment (CD), compliance, or the availability of the instance. That’s why we suggest you should prioritize these breaking changes first when preparing for the major release. While you can find detailed information on each breaking change in the linked documentation, we’ve provided some notes about the affected features and potential impact in this overview. Self-managed deployment Postgres 13 deprecated Impacts all self-managed customers. Failing to upgrade to Postgres 14 will break the deployment. Postgres 14 is already supported starting from GitLab 16.2.0. omniauth-azure-oauth2 gem is deprecated Impacts self-managed customers who use the omniauth-azure-oauth2 provider for authentication. Without migration to omniauth_openid_connect, users will no longer be able to sign in using the Azure login button. Min concurrency and max concurrency in Sidekiq options Impacts GitLab deployments that have sidekiq['min_concurrency'] and sidekiq['max_concurrency'] configured in their gitlab.rb. Failure to migrate will break the deployment. CI Registration tokens and server-side runner arguments in POST /api/v4/runners endpoint Impacts custom automations that provision runners. Potentially breaks CI pipelines by disabling runner provisioning. File type variable expansion fixed in downstream pipelines Impacts pipelines using downstream pipelines passing File-type variables to the downstream pipeline. Changed behavior may break the downstream pipeline due to a change in variable content. after_script keyword will run for canceled jobs Impacts pipelines using the after_script keyword. Changed behavior may break pipelines or cause unexpected pipeline results. Old versions of JSON web tokens are deprecated, HashiCorp Vault integration will no longer use CI_JOB_JWT by default, and JWT /-/jwks instance endpoint is deprecated Impacts pipelines relying on the CI_JOB_JWT or CI_JOB_JWT_V2 CI variables. The removal of the variable may break Vault integrations or otherwise cause pipelines to fail. CD The pull-based deployment features of the GitLab agent for Kubernetes is deprecated Impacts projects using the GitLab agent for Kubernetes for deployments. The change may break CD workflows relying on the GitLab agent for Kubernetes. The agent itself is not deprecated and still used for a number of features, like communicating with the cluster, its API endpoints and pushing information about events in the cluster to GitLab. Agent for Kubernetes option ca-cert-file renamed Impacts customers installing Kubernetes agents behind a self-signed certificate. The change may impact CD workflows relying on connecting Kubernetes clusters to GitLab via the agent. Package npm package uploads now occur asynchronously Impacts projects publishing npm or Yarn packages to the GitLab registry. Due to the asynchronous upload, pipelines may break that expect packages to be available as soon as they are published. Dependency Proxy: Access tokens to have additional scope checks Impacts projects using the Dependency Proxy with a group access token or personal access token that have insufficient scopes. Because tokens without the required scopes will fail, this may break pipelines by rejecting docker login and docker pull requests. Maven repository group permissions Impacts projects using the Maven repository at the group level where user permissions are not set up correctly. Because users without correct permissions will fail to access the requested packages, this change may break pipelines for those users. GitLab.com Upgrading the operating system version of GitLab SaaS runners on Linux Impacts pipelines using saas-linux-*-amd64 tagged shared runners on GitLab.com that use outdated Docker-in-Docker or Kaniko versions. The outdated versions will be unable to detect the container runtime and fail, breaking the pipeline. Deprecating Windows Server 2019 in favor of 2022 Impacts pipelines using shared-windows and windows-1809 tagged shared runners on GitLab.com. Affected jobs will not be picked up by runners, thus blocking the pipeline. You can identify affected jobs by searching for the deprecated tags in your .yml files. Removal of tags from small SaaS runners on Linux Impacts pipelines using shared runners tagged docker, east-c, gce, git-annex, linux, mongo, mysql, ruby, or shared on GitLab.com. Affected jobs will not be picked up by runners, thus blocking the pipeline. You can identify affected jobs by searching for the deprecated tags in your .yml files. Ultimate only Security policy fields newly_detected and match_on_inclusion are deprecated Impacts groups and projects that have merge request approval policies (previously: scan result policies) enabled and use the deprecated keywords. Without migration, the rules enforced by the policies will stop working, causing potential compliance violations. Required Pipeline Configuration is deprecated Impacts Ultimate self-managed customers using required pipeline configuration. Without migration, the required configuration will no longer be used by projects, impacting all pipelines that are run on the instance. Proxy-based DAST is deprecated Impacts projects that are using DAST with the variable DAST_BROWSER_SCAN set to false. Without migration, DAST scans in existing pipelines will fail. Follow the recommended changes outlined in the DAST migration guide to ensure DAST can continue scanning your applications. See all removals in GitLab 17.0 For more detailed information and to see all the removals coming up in this year's major release, please visit the Deprecations page.

GitLab 17.0将于5月16日发布,包含许多改进和删除已弃用的功能。高影响删除包括Postgres 13、omniauth-azure-oauth2 gem、Sidekiq选项中的最小和最大并发、GitLab代理的基于拉取的部署功能、Agent for Kubernetes选项ca-cert-file、Package Ultimate的安全策略字段newly_detected和match_on_inclusion、必需的Pipeline配置、基于代理的DAST。

A guide to the high-impact breaking changes in GitLab 17.0
相关推荐 去reddit讨论