CodeSampleX

Exemple

golang.org/x/term v0.0.0-20210927222741-03fcf44c2211: ReadPassword

Échantillon vérifié pour golang golang.org/x/term v0.0.0-20210927222741-03fcf44c2211: ReadPassword. Le contrat s'est exécuté sur go 1.26 · linux debian/x64 …

sha256:1750cbe5821a9a698320c3ace0303e27d414fb3dd217e81930310c6ddfeaaa6d

Ce réseau offre une seule chose : un échantillon qui compile. Il l'a exécuté dans un bac à sable et conservé le reçu signé. Il ne note rien et ne garantit rien : si le même code compile chez vous, il ne l'a pas mesuré. Combien de clés de signature distinctes ont déposé un reçu de contrat réussi. Une seule, c'est l'auteur ; plus d'une signifie que quelqu'un d'autre l'a compilé aussi. Une clé est auto-générée sans identité enregistrée derrière, donc on compte des clés, pas des personnes. MIT-0

Preuves d'exécution

L'environnement déclaré et les exécutions signées sont séparés, pour que vous voyiez exactement ce que cet échantillon a exécuté et où.

Base de preuve
Contrat signé réussi
Reçus de vérification
1
Clés de signature qui l’ont compilé
1
Environnement déclaré go 1.26 linux 24 · ubuntu · glibc 2.39 x64 go 1.26 go go 1

Environnements des exécutions de vérification

Environnement Contrat Étapes Exécution
go 1.26 · linux debian/x64 · docker ed25519:c1973797be207ac4 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1golang:1.26@sha256:e30143be198a…
2026-09-04

Cas

HOW
Objectif
verify golang.org/x/term.ReadPassword in pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211
Paquets
Symboles
  • golang.org/x/term.ReadPassword
Environnement
go 1.26.6
Créé
2026-09-04T05:28:02Z

Contrat

  1. golang.org/x/term.ReadPassword returns an error for negative or invalid file descriptors
  2. golang.org/x/term.ReadPassword returns an error for pipe file descriptors
  3. golang.org/x/term.ReadPassword returns an error for regular file descriptors
  4. golang.org/x/term.ReadPassword returns an error for closed file descriptors
  5. golang.org/x/term.ReadPassword reads password input from a terminal without echoing

Fichiers

  • PROMPT.md
  • csx.json
  • go.mod
  • go.sum
  • main.go
  • spec.json
  • test/contract.go

Télécharger l’artefact source (tar.gz)

Code source

PROMPT.md
Clean-room public code sample — generation instructions

Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.

A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.

Goal: verify golang.org/x/term.ReadPassword in pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211
Kind: HOW

Use EXACTLY these public packages and versions:
  - pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211
Demonstrate these symbols/APIs:
  - golang.org/x/term.ReadPassword

Rules:
  - One focused purpose; the smallest project that proves the goal.
  - Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
  - Pin every dependency with a lockfile so resolution is reproducible.
  - No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
  - No personal names, emails, company names, or project identifiers of any kind.
  - No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
  - Keep it under 200 files and 256KB packed.
csx.json
{"case":{"caseId":"case:sha256:ab363e42945b1717716c790865bb3c7d98ea01564bd05aac7ddcf350ab1a9ee4","contract":["golang.org/x/term.ReadPassword returns an error for negative or invalid file descriptors","golang.org/x/term.ReadPassword returns an error for pipe file descriptors","golang.org/x/term.ReadPassword returns an error for regular file descriptors","golang.org/x/term.ReadPassword returns an error for closed file descriptors","golang.org/x/term.ReadPassword reads password input from a terminal without echoing"],"goal":"verify golang.org/x/term.ReadPassword in pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211","kind":"HOW","packages":["pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211"],"schemaVersion":1,"symbols":["golang.org/x/term.ReadPassword"]},"contractCommand":["go","run","./test"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"golang","language":"go","libc":"glibc","libcVersion":"2.39","os":"linux","osVersionBucket":"24","packageManager":"go","packageManagerVersion":"1.26.6","runtime":"go","runtimeVersion":"1.26.6","schemaVersion":1},"license":"MIT-0","packages":["pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211"],"schemaVersion":1,"subject":"pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211","symbols":["golang.org/x/term.ReadPassword"],"verifierAdapter":"golang@1"}
go.mod
module example.com/sample

go 1.26.6

require golang.org/x/term v0.0.0-20210927222741-03fcf44c2211

require golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 // indirect
go.sum
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
main.go
package main

import (
	"fmt"
	"os"

	"golang.org/x/term"
)

func main() {
	fd := int(os.Stdin.Fd())
	if term.IsTerminal(fd) {
		fmt.Print("Enter password: ")
		pwd, err := term.ReadPassword(fd)
		if err != nil {
			fmt.Fprintf(os.Stderr, "Failed to read password: %v\n", err)
			os.Exit(1)
		}
		fmt.Println()
		fmt.Printf("Read %d bytes successfully\n", len(pwd))
	} else {
		_, err := term.ReadPassword(fd)
		if err != nil {
			fmt.Printf("Non-terminal file descriptor handled with expected error: %v\n", err)
		}
	}
}
spec.json
{
  "schemaVersion": 1,
  "goal": "verify golang.org/x/term.ReadPassword in pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211",
  "kind": "HOW",
  "packages": [
    "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211"
  ],
  "symbols": [
    "golang.org/x/term.ReadPassword"
  ]
}
test/contract.go
package main

import (
	"bytes"
	"fmt"
	"os"
	"syscall"
	"unsafe"

	"golang.org/x/term"
)

func openPty() (*os.File, *os.File, error) {
	ptmx, err := os.OpenFile("/dev/ptmx", os.O_RDWR|syscall.O_NOCTTY, 0)
	if err != nil {
		return nil, nil, fmt.Errorf("open /dev/ptmx: %w", err)
	}

	var unlock int = 0
	if _, _, errno := syscall.Syscall(syscall.SYS_IOCTL, ptmx.Fd(), syscall.TIOCSPTLCK, uintptr(unsafe.Pointer(&unlock))); errno != 0 {
		ptmx.Close()
		return nil, nil, fmt.Errorf("ioctl TIOCSPTLCK: %w", errno)
	}

	var ptn uint32 = 0
	if _, _, errno := syscall.Syscall(syscall.SYS_IOCTL, ptmx.Fd(), syscall.TIOCGPTN, uintptr(unsafe.Pointer(&ptn))); errno != 0 {
		ptmx.Close()
		return nil, nil, fmt.Errorf("ioctl TIOCGPTN: %w", errno)
	}

	ptsName := fmt.Sprintf("/dev/pts/%d", ptn)
	pts, err := os.OpenFile(ptsName, os.O_RDWR|syscall.O_NOCTTY, 0)
	if err != nil {
		ptmx.Close()
		return nil, nil, fmt.Errorf("open pts %s: %w", ptsName, err)
	}

	return ptmx, pts, nil
}

func main() {
	// Assertion 1: golang.org/x/term.ReadPassword returns an error for negative or invalid file descriptors
	if pass, err := term.ReadPassword(-1); err == nil {
		fmt.Fprintf(os.Stderr, "FAIL: ReadPassword(-1) succeeded unexpectedly: %q\n", pass)
		os.Exit(1)
	}

	// Assertion 2: golang.org/x/term.ReadPassword returns an error for pipe file descriptors
	r, w, err := os.Pipe()
	if err != nil {
		fmt.Fprintf(os.Stderr, "FAIL: os.Pipe failed: %v\n", err)
		os.Exit(1)
	}
	defer r.Close()
	defer w.Close()

	if pass, err := term.ReadPassword(int(r.Fd())); err == nil {
		fmt.Fprintf(os.Stderr, "FAIL: ReadPassword on pipe reader succeeded unexpectedly: %q\n", pass)
		os.Exit(1)
	}
	if pass, err := term.ReadPassword(int(w.Fd())); err == nil {
		fmt.Fprintf(os.Stderr, "FAIL: ReadPassword on pipe writer succeeded unexpectedly: %q\n", pass)
		os.Exit(1)
	}

	// Assertion 3: golang.org/x/term.ReadPassword returns an error for regular file descriptors
	tmpFile, err := os.CreateTemp("", "term-readpwd-test-*")
	if err != nil {
		fmt.Fprintf(os.Stderr, "FAIL: os.CreateTemp failed: %v\n", err)
		os.Exit(1)
	}
	defer os.Remove(tmpFile.Name())

	if pass, err := term.ReadPassword(int(tmpFile.Fd())); err == nil {
		tmpFile.Close()
		fmt.Fprintf(os.Stderr, "FAIL: ReadPassword on regular file succeeded unexpectedly: %q\n", pass)
		os.Exit(1)
	}

	// Assertion 4: golang.org/x/term.ReadPassword returns an error for closed file descriptors
	closedFd := int(tmpFile.Fd())
	if err := tmpFile.Close(); err != nil {
		fmt.Fprintf(os.Stderr, "FAIL: closing temp file: %v\n", err)
		os.Exit(1)
	}
	if pass, err := term.ReadPassword(closedFd); err == nil {
		fmt.Fprintf(os.Stderr, "FAIL: ReadPassword on closed fd succeeded unexpectedly: %q\n", pass)
		os.Exit(1)
	}

	// Assertion 5: golang.org/x/term.ReadPassword reads password input from a terminal without echoing
	ptmx, pts, err := openPty()
	if err != nil {
		fmt.Fprintf(os.Stderr, "FAIL: openPty failed: %v\n", err)
		os.Exit(1)
	}
	defer ptmx.Close()
	defer pts.Close()

	expectedPassword := []byte("secret-auth-token-42")

	go func() {
		_, _ = ptmx.Write(append(expectedPassword, '\n'))
	}()

	pass, err := term.ReadPassword(int(pts.Fd()))
	if err != nil {
		fmt.Fprintf(os.Stderr, "FAIL: ReadPassword on pty slave failed: %v\n", err)
		os.Exit(1)
	}

	if !bytes.Equal(pass, expectedPassword) {
		fmt.Fprintf(os.Stderr, "FAIL: ReadPassword returned %q, expected %q\n", pass, expectedPassword)
		os.Exit(1)
	}

	fmt.Println("PASS: golang.org/x/term.ReadPassword contract assertions passed")
}

Seeder d'origine

anonyme