跳到正文
cccskills
免费在 GitHub 公开

rseng-security

Covers securing research software and its supply chain: secrets and sensitive-file hygiene (env files, keys, credentials and the never-commit file catalog) with leak response, dependency vulnerability scanning and pinning, OpenSSF Scorecard and Best Practices badge, SLSA provenance levels, SBOMs, signed releases and repository hardening. Use PROACTIVELY when setting up CI or releases, when an API key, password, credential or token is committed or appears in code or history, when the user asks how secure their project or dependencies are, or mentions Scorecard, SLSA, SBOM, CVEs or secret scanning. For the agent itself see rseng-agent-security; for GDPR and personal-data obligations see rseng-regulatory-compliance; for sensitive-data storage practice see rseng-data-management.

中文简介正在准备中。当前显示原文说明。

fdiblen/rseng-agent-skills星标 24(GitHub 24 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(2)

  • SKILL.md8.4 KB
  • references.md587 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Security for research software

Research software is unusually exposed: long-lived unmaintained dependencies, credentials for shared clusters and data services, and code that outlives its authors. A 2025 study scoring 3,248 research repositories with OpenSSF Scorecard found an average of 3.5/10 - the gap is the norm, not the exception. Security here is mostly hygiene, not cryptography: a handful of repeatable practices prevent the common failures.

Secrets and sensitive files (the non-negotiable)

  • Never commit credentials, tokens, private keys or connection strings - not even briefly; git history is forever and forges cache aggressively.
  • Know the file catalog that never enters version control: .env and environment files, private keys and certificates (id_rsa, *.pem, *.p12), cloud and service credentials (service-account JSONs, kubeconfig, .aws/, .netrc), API token files, database dumps with real records, browser/session cookies, and instrument or license files bearing embedded keys. Some of these should not even sit in the working tree of a shared or synced project directory - a credential does not belong next to the code that uses it.
  • AI agent working directories join the catalog: .claude/, .agents/, .cursor/, .codex/, .gemini/, .github/copilot* holding local settings, and agent session records (histories, .rseng-agent-skills-* worklogs, .mcp.json with server credentials) can carry tokens, absolute paths and private prompt history. Gitignore them from day one in every generated project; team-shared agent config that IS meant to be committed (a project settings.json or instructions file) should be added back explicitly, not swept in by default.
  • Guard rails BEFORE the first secret exists: .gitignore entries for the catalog above from day one (the scaffolding template ships them - rseng-project-scaffolding), a secret scanner (gitleaks) in pre-commit and CI, and a review habit of reading git status before git add - the classic leak is git add . sweeping a stray file in.
  • Configuration via environment variables or untracked local files; document required variables in the README with dummy values, and ship a committed .env.example with placeholders instead of the real thing.
  • Personal and sensitive DATA files follow the same rule with their own escort: never committed, stored where the steward says, with synthetic samples in the repo (rseng-data-management, rseng-regulatory-compliance).
  • If a secret lands in history: revoke and rotate it FIRST (assume it is compromised the moment it is pushed), then clean history if the repository is private enough for that to matter. Rotation is the fix; history rewriting is cosmetics.
  • Sweep periodically, not just at commit time: scan the existing history and tree (gitleaks detects both) during the milestone review (rseng-code-review) - guards added today do not clear yesterday's leak.

Dependencies and the supply chain

  • Pin dependencies with lockfiles (rseng-reproducible-environments) - reproducibility and supply-chain safety are the same mechanism.
  • Turn on dependency vulnerability scanning where the forge provides it (e.g. dependabot/renovate style updates plus advisory alerts); triage rather than auto-merge on research-critical code paths.
  • Evaluate before adopting: maintenance signals, release cadence and known advisories are part of choosing a dependency (rseng-dependency-management owns the full intake vetting; rseng-software-reuse finds the candidates).
  • Generate an SBOM (software bill of materials) at release time when the project is infrastructure others depend on; it makes "are we affected by CVE X" answerable in minutes.

Assess with OpenSSF Scorecard

Scorecard runs read-only checks (branch protection, token permissions, pinned workflows, fuzzing, dangerous CI patterns...) and scores 0-10. Use it like FAIRGuard (rseng-fairguard) is used for FAIR: assess, read findings, fix what matters for the project's tier, re-run and report the delta. The OpenSSF Best Practices badge is the self-assessment counterpart worth adopting at maturity.

CI hardening basics an agent should apply by default:

  • Least-privilege CI tokens (read-only unless the job publishes).
  • Pin third-party CI actions/steps to commit SHAs, not floating tags.
  • Never echo secrets into logs; mask and scope them per job.
  • Protect the default branch: reviews required, force-push disabled (rseng-version-control-review).

Fuzzing and vulnerability response

  • Fuzzing feeds malformed inputs at scale to find crashes and memory errors; it earns its setup cost when the project contains memory-unsafe code (C/C++/Fortran extensions are common in research stacks) or parses untrusted input. OSS-Fuzz runs it continuously for accepted open source projects; language-level fuzzers work in CI for smaller scopes. For pure high-level code, property-based testing delivers the same input-hostility cheaper (rseng-testing).
  • Have a response path before the first report: a security contact (SECURITY.md), triage of reported or scanner-found vulnerabilities by severity, fixes for critical ones promptly released and noted in the changelog (rseng-publishing-releasing) - "no known critical vulnerabilities outstanding" is an explicit quality indicator, and it is about response speed, not perfection.

Provenance and releases

SLSA levels describe how trustworthy a build is (source-verified, build-service, provenance-attested). Practical staircase for research software: reproducible scripted builds, then CI-only releases with provenance attestation, then signed artifacts. Publishing through a registry with provenance support (rseng-publishing-releasing) gets much of this for free.

Compliance context

Funders increasingly mandate research-security practices (US agencies made security training mandatory in 2025). When an institutional policy exists, implement it rather than improvising; sensitive-data handling questions route to the data steward (rseng-data-management).

Acting on findings

Route fixes to the matching skill: CI changes (rseng-ci-cd), release process (rseng-publishing-releasing), dependency updates (rseng-dependency-management for the update regime, rseng-maintenance-sustainability for cadence), review rules (rseng-version-control-review). Record AI-assisted security work in aidecl.yaml (rseng-ai-declaration) - provenance matters most exactly here.

Working with this skill

This skill is source-independent: its authority is the OpenSSF and SLSA documentation and the research-software security literature linked below.

Learn more (verified):

<!-- related-skills:begin -->

Related skills

Check whether any of these applies before moving on:

  • rseng-agent-security - least-privilege applied to the agent
  • rseng-ci-cd - hardening CI tokens and workflows
  • rseng-dependency-management - vetting and updating dependencies
  • rseng-publishing-releasing - signed releases, SBOMs, provenance
  • rseng-regulatory-compliance - personal data raises legal duties
  • rseng-reproducible-environments - lockfiles pin the supply chain
<!-- related-skills:end -->

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Covers operating AI coding agents securely: auditing whether the agent runs sandboxed, permission and dangerous-command configuration, containerized environments, secrets kept out of context, network egress and token privileges, prompt-injection risk, and the privacy of agent use itself. Use PROACTIVELY when permission gating is broadly disabled (skip-permissions modes), when secrets are visible to the agent's shell, or when the agent processes untrusted code, issues or web content; when a project holds personal or confidential data while a cloud agent is active (what leaves the machine, retention, training use), or when the user asks how to run coding agents safely or privately. (Supply-chain security: rseng-security; disclosing agent contributions: rseng-ai-declaration.)

中文简介正在准备中。当前显示原文说明。

fdiblen/rseng-agent-skills242026年9月23日 更新

Covers declaring AI involvement with the AI Declaration Format (https://ai-declaration.org): creating and maintaining an aidecl.yaml that records which AI tools and agents were used, what each contributed, when and how much, plus the README disclosure footnote, JSON/JSON-LD export and CI validation. Machine-readable disclosure is the practice; this format is one implementation. Use PROACTIVELY when an AI assistant or agent creates or modifies a project's content - generate aidecl.yaml if missing, update it after AI-assisted changes. Also use when the user asks about AI transparency, provenance, disclosure or EU AI Act disclosure, wants to state that NO AI was used, or mentions aidecl. For concealment requests see rseng-honesty; for the human review duty see rseng-human-verification.

中文简介正在准备中。当前显示原文说明。

fdiblen/rseng-agent-skills242026年9月23日 更新

Covers long-term archiving of research software and data: Software Heritage save requests and SWHID persistent identifiers, Zenodo deposits with versioned DOIs and forge integration, choosing domain and institutional repositories, deciding what to archive (code, data, environments, documentation) and when, and archiving at project retirement. Use when the user wants software or data preserved beyond the life of a forge account, grant or lab, mentions Software Heritage, SWHIDs, Zenodo deposits or archiving, retires or hands over a project, prepares artifacts that must stay resolvable for a paper, or when funder policy requires long-term preservation. (Cutting the release itself is rseng-publishing-releasing; day-to-day data storage and repository choice is rseng-data-management.)

中文简介正在准备中。当前显示原文说明。

fdiblen/rseng-agent-skills242026年9月23日 更新

Covers processing research data that outgrows one machine's memory: out-of-core and chunked computation, Dask for scaling the scientific Python stack, Spark for distributed tabular pipelines, lazy evaluation, partitioning strategies, idempotent and restartable batch jobs, and knowing when NOT to distribute. Use when datasets no longer fit in memory, when the user mentions Dask, Spark, out-of-core or larger-than-memory data, when a pandas/NumPy workflow hits memory limits, or when designing batch pipelines over many files. (Cluster job submission and job arrays are rseng-hpc-computing; pipeline orchestration engines are rseng-workflows; profile first with rseng-performance-profiling.)

中文简介正在准备中。当前显示原文说明。

fdiblen/rseng-agent-skills242026年9月23日 更新

Covers continuous integration and delivery for research software: CI/CD concepts, automating builds and tests with GitHub Actions and GitLab CI/CD, and wiring an organization's GitLab CI infrastructure to a GitHub-hosted project. Use when the user asks to set up CI, write a pipeline or workflow file (.github/workflows, .gitlab-ci.yml), add automated builds/tests on push or pull request, publish a package or deploy docs when a tag or release is cut, cache dependencies to speed up CI runs, choose between GitHub Actions and GitLab CI, use self-hosted or GPU runners, mirror a repo, or report external CI status back to GitHub. For what to test and shrinking a test matrix see rseng-testing; for linter and pre-commit policy see rseng-code-quality.

中文简介正在准备中。当前显示原文说明。

fdiblen/rseng-agent-skills242026年9月23日 更新

Covers verifying that every citation is real, correct and current: checking references in manuscripts, READMEs, references files and code metadata against Crossref and OpenAlex, screening cited DOIs against the Retraction Watch database, catching fabricated or mis-attributed citations (a documented AI failure mode), and keeping bibliographies and CITATION.cff files resolvable. Use PROACTIVELY before any bibliography, reference list or citation metadata is finalized or published, whenever the agent itself has produced citations, and when the user asks to check references, mentions broken DOIs, retracted papers or citation verification, or prepares a manuscript, README or software paper with references. (Making your own software citable is rseng-citation-metadata.)

中文简介正在准备中。当前显示原文说明。

fdiblen/rseng-agent-skills242026年9月23日 更新

查看 fdiblen 的全部技能

报告此技能的问题